一、基础命令
-
查看集群信息
bash
kubectl cluster-info # 显示集群端点和服务信息 -
查看节点
bash
kubectl get nodes # 列出所有节点 kubectl describe node <node-name> # 查看节点详细信息 -
查看命名空间
bash
kubectl get namespaces # 列出所有命名空间 -
切换命名空间
bash
kubectl config set-context --current --namespace=<namespace-name>
二、资源操作(Pod、Deployment、Service 等)
-
查看资源
bash
kubectl get pods # 列出所有Pod kubectl get deployments # 列出所有Deployment kubectl get services # 列出所有Service kubectl get all # 列出所有类型的资源 # 常用选项: -o wide # 显示更多信息 -n <namespace> # 指定命名空间 --watch # 实时监控资源变化 -
创建资源
bash
kubectl apply -f <filename.yaml> # 从YAML文件创建资源 -
删除资源
bash
kubectl delete -f <filename.yaml> # 删除YAML定义的资源 kubectl delete pod <pod-name> # 删除指定Pod -
查看资源详情
bash
kubectl describe pod <pod-name> # 查看Pod详细信息
三、Pod 相关操作
-
查看 Pod 日志
bash
kubectl logs <pod-name> # 查看Pod日志 kubectl logs -f <pod-name> # 实时跟踪日志 -
进入 Pod 容器
bash
kubectl exec -it <pod-name> -- /bin/bash # 进入Pod的第一个容器 kubectl exec -it <pod-name> -c <container-name> -- /bin/bash # 进入指定容器 -
端口转发
bash
kubectl port-forward <pod-name> 8080:80 # 将Pod的80端口映射到本地8080
四、部署与伸缩
-
创建 Deployment
bash
kubectl create deployment <deployment-name> --image=<image-name> # 创建Deployment -
扩缩容
bash
kubectl scale deployment <deployment-name> --replicas=3 # 设置3个副本 -
滚动更新
bash
kubectl set image deployment/<deployment-name> <container-name>=<new-image> # 更新镜像 -
回滚更新
bash
kubectl rollout undo deployment/<deployment-name> # 回滚到上一个版本
五、Service 与 Ingress
-
创建 Service
bash
kubectl expose deployment <deployment-name> --port=80 --type=NodePort # 创建NodePort类型的Service -
查看 Service
bash
kubectl get services # 列出所有Service -
创建 Ingress
bash
kubectl apply -f ingress.yaml # 从YAML创建Ingress规则
六、配置与存储
-
创建 ConfigMap
bash
kubectl create configmap <config-name> --from-file=app.properties # 从文件创建ConfigMap -
创建 Secret
bash
kubectl create secret generic <secret-name> --from-literal=username=admin --from-literal=password=pass # 创建Secret
七、调试与故障排查
-
查看事件
bash
kubectl get events # 查看集群事件(用于排查问题) -
查看节点状态
bash
kubectl top nodes # 查看节点资源使用情况 -
查看 Pod 资源使用
bash
kubectl top pods # 查看Pod资源使用情况
八、认证与配置
-
获取集群配置
bash
kubectl config view # 查看kubeconfig配置 -
切换上下文
bash
kubectl config use-context <context-name> # 切换到指定集群上下文
九、常用 YAML 模板
1. Pod 示例(nginx-pod.yaml)
yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
2. Deployment 示例(nginx-deployment.yaml)
yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
3. Service 示例(nginx-service.yaml)
yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: NodePort
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 30000
十、命令缩写与补全
-
资源类型缩写:
po= pods
svc= services
deploy= deployments
ns= namespaces -
命令补全:
bash
source <(kubectl completion bash) # 启用Bash自动补全
3万+

被折叠的 条评论
为什么被折叠?



