首页 > 其他分享 >k8s 常见命令

k8s 常见命令

时间:2022-12-02 14:00:51浏览次数:34  
标签:kubectl nginx -- 常见 命令 get deployment pod k8s

#kubernetes命令自动补全(只针对当前bash)
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
​
#将get信息到处为yaml格式
kubectl get deploy kube-dns -n kube-system -o yaml > kube-dns.yaml
​
#更新yaml文件并更新服务(1.8版本开始改为apply)
kubectl update -f kube-dns.yaml 
​
#编辑当前应用的配置
kubectl edit deployment nginx
​
#查看当前集群中的daemoset及详细信息
kubectl get ds --all-namespaces
kubectl describe daemonset kube-flannel-ds -n kube-system
​
#新建namespace
kubectl create namespace morata-namespace
​
#删除namespace
kubectl delete namespace morata-namespace
​
#设置节点为维护模式(即节点不可被调度,但不影响已有pod的运行)
 kubectl cordon k8s-slave
#关闭维护模式
 kubectl uncordon k8s-slave
 
创建deployment并查看信息


#创建nginx,并且设置为2份
 kubectl run nginx --image=nginx:1.7.9 --replicas=2
 
#删除deployment
 kubectl delete deployment nginx
 
#查看所有deployment
 kubectl get deployment 
​
#查看nignx deployment的详细信息
 kubectl describe deployment nginx 
​
#查看pod
 kubectl get pod
 kubectl get pod nginx-6f8cf9fbc4-lvsqj -o wide
​
#查看pod详细信息
 kubectl describe pod nginx-6f8cf9fbc4-lvsqj 
​
#在pod中运行命令
 kubectl exec nginx-6f8cf9fbc4-lvsqj ls
# 默认在pod 123456-7890的第一个容器中运行“date”并获取输出
$ kubectl exec 123456-7890 date

# 在pod 123456-7890的容器ruby-container中运行“date”并获取输出
$ kubectl exec 123456-7890 -c ruby-container date

 
#进入pod
 kubectl exec nginx-6f8cf9fbc4-lvsqj -it bash
​
#查看replicaset
 kubectl get rs
​
#查看replicaset的详细信息
 kubectl describe rs nginx-6f8cf9fbc4
​
#创建service
 cat nginx.svc.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  ports:
  - name: http
    port: 8888
    nodePort: 30001
    targetPort: 80
  selector:
    run: nginx
  type: NodePort
  
 kubectl create -f nginx.svc.yaml
 kubectl expose deployment nginx --type=NodePort --name=nginx-test --port=80
 
# 删除service
 kubectl delete -f nginx.svc.yam
 kubectl delete svc nginx
 
#查看service及详细信息
 kubectl get svc
 kubectl describe svc nginx
 
#查看endpoint
 kubectl get endpoints
 NAME         ENDPOINTS                       AGE
 kubernetes   192.168.8.250:6443              10h
 nginx        10.244.0.13:80,10.244.1.31:80   5m
 nginx-test   10.244.0.13:80,10.244.1.31:80   50s
#deployment扩容缩容
 kubectl scale deployment nginx --replicas=3
 
 kubectl scale deployment nginx --replicas=2
 #查看ep、rs、pod都发生扩容/缩容
 kubectl get endpoints 
​
 kubectl get rs 
​
 kubectl get pod
 
#滚动升级/回滚
 #升级nginx至1.9.1
 kubectl set image deploy nginx nginx=nginx:1.9.1
 kubectl edit deployment/nginx-deployment
或者kubectl apply -f nginx-deployment.yaml
#实时观察发布状态:kubectl rollout status deployment/nginx-deployment
#查看deployment历史修订版本
kubectl rollout history deployment/nginx-deploymentkubectl rollout history deployment/nginx-deployment --revision=3
# 回滚到以前版本
kubectl rollout undo deployment/nginx-deploymentkubectl rollout undo deployment/nginx-deployment --to-revision=3
# 扩容deployment的Pod副本数量kubectl scale deployment nginx-deployment --replicas=10
# 设置启动扩容/缩容
kubectl autoscale deployment nginx-deployment --min=10 --max=15 --cpu-percent=80
 #查看升级状态
 kubectl rollout status deployment nginx 
​
  #查看升级历史
  kubectl rollout history deployment nginx 
​
 #查看历史版本详情
 kubectl rollout history deployment nginx --revision=2
​
 #可以查看rs、deployemnt、svc、pod查看升级中的变化
 kubectl get rs 
 kubectl get svc 
 kubectl get pod
 kubectl get deployment 
 
 #查看deployment升级事件详情
 kubectl describe deployment nginx
​
 #升级失败回滚
 kubectl set image deploy nginx nginx=nginx:1.95
 
  #查看升级状态一直处于等待状态
  kubectl rollout status deployment nginx 
    Waiting for rollout to finish: 1 old replicas are pending termination...
  
  #可以查看升级历史、svc、rs、pod等详情可以得知错误原因
  
  #回滚操作
  kubectl rollout undo deployment nginx
  
  #查看deployment回滚详情
  kubectl describe deployment nginx

  

 

标签:kubectl,nginx,--,常见,命令,get,deployment,pod,k8s
From: https://www.cnblogs.com/dyft/p/16944263.html

相关文章

  • linux命令
    adb类adbinstall-r[apk地址]adbuninstall[包名]查看所有软件adbshellpmlistpackagesadb启动软件adbshellamstart-n[包名]adb查看版本号adbshelldu......
  • 车载测试系列:车载常见面试题
    自我介绍项目介绍项目具体是怎么测试的?CANoe是怎么使用的?台架是怎么搭建的?台架怎么测试的?诊断服务是怎么测试的?功能寻址和物理寻找的区别10服务有什么会话?11服务......
  • 聊聊nohup命令
    nohup 英文全称nohangup(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。nohup 命令,在默认情况下(非重定向时),会输出一个名叫nohup.out的文件到当......
  • 复习struts2中常见的三个用法
    在使用struts2时,发现有如下三个知识点和用法还是挺常用的,小结之,分别是:displaytag,struts2的验证和struts2的model-driven.1displaytag的使用disp......
  • linux中awk命令从fasta中提取指定的scaffold
     001、[root@pc1test4]#lstest.fa[root@pc1test4]#cattest.fa##测试fasta文件>mmm11111>bbb8888887777>kkk666666699999>qqq000033333[root@p......
  • Android packages常见APP对应包名
    美团外卖com.sankuai.meituan.takeoutnew饿了么me.ele摩拜单车com.mobike.mobikeappOFOso.ofo.labofo今日头条com.ss.android.article.news新浪微博......
  • linux 中awk命令判断每一行是否匹配指定字符串
     001、[root@pc1test1]#lsa.txt[root@pc1test1]#cata.txt353aa33433aa888[root@pc1test1]#awk'{a=($0~"aa");printa}'a.txt##匹配成......
  • JAXB中各种常见注解小结
    在JAXB中(用于JAVA对象和xml之间的转换),经常出现各类的@XmlElement这样的标记,下面就来以一个例子小结下,加深学习:[code="java"]importjava......
  • linux awk命令
    awk的命令格式是:awk[options]<script>[file]遍历file中的每行,并执行<script>中指定的命令。不指定file时默认从stdin读取。awk-F':''{print$1}'/etc/passwd......
  • cherry-pick常见问题
    待整理:https://www.lmonkey.com/t/MXyGR0eEp 第一次cherry-pick   第二次cherry-pick: ......