内容
よく使うコマンドメモです
たぶんこれ知っていれば一通りいじれるのでは
リソースをデプロイ
DeploymentリソースもServiceリソースも同じコマンド
create だと最初の一回だけ、 apply だとリソースファイルを修正後に動的に変更もできる
kubectl apply -f ./nginx-deployment.yml
Podの状態確認
Pod状態を確認するのでとても重要
kubectl get pod
Service状態確認
ネットワーク疎通のための情報を確認するために重要
kubectl get service
Podの詳細情報を確認
runnnigにならない時は、とりあえずdescribeでチェック
kubectl describe pod nginx
Podの状態を動的に見ることができる
コンテナイメージをダウンロードしてくる処理がある場合、結構時間かかったりするので、watchしておきたい
kubectl get pod --watch
Deployment状態確認
Deploymentをデプロイしていると、Podを消しても自己再生します
kubectl get deployment
PersistentVolume状態確認
共有ディレクトリや恒久的なファイル置き場として作成することがある
kubectl get pv
PersistentVolumeClaim状態確認
Podは、直接PersistentVolumeは見に行かず、こちらのPersistentVolumeClaimを参照する
describeでVolume系のエラーが出ていたらとりあえずチェック
kubectl get pvc
DNSなどKubernetes本体のリソース情報を確認
オプションなしでのデプロイだとdefaultのNamespaceにデプロイされる
Kubernetes関連リソースは kube-system でデプロイされる
kubectl get service --all-namespaces
DNS状態確認
一時的に使い捨てPodを起動して、名前解決を行わせることで、DNSが動作しているかチェック
kubectl run --image=centos:6 --restart=Never --rm -i testpod --
nslookup google.com
リソース削除
Deployment,Service,PersistentVolumeなど全て同じ構文で消せます
消えない時は、とりあえず--forceオプションをつけます
kubectl delete pod
Podへログイン
ログを見たり、yamlに書いてあることを直接実行して切り分けをしたり
kubectl exec -it nginx /bin/bash
イメージを指定してPodを起動
runオプションで起動します。Dockerと一緒
kubectl run -i centos7 --image=centos7
タブ補完
.bashrcに追記しておきます
source <(kubectl completion bash)
