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

相关推荐
滴水之功几秒前
VMware OpenWrt怎么桥接模式联网
linux·openwrt
saynaihe5 分钟前
安全地使用 Docker 和 Systemctl 部署 Kafka 的综合指南
运维·安全·docker·容器·kafka
ldinvicible19 分钟前
How to run Flutter on an Embedded Device
linux
YRr YRr1 小时前
解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误
linux·opencv·ubuntu
G_whang1 小时前
centos7下docker 容器实现redis主从同步
redis·docker·容器
认真学习的小雅兰.1 小时前
如何在Ubuntu上利用Docker和Cpolar实现Excalidraw公网访问高效绘图——“cpolar内网穿透”
linux·ubuntu·docker
zhou周大哥1 小时前
linux 安装 ffmpeg 视频转换
linux·运维·服务器
不想起昵称9292 小时前
Linux SHELL脚本中的变量与运算
linux
loong_XL2 小时前
服务器ip:port服务用nginx 域名代理
服务器·tcp/ip·nginx
夕泠爱吃糖2 小时前
C++中如何实现序列化和反序列化?
服务器·数据库·c++