-
Kubernetes のバージョンを確認
bash kubectl version --client kubectl version --short kubectl get nodes -o wide
-
Pod / Service の稼働状況を確認
bash kubectl get pod,svc --all-namespaces -o wide kubectl get pod,svc -A -o wide
-
Pod の詳細情報を確認
bash kubectl describe pod <pod_name> -n <namespace>
-
Pod / Container に接続
bash kubectl exec -it <pod_name> -c <container_name> -- /bin/bash
-
Pod を削除
bash kubectl delete pod <pod_name>
-
起動に失敗した Pod を削除
bash kubectl delete pod --field-selector=status.phase=Failed
-
Service の状態を確認
bash kubectl get svc <service_name>
-
Service の詳細情報を確認
bash kubectl describe svc <service_name>
-
Service を削除
bash kubectl delete svc <service_name>
-
Deployment を作成
bash kubectl create deployment <deployment_name> --image=<image_name> --replicas=2
-
リソースを外部に公開するための Service を作成
bash kubectl expose deployment <deployment_name> --type=NodePort --port=80
-
Deployment を削除
bash kubectl delete deployment <deployment_name>
-
Deployment を確認
bash kubectl get deployment -n <namespace> kubectl get deployment -A
-
ログを確認
bash kubectl logs <pod_name> -n <namespace>
-
イベントを確認
bash kubectl get events
-
証明書(トークン)を作成
bash sudo kubeadm token create --print-join-command
-
証明書(トークン)を確認
bash sudo kubeadm token list
-
証明書(トークン)を更新
bash sudo kubeadm init phase upload-certs --upload-certs
-
ノードの taint を抽出
bash kubectl describe nodes <node_name> | grep -i taint
-
コントロールプレーンの taint を無効化
bash kubectl taint nodes <node_name> node-role.kubernetes.io/control-plane:NoSchedule-
-
コントロールプレーンの taint を有効化
bash kubectl taint nodes <node_name> node-role.kubernetes.io/control-plane:NoSchedule
-
クラスターをリセット
bash kubectl delete pods --all kubectl delete services --all kubectl drain <node_name> --delete-local-data --force --ignore-daemonsets kubectl delete node <node_name> sudo kubeadm reset sudo systemctl stop containerd sudo rm -rf /var/lib/containerd sudo systemctl start containerd
-
マスターノードへの接続情報をリセットする場合
bash sudo kubeadm reset sudo rm -rf $HOME/.kube sudo systemctl stop containerd sudo rm -rf /var/lib/containerd sudo iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F && sudo iptables -X sudo systemctl start containerd.service
-
コンテナランタイム環境の確認
bash kubectl get runtimeclasses
-
コンテナにファイルをコピー
bash kubectl cp <file_path> <pod_name>/<container_name>:<dir_name>
-
サービスアカウントを作成
bash kubectl create serviceaccount <service_account_name> -n <namespace>
-
サービスアカウントを確認
bash kubectl get serviceaccounts -n <namespace> kubectl get serviceaccounts -n <namespace> -o yaml
-
サービスアカウントを削除
bash kubectl delete serviceaccount <service_account_name> -n <namespace>
-
サービスアカウントに管理者権限を付与
bash kubectl create clusterrolebinding <service_account_name> \ --clusterrole=cluster-admin \ --serviceaccount=<namespace>:<service_account_name>
-
サービスアカウントのシークレットトークンを生成
bash kubectl create token <service_account_name> -n <namespace>
-
サービスアカウントのシークレットトークンを取得
bash kubectl get secrets -n <namespace> | grep <service_account_name> kubectl describe secret <secret_name> -n <namespace>
-
シークレットトークンを削除
bash kubectl delete secret <secret_name> -n <namespace>
-
Cluster Role Binding を確認
bash kubectl get clusterrolebinding <service_account_name> -o yaml
-
Cluster Role Binding を削除
bash kubectl delete clusterrolebinding <service_account_name>
-
ラベルの付与状況を確認
bash kubectl get nodes --show-labels kubectl label nodes <node_name> <label_key>=<label_value>
-
ServiceMonitor を確認
bash kubectl get servicemonitor -n <namespace>
-
Ingress を確認
bash kubectl get ingress -n <namespace>
-
ConfigMap を確認
bash kubectl get configmap -n <namespace>
-
不要なイメージを削除
bash sudo crictl rmi $(sudo crictl images -q)