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