在Kubernetes(简称K8s)的世界里,掌握高效的命令行操作是每位DevOps工程师和系统管理员必备的技能。以下是我为你精心整理的50个K8s命令行最佳实践,这些技巧将帮助你轻松掌控集群管理,提高工作效率。
1. 基础命令
kubectl version:查看Kubernetes版本信息。kubectl config view:查看当前配置。kubectl config set context <context>:设置当前上下文。
2. 资源查看
kubectl get pods --all-namespaces:查看所有命名空间下的Pods。kubectl top nodes:查看节点资源使用情况。kubectl describe pod <pod-name>:查看Pod的详细信息。
3. 资源创建与修改
kubectl create -f <filename>.yaml:从文件创建资源。kubectl edit deployment <deployment-name>:编辑Deployment配置。kubectl scale deployment <deployment-name> --replicas=3:调整Deployment副本数。
4. 资源删除
kubectl delete pod <pod-name>:删除Pod。kubectl delete ns <namespace>:删除命名空间。kubectl delete all -l app=myapp -n myns:删除命名空间下所有匹配标签的资源。
5. 资源日志
kubectl logs <pod-name>:查看Pod日志。kubectl logs -f <pod-name>:查看Pod日志并实时更新。kubectl logs --tail=100 <pod-name>:查看Pod最后100行日志。
6. 资源执行命令
kubectl exec -it <pod-name> -- /bin/sh:在Pod中执行交互式shell。kubectl exec <pod-name> -- cat /etc/passwd:在Pod中执行命令。
7. 资源监控
kubectl top pods:查看Pod资源使用情况。kubectl top nodes:查看节点资源使用情况。kubectl describe hpa <horizontal-pod-autoscaler-name>:查看HPA详细信息。
8. 资源访问
kubectl port-forward <pod-name> 8080:80:将Pod的8080端口映射到本地8080端口。kubectl proxy:启动一个代理服务器,允许本地访问Kubernetes API。
9. 资源备份与恢复
kubectl get -o yaml <resource-name> > <filename>.yaml:备份资源。kubectl apply -f <filename>.yaml:恢复资源。
10. 高级技巧
- 使用
kubectl get all -n <namespace>查看命名空间下的所有资源。 - 使用
kubectl annotate为资源添加标签。 - 使用
kubectl label为资源添加标签。 - 使用
kubectl patch更新资源。
以上只是K8s命令行操作的冰山一角。在实际工作中,你可能需要根据具体需求进行更深入的探索。希望这份指南能帮助你更好地掌握K8s,轻松掌控集群管理。
