基础指令-查询类
# 查看集群节点状态
kubectl get nodes
# 查看所有命名空间
kubectl get namespaces
# 查看所有 pod 的状态
kubectl get pods --all-namespaces
# 查看指定命名空间的 pod 状态
kubectl get pods -n <NAMESPACE>
# 查看所有服务
kubectl get services --all-namespaces
# 查看指定命名空间的服务
kubectl get services -n <NAMESPACE>
# 查看所有部署
kubectl get deployments --all-namespaces
# 查看指定命名空间的部署
kubectl get deployments -n <NAMESPACE>
# 查看集群信息
kubectl cluster-info
# 查看特定节点的详细信息,NODE_NAME指主机名
kubectl describe node <NODE_NAME>
# 查看特定 pod 的详细信息,POD_NAMEL可通过kubectl get pods --all-namespaces中的name获取
kubectl describe pod <POD_NAME> -n <NAMESPACE>
# 查看特定服务的详细信息
kubectl describe service <SERVICE_NAME> -n <NAMESPACE>
# 查看特定部署的详细信息
kubectl describe deployment <DEPLOYMENT_NAME> -n <NAMESPACE>
# 查看 pod 的日志
kubectl logs <POD_NAME> -n <NAMESPACE>
# 查看所有事件
kubectl get events --all-namespaces
# 查询集群资源使用情况
kubectl top nodes
kubectl top pods -n <NAMESPACE>
基础指令-操作类
# 创建命名空间
kubectl create namespace <NAMESPACE>
# 删除命名空间
kubectl delete namespace <NAMESPACE>
# 创建部署
kubectl apply -f <DEPLOYMENT_FILE>.yaml
# 更新部署
kubectl apply -f <DEPLOYMENT_FILE>.yaml
# 删除部署
kubectl delete deployment <DEPLOYMENT_NAME> -n <NAMESPACE>
# 创建服务
kubectl expose deployment <DEPLOYMENT_NAME> --type=LoadBalancer --name=<SERVICE_NAME> -n <NAMESPACE>
# 删除服务
kubectl delete service <SERVICE_NAME> -n <NAMESPACE>
# 进入某个 Pod 的终端
kubectl exec -it <POD_NAME> -- /bin/bash
# 更新容器镜像
kubectl set image deployment/<DEPLOYMENT_NAME> <CONTAINER_NAME>=<IMAGE>
# 批量更新所有 Pod
kubectl rollout restart deployment <DEPLOYMENT_NAME> -n <NAMESPACE>
# 删除 Pod
kubectl delete pod <POD_NAME> -n <NAMESPACE>
# 删除所有 Pods (在指定命名空间中)
kubectl delete pods --all -n <NAMESPACE>
集群管理指令
生成新的加入令牌(用于新节点加入)
#默认24H有效期
kubeadm token create --print-join-command
#永久token
kubeadm token create --ttl 0 --print-join-command
将节点加入 Kubernetes 集群
#使用默认容器运行时
kubeadm join <API_SERVER_IP>:<PORT> --token <TOKEN> --discovery-token-ca-cert-hash <CA_CERT_HASH>
#指定使用 cri-dockerd 作为容器运行时
kubeadm join <API_SERVER_IP>:<PORT> --token <TOKEN> --discovery-token-ca-cert-hash <CA_CERT_HASH> --cri-socket unix:///var/run/cri-dockerd.sock
#示例:
kubeadm join 192.168.1.1:6443 --token vlde23.5lzbgi3lhjvmvxmz --discovery-token-ca-cert-hash sha256:0d24b2e3de1f4e42e2016a219e5b55da7ff32e77eb191ff1e04195dfc6215dcb --cri-socket unix:///var/run/cri-dockerd.sock
#关键参数:
#<API_SERVER_IP>:<PORT>:Kubernetes API 服务器地址和端口
#<TOKEN>:用于身份验证的令牌
#<CA_CERT_HASH>:API 服务器的 CA 证书哈希
#--cri-socket unix:///var/run/cri-dockerd.sock:指定使用 cri-dockerd 作为容器运行时