kubectl 常用操作

查看k8s基础服务运行状态

kubectl get pods -n da2vin-gitops
kubectl get pods -n da2vin-gitops -o wide

查看某一个pods事件,用于排查重启等异常

kubectl describe pod podname

查看日志

kubectl logs pods名称 -n 命名空间

进入pods

kubectl exec -it pods名称 -n 命名空间 /bin/bash

进入多容器pods

kubectl exec -it pods名称 -n 命名空间 -c 容器名称 /bin/bash

rancher下调用K8sApi请求头权签

curl -v \
-H "Authorization:[空格]Bearer[空格]BASE64(Basic[空格]BASE64(<AccessKey>:<SecretKey>))" \
http://{ip}:{port}/r/projects/{环境编号}}/kubernetes:6443

更新镜像版本

kubectl set image deployment/{应用名称} {容器名称}={镜像库地址} -n {命名空间}

node 管理

#业务场景 节点名称为10-10-99-138的主机

将k8s-node1节点设置为不可调度模式
kubectl cordon 10-10-99-138

#将当前运行在k8s-node1节点上的容器驱离(如果有必要)
kubectl drain 10-10-99-138

#执行完维护后,将节点重新加入调度
kubectl uncordon 10-10-99-138

#节点设置标签
kubectl label nodes 192-168-32-178 uname=snake

#节点删除标签
kubectl label nodes 192-168-32-178 uname-

编辑部署文件

kubectl edit deployment/kubernetes-dashboard -n kube-system

查看svc网路明细

kubectl describe svc -n kube-system

查看token

kubectl describe secret dashboard-ui -n kube-system

创建deploy 镜像拉取私有镜像库权限

kubectl create secret docker-registry ${deploy.yml文件中imagePullSecrets下name的值} \
--docker-server=${镜像库地址} \
--docker-username=${镜像库账户} \
--docker-password=${镜像库密码} \
-n ${命名空间}

查看节点明细

kubectl describe node 192-168-32-152

清理pods

kubectl delete pods <pod> -n 命名空间 --grace-period=0 --force

导出k8s deployment

kubectl get deployment -n 命名空间 -l app=服务名 -o 类型(yaml|json) > 文件名

kubectl get deployment -n base -l app=ykb-gateway -o yaml > demo.yaml

更新镜像

kubectl set image deployment/服务名 容器名称=镜像地址:版本号 -n 命名空间

更新pod副本数

kubectl scale --replicas=2 deployment/k8s-spring -n base

docker资源限制

--cpuset-cpus=0多核CPU下绑定cpu核心标记  0-3范围 0,3多个
--cpu-shares=1024 繁忙时段所占CPU比例
-m 限制内存 -m 512m 限制512m内存

cpu-period:设定docker运行容器重新分配CPU时间的周期(单位微秒) 1000微秒=1毫秒  最大值1000000=1秒
cpu-quota:在设置周期内分配给当前容器的CPU执行时间

更新运行中的docker限制

docker update -m 4000m --memory-swap -1 ${name}

回退Deployment

kubectl rollout status deployments niginx-deployment
kubectl rollout history deployment/nginx-deployment
kubectl rollout undo deployment/nginx-deployment 
kubectl rollout undo deployment/nginx-deployment --to-revision=2 # 指定历史版本
kubectl rollout pause deployment/nginx-deployment # 暂停deployment的更新
tag(s): k8s 
show comments · back · home