oracle竖列的数据怎么变成一行
299
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~