k8s声明式命令+yaml
k8s声明式命令+yaml一、声明式管理方法适合适合于对资源的修改操作声明式资源管理方法依赖于资源配置清单文件对资源进行管理对资源的管理,是通过实先定义在同一资源内,再通过陈述式命令应用到k8s集群里语法格式:kubectl create/apply/delete -f xxxx.yaml//查看资源配置清单kubectl get deployment nginx -o yaml//解释资源配置清
·
k8s声明式命令+yaml
一、声明式管理方法
- 适合适合于对资源的修改操作
- 声明式资源管理方法依赖于资源配置清单文件对资源进行管理
- 对资源的管理,是通过实先定义在同一资源内,再通过陈述式命令应用到k8s集群里
- 语法格式:kubectl create/apply/delete -f xxxx.yaml
//查看资源配置清单
kubectl get deployment nginx -o yaml
//解释资源配置清单
kubectl explain deployment.metadata
kubectl get service nginx -o yaml
kubectl explain service.metadata
//修改资源配置清单应用
离线修改:
修改yaml文件,并用kubectl apply -f xxxx.yaml 文件使之生效
注意:当apply不生效是,先使用delete清楚资源,再apply创建资源
kubectl get service nginx -o yaml > nginx-svc.yaml
vim nginx-svc.yaml #修改port:8080
kubectl delete -f nginx-svc.yaml
kubectl apply -f nginx-svc.yaml
kubectl get svc
在线修改:
直接使用 kubectl edit service nginx 在线编辑资源配置清单并保存退出即时生效(如port:888)
#此修改方式不会对yaml文件内容修改
//删除资源配置清单
陈述式删除:
kubectl delete service nginx
声明式删除:
kubectl delete -f nginx-svc.yaml
二、yaml文件
kubernets支持yaml和json格式管理资源对象
json格式:主要用于api接口之间消息的传递
yaml格式:用于配置和管理,yaml文件是一种简洁的非标记性语言,内容格式人性化,易读
yaml语法格式:
- 大小写敏感
- 使用缩进表示层级关系
- 不支持tab键制表符缩进,只使用空格缩进
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可,通常开头缩进两个空格
- 符号字符后缩进一个空格,如冒号,逗号,短横杠(-)等
- “—”表示yaml格式,一个文件的开始,用于分隔文件
- “#”表示注释
详解k8s中的port:
- port
port是k8s集群内部访问service的端口,即通过clusterIP:port 可以从Pod所在的Node上访问到service
- nodeport
nodeport是外部访问k8s集群中service的端口,通过nodeIP:nodeport可以从外部访问到某个service。
- targetport
targetport是pod的端口,从port或nodeport来的流量经过kube-proxy反向代理负载均衡转发到后端pod的targetport上,最后进入容器。
- containerport
containerport是pod内部容器的端口,targetport映射到containerport
快速生成yaml文件:
kubectl create deployment nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run=client -o #生成模板
kubectl create deployment nginx-test --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml > nginx-test.yaml #生成模板文件
kubectl get svc nginx-svc -o yaml > test_svc.yaml
更多推荐
已为社区贡献3条内容
所有评论(0)