微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

k8s 常用的命令

master节点

1、更改配置文件,重新加载

systemctl daemon-reload

2、启动master相关组件
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler

etc 服务:
1、更改配置后,重新加载
systemctl daemon-reload

2、启动etcd服务
systemctl start etcd.service

worker节点

1、更改配置后,重启加载
systemctl daemon-reload

2、启动worker端相关组件
systemctl start kube-proxy
systemctl start docker
systemctl start kubelet

kubectl 常用命令操作

1、kubectl -h 查看具体操作参数



查看类命令

    1、获取节点相应服务的信息:kubectl get nodes
kubectl get pods

  按selector名来查找pod

kubectl get pod --selector name=redis
    2、查看集群信息
kubectl cluster-info
    3、查看各组件信息
kubectl -s http://localhost:8080 get componentstatuses
    4、查看pods所在的运行节点
kubectl get pods -o wide
    5、查看pods定义的详细信息
kubectl get pods -o yaml
    6、查看运行的pod的环境变量
kubectl exec pod名 env
    7、查看指定pod的日志
kubectl logs -f pods/heapster-xxxxx -n kube-system

  查看之前的容器日志(容器不断重启)

kubectl logs --prevIoUs pod-name 

3、操作类命令

    1、创建资源
kubectl create -f 文件名.yaml
    2、重建资源
kubectl replace -f 文件名  [--force]
     3、删除资源
kubectl delete -f 文件名
kubectl delete pod pod名
kubectl delete rc rc名
kubectl delete service service名
kubectl delete pod --all

  4、node节点操作

    1、不可调度(打污点),驱逐pod,恢复调度

  不允许pod调度到此node,对正在运行的pod不会驱逐

kubectl cordon node1

  节点排水驱n2 node所有pod忽略daemoset

kubectl drain node1 --delete-local-data=true --ignore-daemonsets=true  --force

  恢复调度

kubectl uncordon node1

 

    2、标签操作

复制代码

查看node标签
kubectl get nodes --show-labels

添加node节点标签
kubectl label nodes node1 disktype=ssd

删除节点标签
kubectl label nodes node1 disktype-

复制代码

  5、deployment版本管理

复制代码

命令更新deploy image版本
kubectl set image deploy busyBox busyBox=harbor.cluster.com:6666/rancher/busyBox:v2

回退上个版本
kubectl rollout undo deployment/busyBox
kubectl rollout status deployment/busyBox

查看历史版本记录
kubectl rollout history deploy/busyBox --revision=5

查看历史版本详细信息
kubectl rollout history deploy/busyBox --revision=5
REVISION  CHANGE-CAUSE
1         <none>
2         <none>
4         <none>
5         <none

回滚到指定的版本
kubectl rollout undo deployment/busyBox  --to-revision=2

复制代码

 

  四)kubectl进阶命令操作

  1、kubectl get:获取指定资源的基本信息

复制代码

1 kubectl get services kubernetes-dashboard -n kube-system #查看所有service
2 kubectl get deployment kubernetes-dashboard -n kube-system #查看所有发布
3 kubectl get pods --all-namespaces #查看所有pod
4 kubectl get pods -o wide --all-namespaces #查看所有pod的IP及节点
5 kubectl get pods -n kube-system | grep dashboard
6 kubectl get nodes -lzone #获取zone的节点

复制代码

  2、kubectl describe:查看指定资源详细描述信息

1 kubectl describe service/kubernetes-dashboard --namespace="kube-system"
2 kubectl describe pods/kubernetes-dashboard-349859023-g6q8c --namespace="kube-system" #指定类型查看
3 kubectl describe pod Nginx-772ai #查看pod详细信息

  3、kubectl scale:动态伸缩

1 kubectl scale rc Nginx --replicas=5 # 动态伸缩
2 kubectl scale deployment redis-slave --replicas=5 #动态伸缩
3 kubectl scale --replicas=2 -f redis-slave-deployment.yaml #动态伸缩

  4、kubectl exec:进入pod启动的容器

1 kubectl exec -it redis-master-1033017107-q47hh /bin/bash #进入容器

  5、kubectl label:添加label值

1 kubectl label nodes node1 zone=north #增加节点lable值 spec.nodeselector: zone: north #指定pod在哪个节点
2 kubectl label pod redis-master-1033017107-q47hh role=master #增加lable值 [key]=[value]
3 kubectl label pod redis-master-1033017107-q47hh role- #删除lable值
4 kubectl label pod redis-master-1033017107-q47hh role=backend --overwrite #修改lable值

  6、kubectl rolling-update:滚动升级

1 kubectl rolling-update redis-master -f redis-master-controller-v2.yaml #配置文件滚动升级
2 kubectl rolling-update redis-master --image=redis-master:2.0 #命令升级
3 kubectl rolling-update redis-master --image=redis-master:1.0 --rollback #pod版本回滚

  五)etcdctl 常用操作

1 etcdctl cluster-health #检查网络集群健康状态
2 etcdctl --endpoints=https://192.168.71.221:2379 cluster-health #带有安全认证检查网络集群健康状态
3 etcdctl member list
4 etcdctl set /k8s/network/config '{ "Network": "10.1.0.0/16" }'
5 etcdctl get /k8s/network/config





版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐