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

相关推荐
正在努力的小河1 小时前
Linux设备树简介
linux·运维·服务器
荣光波比1 小时前
Linux(十一)——LVM磁盘配额整理
linux·运维·云计算
小张快跑。1 小时前
Tomcat下载、安装及配置详细教程
java·服务器·tomcat
LLLLYYYRRRRRTT1 小时前
WordPress (LNMP 架构) 一键部署 Playbook
linux·架构·ansible·mariadb
轻松Ai享生活2 小时前
crash 进程分析流程图
linux
没有不重的名么2 小时前
Tmux Xftp及Xshell的服务器使用方法
服务器·人工智能·深度学习·机器学习·ssh
wdxylb2 小时前
云原生俱乐部-杂谈1
服务器·云原生
大路谈数字化3 小时前
Centos中内存CPU硬盘的查询
linux·运维·centos
科大饭桶3 小时前
C++入门自学Day11-- String, Vector, List 复习
c语言·开发语言·数据结构·c++·容器
luoqice4 小时前
linux下查看 UDP Server 端口的启用情况
linux