博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
K8S命令详解
阅读量:17325 次
发布时间:2019-09-17

本文共 4747 字,大约阅读时间需要 15 分钟。

1、查看相关命令

#查看kubeadm生成的tokenkubeadm token listkubectl get nodes                           #查看节点的状态:kubectl get pod --all-namespaces            #查看pod的状态#--all-namespaces #查看全部namespaces的podkubectl get pod --all-namespaces -o wide    #查看pod在各个node上面的分布#-o wide #查看pod的分布情况kubectl get deployment [nginx-deployment]                     #查看部署状态kubectl get deployment --namespace=kube-system  #查看系统namespa中的kube-dns组件kubectl get replicaset                  #查看部署状态kubectl get daemonset --namespace=kube-system #查看用daemonset运行的系统组件kubectl get node --show-labels  #查看node的labelkubectl get job --show-all #查看job任务kubectl get cronjob  #查看cronjob任务kubectl get namespace #查看运行中的namespacekubectl get pv #查看pvkubectl get pvc #查看pvckubectl get secret [mysecret]  #查看存在的secretkubectl get configmap [myconfigmap] #查看存在的configmapkubectl describe pod 
[--namespace=kube-system] #查看pod的具体运行情况,或者启动日志kubectl describe deployment #了解deployment的详细信息kubectl describe replicaset #了解replicaset的详细信息kubectl describe secret [mysecret] #查看secret条目的keykubectl describe configmap [myconfigmap] #查看configmapkubectl logs pod(id) -n kube-system #查看pod日志kubectl logs myjob-nfkxk #查看job执行的结果

2、创建相关命令

#创建tokenkubeadm token create#获取ca证书sha256编码hash值openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'kubectl run httpd-app --image=httpd --replicas=2 #运行俩个pod    #httpd-app      #命名为httpd-app    #--image=httpd  #镜像名    #replicas=2     #启动俩个pod    #通过配置文件启动kubectl apply -f nginx.yamlkubectl apply -f httpd.v1.yml --record  #--record  作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。  #可以通过kubectl rollout history deployment httpd来查看revison历史记录#创建namespace:kubectl create  namespace weave  kubectl create configmap myconfigmap --from-file=./logging.conf  #通过--from-file方式创建configmapkubectl create secret generic mysecret --from-literal=username=admin --from-literal=password=12345  #通过--from-literal方式创建secret

3、删除相关命令

kubectl delete deployment nginx-deployment  #删除deployment任务kubectl delete -f nginx.yml   #删除deployment任务kubectl delete pods 
--grace-period=0 --force #删除podkubectl delete pvc mypvc1 #删除pvc中的mypvc1

4、用label控制Pod的位置

kubectl label node k8s-node1 disktype=ssd #标注node1的磁盘类型是ssdkubectl get node --show-labels  #查看node的labelkubectl lable node k8s-node1 disktype-

5、edit命令

kubectl edit daemonset kube-proxy --namespace=kube-system #查看kube-proxy的yml文件kubectl edit secret mysecret #查看valueupdate rollout命令kubectl apply -f httpd.v1.yml --record  #--record  作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。  #可以通过kubectl rollout history deployment httpd来查看revison历史记录kubectl rollout history history deployment #查看revison历史记录kubectl rollout undo deployment httpd --to-revision=1 #指定一个版本,回滚

6、其他命令

echo -n root | base64 #base64加密echo -n MSDF32D | base64 --decode #反解码#自动补全功能echo "source <(kubectl completion bash)" >> ~/.bashrc#helm自动补全功能helm completion bash > .helmrc echo "source .helmrc" >> .bashrc#查看集群信息kubectl cluster-info#查看apiserver的版本,和已经使用的apikubectl  api-versions#将master当做node使用kubectl taint node master node-role.kubernetes.io/master-#取消master当做nodekubectl taint node master node-role.kubernetes.io/master="":NoSchedule#踢出节点kubectl drain nodeName --delete-local-data --force --ignore-daemonsetskubectl delete node nodeName

7、更新

kubectl set image deployment/tomcat-deployment tomcat=tomcat:9.0.30  #(tomcat 更新的镜像) kubectl edit deployment  deployment名称  #(也可以进入配置里面更改) kubectl rollout 	status deployment/tomcat-depl  #(查看更新状态) kubectl describe pod tomcat-depl-cb7fb7ddd-7rnd9  #  (查看pod的名称是否正常也可以查看deployment的状态) ------kubectl describe deployment tomcat-depl  # (  查看这个的详细信息) kubectl get rs  #(可以查看刚才更新的俩个pod)

8、回滚

kubectl rollout history deployment nginx     (查看deployment的历史更新版本) kubectl rollout status deployment tomcat-depl    (可以看到他的状态)kubectl rollout undo deployment tomcat-depl   (回滚到上一个版本)kubectl describe deployment tomcat-depl  (查看状态是否回滚成功)kubectl rollout pause deployment tomcat-depl (可以停止这个deployment的更新操作)

9、更改k8s deployment的副本数量

kubectl scale deployment tomcat-depl --replicas=2(更改数量为2)   #添加或增减一个副本数量

10、绑定一个node节点

kubectl cordon k8s-node-1           #绑定kubectl uncordon k8s-node-1       #取消

11、重启一个deployment

kubectl rollout restart deployment tomcat

12、永久删除一个pod

kubectl delete pod  pod的名字  --grace-period=0 --force

13、查看这node节点上运行哪些pod服务

kubectl get pod --field-selector=spec.nodeName=node01

14、查看node节点上绑定了哪些labels 标签

kubectl get node --show-labels

15、反推镜像打出构建出来的dockerfile的过程

docker history --format {
{
.CreatedBy}} --no-trunc=true imagesName:V|sed "s?/bin/sh\ -c\ \#(nop)\ ??g"|sed "s?/bin/sh\ -c?RUN?g" | tac #反推imagesName:V 为镜像的版本号

16、查看k8s集群的工作模式kube-proxy

netstat -anuputl | grep kube-proxycurl 127.0.0.1:10249/proxyMode

转载地址:http://mgnihz.baihongyu.com/

你可能感兴趣的文章
笑话收集
查看>>
超级程序员神话
查看>>
advanced installer制作windows软件安装界面
查看>>
操作系统读书笔记
查看>>
2017年计划
查看>>
【转】电容滤波的两个要点_Detective_ALong_新浪博客
查看>>
【转】U-Boot的加载地址分析_Detective_ALong_新浪博客
查看>>
html5星星评分组件,sass双循环写法
查看>>
h5锁屏提醒-锁横屏和锁竖屏
查看>>
LeetCode 方法详解
查看>>
Java学习相关网站
查看>>
View事件分发情况总结
查看>>
linux 实现免密码登录
查看>>
Python学习 -- filter
查看>>
Python学习 – 匿名函数
查看>>
Docker CE安装
查看>>
运放(二):运放带宽
查看>>
activiti入门列子一个简单的activiti请假流程
查看>>
Quartz入门实例5-处理因执行job超时而错过触发的job
查看>>
Quartz入门实例7-处理被中断的Job
查看>>