【Kubernetes】k8s集群中的声明式管理方法

目录

一、声明式管理方法

二、资源配置清单管理

1.导出资源配置清单

2.修改资源配置清单并应用

1)离线修改

2)在线修改

三、编写yaml文件

1.编写pod.yaml

2.编写deploment.yaml

3.编写service.yaml关联创建的pod

4.总结获取K8S资源配置清单文件模板方法

1)方法一

2)方法二

3)方法三

4)方法四


一、声明式管理方法

1.适合于对资源的修改操作(陈述式方式修改资源非常不方便)

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

资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)

3.对资源的管理,是通过事先定义在统一资源配置清单yaml文件内,再通过陈述式命令应用到k8s

集群里

4.语法格式:kubectl create/apply/delete -f xxxx.yaml

create:表示创建资源不允许修改除非先删除
apply:建议使用的方式
delete:表示删除

二、资源配置清单管理

1.导出资源配置清单

查看资源配置清单
kubectl get 资源类型 资源名称 -o yaml
 
解释资源配置清单
kubectl explain 资源名称.字段名称

2.修改资源配置清单并应用

1)离线修改

cd -
mkdir day3
kubectl get -n xy101 svc svc-myapp -o yaml > svc.yaml
ls
vim svc.yaml  #删除多余内容只保存下图展示
 
kubectl get -n xy101 svc

vim svc.yaml
#直接对导出的yaml文件进行修改
 
kubectl apply -f svc.yaml  #进行更新操作,但是此时会报错,无法修改,因为该service资源不是通过该svc.yaml文件创建的因此无法更新会报错。
 
我们需要进行操作,将原先的service进行删除然后在进行更新
可以使用kubectl delete -n xy101 svc svc-myapp进行删除;也可以通过kubectl delete -f svc.yaml该命令直接删除,因为svc.yaml配置文件中已经定义了该资源的各种参数,直接指定这个文件删除即可
 
 
kubectl delete -f svc.yaml && kubectl apply -f svc.yaml   #删除并更新
kubectl get -n xy101 svc  

vim svc.yaml
 
kubectl apply -f svc.yaml  #此时这个service文件是通过这个yaml文件创建的,因此可以直接使用该命令进行更新操作

2)在线修改

直接使用 kubectl edit service 资源名称 在线编辑资源配置清单并保存退出即时生效
PS:此修改方式不会对yaml文件内容修改  
#但是此种方法并不是所有字段都能进行修改,若遇到 不能修改的字段,则直接选择离线模式进行修改
 
kubectl edit -n xy101 svc svc-myapp
进行修改,保存

通过声明式修改方式实现金丝雀发布(通过控制副本数实现)

重新创建资源、service
kubectl create -n xy101 deployment myapp-v1 --image=soscscs/myapp:v1 --port=80 --replicas=3
kubectl expose -n xy101 deployment myapp-v1 --name=svc-myapp --port=80 --target-port=80 --type=NodePort
 
kubectl get -n xy101 deployments.apps myapp-v1 -o yaml > deploy.yaml
 
vim deploy.yaml 
修改9行 app: myapp-v2
98行  replicas: 1
92行  nam

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值