Kubectlの基本①
Kubectlは、Kubernetesクラスターに対してコマンドを実行するためのコマンドラインインターフェイスです。
構文
kubectl [command] [TYPE] [NAME] -o <output_format>
単一のポッドの詳細をYAML形式のオブジェクトとして出力
kubectl get pod pod-2019-08-07 -o yaml
kubectl get
-1つ以上のリソースをリストします。
kubectl get pods
kubectl get pods -o wide
kubectl describe
-1つ以上のリソースの詳細な状態を表示します。
kubectl describe nodes <node-name>
kubectl describe pods/<pod-name>
kubectl exec
-ポッド内のコンテナーに対してコマンドを実行します。
kubectl exec <pod-name> date
kubectl exec <pod-name> -c <container-name> date
kubectl logs
-ポッド内のコンテナーのログを印刷します。
kubectl logs <pod-name>
kubectl logs -f <pod-name>
--------------------------------------------
--------------------------------------------
https://kubernetes.io/docs/tutorials/hello-minikube/
■Minikubeクラスターを作成する
ターミナルを起動し、ブラウザ上でkubectlを起動する
kubectl create
コマンドを使用して、ポッドを管理するデプロイメントを作成します。
kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node
出力:
deployment.apps/hello-node created
展開を表示します。
kubectl get deployments
出力:
NAME READY UP-TO-DATE AVAILABLE AGE
hello-node 1/1 1 1 55s
ポッドを表示します。
kubectl get pods
出力:
NAME READY STATUS RESTARTS AGE
hello-node-55b49fb9f8-g577z 1/1 Running 0 8m17s
■サービスを作成する
作成する前のサービスを表示します。
kubectl get services
出力:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 6m40s
kubectl expose
次のコマンドを使用して、ポッドをパブリックインターネットに公開します。
kubectl expose deployment hello-node --type=LoadBalancer --port=8080
作成したサービスを表示します。
kubectl get services
出力:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-node LoadBalancer 10.102.123.144 <pending> 8080:32543/TCP 5s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 6m40s