-
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)