ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

k8s 常用的命令

2022-07-19 18:32:03  阅读:236  来源: 互联网

标签:kubectl 常用 get -- redis 命令 master pod 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





标签:kubectl,常用,get,--,redis,命令,master,pod,k8s
来源: https://www.cnblogs.com/yelj/p/16495199.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有