查看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的更新