stardust-shadow

导航

K8S -命令

Kimi: 以下是 kubectl 常用命令的分类及解释,基于最新的搜索结果整理:

基础命令(初级)

  • kubectl create:通过 YAML/JSON 文件或标准输入创建资源对象,支持多种资源类型,如 Namespace、Pod、Deployment、Service 等。
  • kubectl expose:将现有资源(如 Pod 或 Service)暴露为新的 Service,可用于快速暴露应用端口。
  • kubectl run:创建并运行一个或多个容器镜像,快速部署应用。
  • kubectl set:配置资源对象的特定功能,如设置环境变量、资源限制等。

基础命令(中级)

  • kubectl explain:查看资源对象的详细信息,包括字段、属性等,支持逐级查看,例如 kubectl explain deployment.spec
  • kubectl get:获取一个或多个资源对象的信息,支持多种输出格式(如 -o wide/yaml/json),可用于查看 Pod、Service、Deployment 等。
  • kubectl edit:使用默认编辑器直接编辑服务器上的资源对象定义。
  • kubectl delete:通过文件、资源名称或标签选择器删除资源。

官方文档:
https://kubernetes.io/zh-cn/docs/home/

部署命令

  • kubectl rollout:管理资源的部署,支持滚动更新、回滚等操作。
  • kubectl scale:对 Deployment、ReplicaSet 等资源进行扩容或缩容。
  • kubectl autoscale:自动扩展 Pod 数量,根据资源使用情况动态调整。

生成TOKEN

kubeadm join k8s-master:6443 --token ex9ibk.kye5sdwmmplf5owg
--discovery-token-ca-cert-hash sha256:f3e2de7e5cd711157b79c2bf53433eb1dd11ee3021911b660aab6925fb2e83bc
--control-plane

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join k8s-master:6443 --token ex9ibk.kye5sdwmmplf5owg
--discovery-token-ca-cert-hash sha256:f3e2de7e5cd711157b79c2bf53433eb1dd11ee3021911b660aab6925fb2e83bc
[root@localhost ~]#

重新生成 token

kubeadm token create --print-join-command

集群管理命令

  • kubectl certificate:管理证书资源,如批准或拒绝证书签名请求。
  • kubectl cluster-info:显示集群信息,包括 API 服务器地址、版本等。
  • kubectl top:显示资源(如 CPU、内存)的使用情况,需要 Metrics Server 支持。
  • kubectl cordon:标记节点为不可调度。
  • kubectl uncordon:将节点标记为可调度。
  • kubectl drain:安全地驱逐节点上的 Pod,用于维护。
  • kubectl taint:为节点设置污点。

故障排查和调试命令

  • kubectl get pod devops-pre-install-m4n6s -n kubesphere-devops-system \ -o jsonpath='{.metadata.ownerReferences[0].kind}{"\t"}{.metadata.ownerReferences[0].name}{"\n"}' : 查看pod 类型
  • kubectl describe:显示资源对象的详细信息,包括状态、事件等。
  • kubectl logs:输出 Pod 中容器的日志。
  • kubectl exec -it nginx-xxx --sh:在指定容器内执行命令。
  • kubectl port-forward:将本地端口转发到 Pod 的端口。
  • kubectl cp:在容器与本地文件系统之间复制文件。
  • kubectl get pods -n <命名空间> -w :查看pods 实时状态

高级命令

  • kubectl diff:对比本地 YAML/JSON 文件与集群中运行的配置文件的差异。
  • kubectl apply:通过 YAML/JSON 文件或标准输入更新或创建资源。
  • kubectl patch:以补丁方式修改资源对象的字段。
  • kubectl replace:通过文件或标准输入替换资源对象。

设置命令

  • kubectl label:增删改资源的标签。
  • kubectl annotate:更新资源对象的注释信息。
  • kubectl completion:配置命令自动补全。

其他命令

  • kubectl config:管理 kubeconfig 配置文件。
  • kubectl plugin:运行命令行插件。
  • kubectl version:查看客户端和服务端的版本信息。
  • kubectl api-versions:列出支持的 API 版本。
  • kubectl api-resources:列出支持的资源类型。

这些命令涵盖了 Kubernetes 集群的主要操作,熟练掌握它们可以大大提高集群管理和应用部署的效率。

posted on 2025-07-05 16:24  阡年  阅读(12)  评论(0)    收藏  举报