K8s命令大全(Complete List of K8s Commands)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

本人主要分享计算机核心技术:系统维护、数据库、网络安全、自动化运维、容器技术、云计算、人工智能、运维开发、算法结构、物联网、JAVA 、Python、PHP、C、C++等。
不同类型针对性训练,提升逻辑思维,剑指大厂,非常期待和您一起在这个小小的网络世界里共同探索、学习和成长

K8s命令大全,助你成为k8s专家!

K8s是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。‌ Kubernetes提供了服务发现、负载均衡、自动扩展等功能,使得部署和管理容器化应用变得更加高效和可靠。‌

K8s的核心组件包括:

  • ‌‌ ‌kube-apiserver‌:作为资源操作的唯一入口,提供认证、授权、访问控制、API注册和发现等机制。
  • ‌kubelete‌:负责维护容器的生命周期,通过控制docker来创建、更新、销毁容器,并上报节点健康状态给APIServer。
  • Kube-controller-manager :‌‌负责维护集群的状态,包括故障检测、自动扩展、滚动更新等。
  • ‌‌kube-schedule r**:负责资源的调度,按照预定的调度策略将pod调度到相应的节点。**
  • ‌etcd:负责存储集群中各种资源对象的信息,采用键值对方式存储,所有的k8s集群数据存放在此。

K8s的核心概念包括Pod,它是K8s中最小的可部署单位,一个或多个容器的集合,共享同一个网络命名空间和存储卷,所有的容器化应用都运行在Pod中

K8s是一个强大的容器编排平台,熟练的掌握k8s可大大提高工作效率和强化自身技能,以下是常用的命令,可分为不同的功能模块进行分类:

1. 基本集群操作

复制代码
`# 查看集群信息kubectl cluster-info`
`# 查看集群当前上下文``kubectl config current-context`
`# 切换上下文``kubectl config use-context <context-name>`
`# 获取节点列表kubectl get nodes`

2. 命名空间 (Namespace)

复制代码
`# 列出所有命名空间kubectl get namespaces`
`# 创建命名空间``kubectl create namespace <namespace-name>`
`# 删除命名空间kubectl delete namespace <namespace-name>`

3. Pod 操作

复制代码
`# 获取 Pod 列表kubectl get pods -n <namespace>`
`# 查看 Pod 的详细信息``kubectl describe pod <pod-name> -n <namespace>`
`# 创建 Pod(通过 YAML 文件)``kubectl apply -f <pod.yaml>`
`# 删除 Pod``kubectl delete pod <pod-name> -n <namespace>`
`# 查看 Pod 日志``kubectl logs <pod-name> -n <namespace>`
`# 进入 Pod 的容器中kubectl exec -it <pod-name> -n <namespace> -- /bin/bash`

4. Deployment 操作

复制代码
`# 获取 Deployment 列表kubectl get deployments -n <namespace>`
`# 创建 Deployment``kubectl apply -f <deployment.yaml>`
`# 更新 Deployment``kubectl set image deployment/<deployment-name> <container-name>=<new-image> -n <namespace>`
`# 删除 Deployment``kubectl delete deployment <deployment-name> -n <namespace>`
`# 查看 Deployment 滚动更新状态``kubectl rollout status deployment/<deployment-name> -n <namespace>`
`# 回滚 Deploymentkubectl rollout undo deployment/<deployment-name> -n <namespace>`

5. Service 和 Ingress 操作

复制代码
`# 获取 Service 列表kubectl get services -n <namespace>`
`# 创建 Service``kubectl apply -f <service.yaml>`
`# 删除 Service``kubectl delete service <service-name> -n <namespace>`
`# 获取 Ingress 列表``kubectl get ingress -n <namespace>`
`# 创建 Ingress``kubectl apply -f <ingress.yaml>`
`# 删除 Ingresskubectl delete ingress <ingress-name> -n <namespace>`

6. ConfigMap 和 Secret

复制代码
`# 创建 ConfigMapkubectl create configmap <configmap-name> --from-literal=key=value -n <namespace>`
`# 查看 ConfigMap``kubectl get configmaps -n <namespace>`
`# 删除 ConfigMap``kubectl delete configmap <configmap-name> -n <namespace>`
`# 创建 Secret``kubectl create secret generic <secret-name> --from-literal=key=value -n <namespace>`
`# 查看 Secret``kubectl get secrets -n <namespace>`
`# 删除 Secret``kubectl delete secret <secret-name> -n <namespace>`
7. PV 和 PVC
复制代码
`# 获取 PersistentVolume (PV) 列表kubectl get pv`
`# 获取 PersistentVolumeClaim (PVC) 列表``kubectl get pvc -n <namespace>`
`# 创建 PVC``kubectl apply -f <pvc.yaml>`
`# 删除 PVCkubectl delete pvc <pvc-name> -n <namespace>`
8. 监控和排错
复制代码
`# 查看 Pod 日志kubectl logs <pod-name> -n <namespace>`
`# 查看所有 Pod 的事件``kubectl get events -n <namespace>`
`# 查看资源使用情况``kubectl top pod -n <namespace>``kubectl top node`
`# 调试 Pod 的容器``kubectl debug pod/<pod-name> -n <namespace> --image=<debug-image>`
`# 查看资源 YAML 配置kubectl get <resource-type> <resource-name> -n <namespace> -o yaml`
9. 删除资源
复制代码
`# 删除所有资源kubectl delete all --all -n <namespace>`
`# 删除指定类型资源``kubectl delete <resource-type> <resource-name> -n <namespace>`
10. 高级命令
复制代码
`# 端口转发kubectl port-forward <pod-name> <local-port>:<pod-port> -n <namespace>`
`# 在节点上运行命令``kubectl debug node/<node-name> -it --image=<debug-image>`
`# 获取 API 资源列表``kubectl api-resources`
`# 获取资源的 API 详细信息kubectl explain <resource-type>`

相关推荐
长流小哥19 分钟前
Linux网络编程实战:从字节序到UDP协议栈的深度解析与开发指南
linux·c语言·开发语言·网络·udp
RedCong39 分钟前
kubectl命令补全以及oc命令补全
云原生·kubernetes·kubectl命令补全
极小狐1 小时前
极狐GitLab 功能标志详解
linux·运维·服务器·elasticsearch·gitlab·极狐gitlab
jinan8861 小时前
加密软件的发展:从古典密码到量子安全
大数据·运维·服务器·网络·安全·web安全
雾原2 小时前
Red Hat Enterprise Linux (RHEL)系统部署
linux
您8132 小时前
二十、FTP云盘
linux·服务器·网络
用户3409704691152 小时前
ROS2-Jazzy编译功能包报错
linux
264玫瑰资源库2 小时前
2025年七星棋牌跨平台完整源码解析(200+地方子游戏+APP+H5+小程序支持,附服务器镜像导入思路)
服务器·游戏·小程序
程序员阿灿2 小时前
CentOS服务器能ping通却无法yum install:指定镜像源解决
linux·服务器·centos
丑过三八线3 小时前
在Linux下安装Gitlab
linux·运维·gitlab