【Kubernetes】 【K3D】EC2セーフ上でk3dをインストールしてサービス起動チェックまで

Dockerが動いていれば、Macでもいける模様
yum -y install docker
systemctl start docker
curl -s https://raw.githubusercontent.com/rancher/k3d/master/install.
sh | バッシュ
curl -LO https://storage.googleapis.com/kubernetes-release/release/
`curl -s https://storage.googleapis.com/kubernetes-release/release/
stable.txt`/bin/linux/amd64/ kubectl
chmod + x ./kubectl
sudo mv ./kubectl / usr / local / bin / kubectl
kubectlのバージョン
k3d作成
KUBECONFIG = $(k3d get-kubeconfig)をエクスポート
kubectl get pods --all-namespaces
k3d削除
apiVersion : 拡張/ v1beta1
種類: 展開の
メタデータ:
名前: nginxの
スペック:
レプリカ: 1つの
テンプレート:
メタデータ:
ラベル:
アプリ: nginxの
仕様:
コンテナ:
- 名前: nginxの
画像: nginxの:1.7.5
ポート:
- containerPort : 80
kubectl apply -f nginx-deployment.yaml
kubectlがdeployment / nginx --type = "NodePort" --port 80を公開します
kubectl get service
[root @ ip-172-31-47-223〜]#curl -i http:// localhost:30757
curl:(7)localhostポート30757への接続に失敗:接続が拒否されました
公式ドキュメントをみるとIngressとNodePortでの展開方法が説明されている
k3d create --api-port 6550 --publish 8081:80 --workers 2
エクスポートKUBECONFIG = "$(k3d get-kubeconfig --name = 'k3s-default')"
kubectl create deployment nginx --image = nginx
kubectl create service clusterip nginx --tcp = 80:80
apiVersion : 拡張/ v1beta1
種類: イングレスの
メタデータ:
名前: nginxの
注釈:
ingress.kubernetes.io/ssl-redirect : " 偽"
スペック:
ルール:
- のhttp :
パス:
- パス: /
バックエンド:
serviceNameは: nginxの
SERVICEPORT : 80
kubectl apply -f nginx-ingress.yaml
curl localhost:8081 /
k3d削除
NodePortのPortへ直接アクセスしても接続できない。
下のコマンドの場合、NodePortのポートをローカルのポートと紐づけてあげるということをしているみたい。よくよく考えてみると、ローカル
ではなくDocker上で動作をしているので、このような操作が必要なのかも。
k3d create --publish 8082:30080 @ k3d-k3s-default-worker-0 --workers 2
dockerコンテナの数は3つで、デフォルトサーバ1つとワーカー2つ
[root @ ip-172-31-47-223〜]#docker ps
コンテナーIDイメージコマンド作成されたステータスポート名
da228d6d1786 rancher / k3s:v0.7.0 "/ bin / k3s agent"
23分前アップ23分k3d-k3s-default-worker-1
b68c0032047f rancher / k3s:v0.7.0 "/ bin / k3s agent"
23分前に23分前0.0.0.0:8082->30080/tcp k3d-k3s-default-worker-0
f2209b7494ea rancher / k3s:v0.7.0 "/ bin / k3s server --h…"
23分前に23分0.0.0.0:6443->6443/tcp k3d-k3s-default-server
エクスポートKUBECONFIG = "$(k3d get-kubeconfig --name = 'k3s-default')"
kubectl create deployment nginx --image = nginx
apiVersion : v1
種類: サービス
メタデータ:
ラベル:
app : nginx
名前: nginx
仕様:
ポート:
- 名前: 80-80
nodePort : 30080
ポート: 80
プロトコル: TCP
targetPort : 80
セレクター:
app : nginx
タイプ: NodePort
kubectl apply -f nginx-nodeport.yaml
curl localhost:8082 /
k3s削除