イカの展開🦑 RPI 4 B上のK 3 Sで
5652 ワード
K 3 Sとは
K 3 Sは、インストールするのが簡単で、ランチャーによって100 MBの下で一つのバイナリである軽量Kubernetesです.人はもっと読むことができるhere .
K 3 Sのインストール?
K 3 SはSystemdやOpenRCベースのシステムでサービスとしてインストールする便利な方法です.このスクリプトはhttps://get.k3s.io . このメソッドを使用してk 3 sをインストールするには、次のコマンドを実行します.
curl -sfL https://get.k3s.io | sh -
インストール後なぜSQUID?
よく、私はかなりの時間のために私のラズベリーパイ2 BにSQUIDプロキシを使用していました、そして、私は本当にKubernetesで私の手を汚くしたかったです.
イカは何ですか。
からのArchWiki SQUIDは、HTTP、HTTPSとFTPのためのキャッシュプロキシです.
始めましょう
私は私のラズベリーパイのためにイカプロキシコンテナを見つけることができなかったので、私は私自身のコンテナファイルを取り出しなければなりませんでした.
< div >
現在、我々はこのタグを使ってこのイメージを構築することができます.これは、アプリケーションに新しい変更をロールバックしたい場合に重要です.最新のフラグを持っているのは、あなたの展開においてバージョンタグを持つのが良いことです.br/>
<> P >
クラスをハイライト表示する
podman build squid-proxy:v1 .
< div >問題は今どのように私はKubernetesは私が構築したこのイメージを認識する取得ですか?それはDockerハブにありません.私は、これもDockerハブにもこれを展開することができました、しかし、私は代わりにDockerレジストリコンテナを紡ぎませんでしたbr/>
<> P >
クラスをハイライト表示する
podman run -d -p 5000:5000 --restart on-failure --name registry registry:2
< div >それから私は次の< br/>を走らせた
<> P >
クラスをハイライト表示する
podman build -t localhost:5000/squid-proxy:v1 .
podman push --tls-verify=false localhost:5000/squid-proxy:v1
< div ><ノート>
--tls-verify=false
TLSがなくて、イメージプッシュが失敗するので、これは必要です.p >イカの展開🦑 Kubernetesに
私はまだKubernetesにかなり新しいです、Kubernetesの基本単位はポッドです、ポッドはそれの中に複数の容器を持つことができる何かです.私が直接ポッドの中でこれを展開することができる間、私はKubernetesが配備ファイルを通して私のためにそれをするでしょうp >
Kerbernetesがどのように動作しているかについての概要を見たいなら、< http ://www . linux . com/>
このようにして、SQUIDをKubernetesに配備するロードバランササービスと配備を作成しました.p >
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/afro-coder/809384996d03e69917620ad769a123b5.js?file=squid-展開.YAML//>
< div >
私はまだYAMLのすべてのフィールドを共有するドキュメントを見つけていませんが、これはイメージが展開される方法です
<> P >
クラスをハイライト表示する
spec:
volumes:
- name: log-dir
emptyDir: {}
containers:
- name: squid
image: localhost:5000/squid-proxy:v2
#imagePullPolicy: Never
ports:
- containerPort: 3128
volumeMounts:
- name: log-dir
mountPath: "/var/log/squid"
- name: tailer
image: busybox
command:
- "/bin/sh"
- "-c"
args:
- tail -F /var/log/squid/access.log
volumeMounts:
- name: log-dir
mountPath: "/var/log/squid"
< div >< p >ある
volume
squidがログを送信しないので、両方のコンテナに共通のフォルダSTDOUT
これを実行するには、単に< br/>を実行できます
<> P >
クラスをハイライト表示する
$ kubectl apply -f squid-deployment.yml
deployment.apps/squid-dployment unchanged
service/squid-service unchanged
< div >< tt >サービスを展開し、配備はPOD < br/>を作成します.
<> P >
クラスをハイライト表示する
$ kubectl get service
$ kubectl get service
< div ><出力> < br/>
<> P >
クラスをハイライト表示する
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 48d
squid-service LoadBalancer 10.43.114.127 192.168.31.151 3128:32729/TCP 3d14h
< div ><展開>
<> P >
クラスをハイライト表示する
$ kubectl get deploy
$ kubectl get deployment
< div >以下で< br/>を表示します.
<> P >
クラスをハイライト表示する
NAME READY UP-TO-DATE AVAILABLE AGE
squid-deployment 1/1 1 1 7d19h
< div >最後にポッドを手に入れることですbr/>
<> P >
クラスをハイライト表示する
$ kubectl get po OR kubectl get pods
NAME READY STATUS RESTARTS AGE
squid-dployment-86bfc8d664-swwzj 2/2 Running 0 4d14h
svclb-squid-service-54nrc 1/1 Running 0 4d1h
< div >すべてが起動して実行されると、curlヘッダに次のように表示できますbr/>
< tt >ログを見て以下のようにします.br/>
<> P >
クラスをハイライト表示する
kubectl logs service/squid-service -c tailer -f
< div >それが全部です.p >
これは、私がどんな間違いをしたか、どんな変化も提案したいと思っているならば、Kubernetesを使っている単純で簡単な配備です、そして、下記のコメントとlt ;3
Reference
この問題について(イカの展開🦑 RPI 4 B上のK 3 Sで), 我々は、より多くの情報をここで見つけました https://dev.to/mediocredevops/deploying-squid-in-k3s-on-a-rpi4b-1nicテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol