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>`

相关推荐
wanhengidc1 小时前
巨椰 云手机办公便利性高
运维·服务器·安全·智能手机·云计算
Saniffer_SH1 小时前
【每日一题】PCIe答疑 - 接大量 GPU 时主板不认设备或无法启动和MMIO的可能关系?
运维·服务器·网络·人工智能·驱动开发·fpga开发·硬件工程
爱宇阳1 小时前
Linux 安全加固:禁用 IPv4 ICMP 重定向发送
linux·运维·安全
Saniffer_SH1 小时前
【每日一题】讲讲PCIe链路训练和枚举的前后关系
运维·服务器·网络·数据库·驱动开发·fpga开发·硬件工程
阿豪学编程1 小时前
动静态库制作与原理
linux·个人开发
2401_861786181 小时前
linux修改ip地址(有详细步骤)kali
linux·运维·服务器
颜子鱼1 小时前
Linux platform总线驱动框架
linux·驱动开发
徐子元竟然被占了!!2 小时前
Linux-top
linux·运维·windows
川贝枇杷膏cbppg2 小时前
DmServiceDMSERVER.log是干嘛的
java·服务器·数据库
fufu03112 小时前
Linux环境下的C语言编程(四十二)
linux·c语言·算法