kubectl指令合集
安装
下载vim yum -y install vim 更新时间 yum -y install ntpdate ntpdate ntpl.aliyun.com 查看是否启动 systemctl status ntpdate 关闭防火墙 关闭开机自启 systemctl stop firewalld.service systemctl disable firewalld.service
kubectl apply -f yaml kubectl get nodes -o wide kubectl get pods --all-namespaces -o wide
操控k8s的cluster的命令
minikube version minikube start kubectl version kubectl cluster-info kubectl get nodes
整合
常用命令缩写
名称 |
缩写 |
Kind |
namespaces |
ns |
Namespace |
nodes |
no |
Node |
pods |
po |
Pod |
services |
svc |
Service |
deployments |
deploy |
Deployment |
replicasets |
rs |
ReplicaSet |
statefulsets |
sts |
StatefulSet |
管理对象
- 命令行指令
例如,使用kubectl
命令来创建和管理 Kubernetes 对象。
命令行就好比口头传达,简单、快速、高效。
但它功能有限,不适合复杂场景,操作不容易追溯,多用于开发和调试。
kubernetes使用yaml文件来描述 Kubernetes 对象。
声明式配置就好比申请表,学习难度大且配置麻烦。
好处是操作留痕,适合操作复杂的对象,多用于生产。
指令
kubectl run mynginx --image=nginx #在容器中执行,exit退出 kubectl exec mynginx -it -- /bin/bash # -it 交互模式 # --rm 退出后删除容器,多用于执行一次性任务或使用客户端 kubectl run mynginx --image=nginx -it --rm -- /bin/bash #更新容器镜像 kubectl set image deployment/nginx-deployment nginx=nginx:1.23 #将副本数量调整为5 kubectl scale deployment/nginx-deployment --replicas=5 # 描述 kubectl describe pod mynginx # 查看Pod的运行日志 kubectl logs mynginx # create Deployment(部署)与ReplicaSet(副本集) #创建deployment,部署3个运行nginx的Pod kubectl create deployment nginx-deployment --image=nginx:1.22 --replicas=3 # get -owide 查看IP和运行节点信息 --watch 动态查看 # 查看大部分内容-pod,service,deploy,rs kubectl get all # 查看Pod kubectl get pod # 查看pod的labels kubectl get pod --show-labels # 查看符合labels条件的pod kubectl get pod -l app=nginx,environment=text #查看service kubectl get service #查看deployment kubectl get deploy #查看replicaSet kubectl get rs # delete # 删除pod kubectl delete pod mynginx # 强制删除pod kubectl delete pod mynginx --force # 删除ReplicaSet kubectl delete rs nginx-deploy-855866bb46 # 删除deployment kubectl delete deploy nginx-deployment # 自动缩放 kubectl autoscale deployment/nginx-auto --min=3 --max=10 --cpu-percent=75 # 查看自动缩放 kubectl get hpa # 删除自动缩放 kubectl delete hpa nginx-deployment # 版本更新 #滚动更新 kubectl rollout status deployment/nginx-deployment # 查看历史版本 kubectl rollout history deployment/nginx-deployment # 查看指定版本的信息 kubectl rollout history deployment/nginx-deployment --revision=2 # 回滚到历史版本 kubectl rollout undo deployment/nginx-deployment --to-revision=2
删除
如果有deployment,那么光删除pod,他会自动生成,需要先删除depolyment,然后删除pod,一般删除depolyment,相关的信息都会删除。