K8S 常用命令

获取所有的pod资源:

kubectl get pod

获取所有的命名空间:

kubectl get namespace

获取所有的Deployment资源:

kubectl get deployment

删除指定的deploy:

kubectl delete deploy nginx

获取所有的服务:

kubectl get services

删除对应的服务:

kubetl delete svc nginx

进入指定的Pod里指定的容器中执行命令:

kubectl exec -it nginx-po -c nginx -- cat /inited

编辑指定的pod 的yaml文件:

kubectl edit po nginx-po -n default

查询所有pod的详细信息:

kubectl get po -o wide

持续监听pod的状态:

kubectl get po -w 

监听命令的执行时间:

time kubectl delete po nginx

删除指定的Pod:

kubectl delete po nginx

查看Pod的标签:

kubectl get po --show-labels

为资源添加标签:

kubectl label po nginx-po author=liuhuan

修改资源的标签:

kubectl label po nginx-po author=liu --overwrite

根据label进行匹配对应的pod:

kubectl get po -l type=app

使用label进行多值匹配:

kubectl get po -l 'test in (1.0.0,1.1.0,1.2.0)'

使用label进行多条件匹配:

kubectl get po -l test=app,version!=1.1.0

创建nginx的deployment:

kubectl create deploy nginx-deploy --image=nginx:1.7.9

获取replicaset:

kubectl get replicaset
# 当我们创建deployment的时候,会帮助我们创建一个replicaset
# 还会帮助我们创建一个对应的pod
# deployment的名字是:nginx-test
# replicaset 名字是: nginx-test-fsdhfsk
# pod的名字是: nginx-test-fsdhfsk-testsse

获取资源的信息并使用yaml格式进行输出:

kubectl get po nginx -o yaml

查看Deployment滚动更新的过程:

kubectl describe deploy nginx-deployment -n default

使用命令行更新模板的内容:

kubectl set image deployment/nginx-deployment nginx=nignx:1.9.1

查看所有的 replicaset :

kubectl get replicaset

查看 deployment 的历史版本:

kubectl rollout history deployment/nginx-deploy
# 查看历史版本和更新的记录信息

查看记录信息(可以搭配上面这个命令一起使用):

kubectl set image deployment/nginx-deploy nginx=nginx:1.91 --record "更新镜像信息为1.91"

查看指定版本的详细信息:

kubectl rollout history deployment/nginx-deploy -revision=2

查看回退的状态:

kubectl rollout status deployment/nginx-deploy

模板回退到指定版本:

kubectl rollout undo deployment/nginx-deploy --to-revision=2

给Deployment进行扩容/缩容:

kubectl scale --replicas=3 deploy nginx-deploy

暂停Deployment,防止更新模板的时候进行自动升级:

kubectl rollout pause deploy nginx-deploy

恢复暂停的的Deployment:

kubectl rollout resume deploy nginx-deploy

创建一个nginx服务:

kubectl create deployment nginx  --image=nginx:1.14-alpine

暴露端口:

kubectl expose deploy nginx  --port=80 --target-port=80  --type=NodePort

查看服务:

kubectl get pod,svc

查看集群中的节点:

kubectl get nodes  /  kubectl get no

获取正在运行的pod:

kubectl get pod

查看组件状态:

kubectl get componentstatus  /  kubectl get cs

获取默认命名空间下的pods:

kubectl get pods

获取指定命名空间下的pods:

kubectl get pods -n kube-system

创建ConfigMap:

kubectl create configmap my-config 

通过文件夹创建ConfigMap:

kubectl create configmap my-config --from-file=path/to/bar

查看所有的ConfigMap:

kubectl get configmap 

查看指定ConfigMap的描述信息:

kubectl describe cm my-config

通过文件创建ConfigMap:

kubectl get configmap my-config --from-file=/opt/k8s/application.yaml
kubectl get configmap my-config --from-file=app.yml=/opt/k8s/application.yaml
# 使用app.yml来取代文件的路径

详细查看指定的ConfigMap的信息:

kubectl describe config/my-config

直接指定键值对创建ConfigMap:

kubectl create configmap test-key-value-config 
--from-iteral=username=root
--from-iteral=password=admin

查看Pod的创建日志:

kubectl logs -f my-config

进入Pod中的容器内:

kubectl exec -it test-configfile-po -- sh

创建加密的配置:

kubectl secret generic orig-secret 
--from-literal=username=admin
--from-literal=password=qwert123lh

更新 configMap 的 yaml 文件:

kubectl create cm test-dir-config --from-file=./test/ 
--dry-run -o yaml | kubectl replace -f- 
# --dry-run 的作用是打印 yaml 配置文件,但是不会发送给 api-server 
# -f- 后面一个 - 的目的是搭配控制台的输出进行替换

编辑指定的ConfigMap:

kubectl edit cm my-config

1

1

1
相关推荐
Databend5 小时前
探索 Snowflake 与 Databend 的云原生数仓技术与应用实践 | Data Infra NO.21 回顾
云原生
王哲晓5 小时前
第二章 Docker的常用命令
运维·docker·容器
北雨南萍8 小时前
CentOS7 离线部署docker和docker-compose环境
运维·docker·容器
我的运维人生8 小时前
Docker技术深度解析与实践案例
docker·容器·eureka·运维开发·技术共享
IT-陈9 小时前
docker简单熟悉
云原生·eureka
SRExianxian9 小时前
docker(一)之cgroup详解
运维·docker·容器
爱吃龙利鱼9 小时前
nginx+keepalived健康检查案例详解(解决nginx出现故障却不能快速切换到备份服务器的问题)
linux·运维·服务器·nginx·云原生
骅青10 小时前
K8S服务发布
云原生·容器·kubernetes·实战·ingress
筑梦之路10 小时前
K8S 容器钩子函数和优雅停机 —— 筑梦之路
云原生·容器·kubernetes
Xinan_____10 小时前
Linux——k8s组件
java·linux·kubernetes