oracle竖列的数据怎么变成一行
306
2022-09-09
kubectl命令大全
文章目录
一、常用别名二、基本命令
`2.1.创建或更新资源对象``2.2.查看资源对象``2.3.描述资源对象``2.4.删除资源对象``2.5.执行容器的命令``2.6.查看容器的日志``2.7.kubectl自动补齐`
三、Pod操作
`3.1. 生成一个外部访问的端口``3.2. 强制删除Pod``3.3. 添加taint,避免Pod 调度到特定Node 上``2.4. 将Pod的开放端口映射到本地``3.5. 在Pod和本地之间复制文件``3.6 启动一个测试DNS的Pod``3.7. 查看pod标签``3.8.查看Pod支持的字段``3.9.列出指定标签的Pod名称``查看指定标签使用cpu最高的pod`
四、RC操作
`4.1. 动态缩放`
五、Deployment
`5.1.创建一个Deployment``5.2.导出一个标准Deployment的yaml文件``5.3.查看Deployment支持的字段``5.4.滚动升级`
滚动升级时,如果镜像版本一致,不会触发pod重建,容器更新
`5.5.版本回滚``5.6.弹性伸缩`
六、Service
`6.1.发布一个服务``6.2.导出一个标准Service的yaml文件`
七、命名空间
`7.1.创建名字为cka的命名空间``7.2.给命名空间设置标签`
八、Node
`8.1.给节点加污点,不往上面调度Pod``8.2.给节点打标签``查看node污点`
九、PV
`9.1.按容量进行排序`
十、实战
`删除k8s节点`
参考书籍:《Kubernetes权威指南第4版从Docker到Kubernetes实践全接触》 参考文章:K8s kubectl 常用命令总结
一、常用别名
cat >> ~/.bash_profile < 二、基本命令 2.1.创建或更新资源对象 kubectl create -f my-service.yaml -f my-rc.yaml #根据YAML配置文件一次性创建Service和RCkubectl apply -f app.yaml #如果存在则更新,不存在则创建 2.2.查看资源对象 kubectl get node #查看Node状态kubectl get pods pod1 pod2 #获取多个pod的信息kubectl get pod 2.3.描述资源对象 kubectl describe pods 2.4.删除资源对象 kubectl delete -f pod.yaml #根据pod.yaml定义的名称删除Podkubectl delete pods,services -l name= 2.5.执行容器的命令 kubectl exec 2.6.查看容器的日志 kubectl logs 2.7.kubectl自动补齐 yum -y install bash-completionbashsource <(kubectl completion bash) 三、Pod操作 3.1. 生成一个外部访问的端口 kubectl expose deployment web --port=80 --type=NodePort 3.2. 强制删除Pod 新Pod已经Running,但上一个Pod一直处于Terminal状态 kubectl delete pod Podname --force --grace-period=0 3.3. 添加taint,避免Pod 调度到特定Node 上 kubectl taint node knative-node1 foo=bar:NoSchedule#删除taintkubectl taint node knative-node1 foo=bar:NoSchedule- 2.4. 将Pod的开放端口映射到本地 把Pod的80端口映射到本地的8888端口 kubectl port-forward --address 0.0.0.0 3.5. 在Pod和本地之间复制文件 kubectl cp 3.6 启动一个测试DNS的Pod kubectl run dns-test -it --rm --image=busybox:1.28.4 -- sh 3.7. 查看pod标签 kubectl get pods --show-labels 3.8.查看Pod支持的字段 kubectl explain pods.spec.containers 3.9.列出指定标签的Pod名称 kubectl get pod -l app=web -o name 查看指定标签使用cpu最高的pod kubectl top pods -l app=web --sort-by="cpu" 四、RC操作 4.1. 动态缩放 kubectl scale rc myweb --replicas=3 五、Deployment 5.1.创建一个Deployment kubectl create deployment web --image=tomcat-app:v1 5.2.导出一个标准Deployment的yaml文件 #需要删除里面的creationTimestamp: null和status: {}kubectl create deployment web --image=nginx --dry-run=client -o yaml > deployment.template#对现有资源进行导出,内容比较多kubectl get deployment web -o yaml > deployment.template 5.3.查看Deployment支持的字段 kubectl explain deployment 5.4.滚动升级 kubectl 更新容器镜像的几种方式 #web为deployment的名字,tomcat-app为容器的名字,tomcat:latest为镜像,--record记录操作日志,方便回滚kubectl set image deployment web tomcat-app=tomcat:latest --record#查看升级状态kubectl rollout status deployment web 滚动升级时,如果镜像版本一致,不会触发pod重建,容器更新 kubectl rollout restart deploy deploy名字 #此命令可以让容器重新部署 5.5.版本回滚 #查看Deployment部署过的版本kubectl rollout history deployment web#回滚到上一个版本kubectl rollout undo deployment web#回滚到指定版本kubectl rollout undo deployment web --to-revision=2 5.6.弹性伸缩 #至少有3个Pod,当该Deployment下的所有Pod的CPU使用率之和达到80%时会扩容Pod到4~10个之间kubectl autoscale deployment web --min=3 --max=10 --cpu-percent=80#上述命令会创建一个HPAkubectl get hpa 六、Service 6.1.发布一个服务 kubectl expose deployment web --port=80 --target-port=8080 --type=NodePort --port=80 #该Service监听的端口,可以通过Cluster IP+该端口访问--target-port=8080 #业务容器监听的端口--type=NodePort #采用NodePort类型,系统会随机分配一个端口供外部访问 curl 10.1.170.105 6.2.导出一个标准Service的yaml文件 #需要删除里面的creationTimestamp: null、status: 和loadBalancer: {}kubectl expose deployment web --port=80 --target-port=8080 --type=NodePort --dry-run=client -o yaml > service.template 七、命名空间 7.1.创建名字为cka的命名空间 kubectl create ns cka 7.2.给命名空间设置标签 kubectl label namespaces default testing=truekubectl label namespaces default testing- #删除标签 八、Node 8.1.给节点加污点,不往上面调度Pod kubectl cordon 节点名 8.2.给节点打标签 kubectl label node 节点名 nodeType=devkubectl label node 节点名 nodeType- #删除标签 查看node污点 kubectl get nodes k8s-master -o go-template={{.spec.taints}} 九、PV 9.1.按容量进行排序 kubectl get pv --sort-by={.spec.capacity.storage} 十、实战 删除k8s节点 #设置不可调度kubectl cordon 节点名#驱逐podkubectl drain 节点名 --delete-local-data --ignore-daemonsets#检查pod是否全部驱逐成功kubectl describe nodes 节点名#摘除集群kubectl delete nodes 节点名
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~