k8s声明式命令+yaml

k8s声明式命令+yaml

一、声明式管理方法

  1. 适合适合于对资源的修改操作

  1. 声明式资源管理方法依赖于资源配置清单文件对资源进行管理

  1. 对资源的管理,是通过实先定义在同一资源内,再通过陈述式命令应用到k8s集群里

  1. 语法格式: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值