k8s管理对象的三种方式

管理的三种形式

  1. 命令式对象管理 kubectl create deployment nginx --image nginx
  2. 命令式对象配置 kubectl create -f nginx.yaml
  3. 声明式对象配置 kubectl apply -f nginx.yaml

三个概念

  • object configuration file / configuration file:定义 Kubernetes 对象配置的文件,通常存储在源代码控制中,比如 Git。
  • live object configuration / live configuration:对 Kubernetes 集群可见的对象的实时配置值。保存在 Kubernetes 集群存储中,通常是 etcd。
  • declarative configuration writer / declarative writer:对活动对象进行更新的人员或软件组件。本主题中提到的 live writer 会更改对象的配置文件,并运行 kubectl apply 来写入更改

命令式对象管理

优缺点

简单易学,只能操作活动对象,无法跟踪、审计(我的理解就是没有文件目录,没法统一管理)

创建对象

  • run:创建 Deployment 对象,用于在 Pod 中运行容器。
  • expose:创建 Service 对象,用于在 Pod 之间负载均衡流量。
  • autoscale:创建 Autoscaler 对象,用于自动水平伸缩控制器,例如 Deployment。

更新对象

  • scale:水平伸缩控制器,通过更新控制器的副本数量来添加或删除 Pod。
  • annotate:添加或删除对象的注释。
  • label:添加或删除对象的标签。
  • set:设置对象的一个方面。不同对象的字段可能不同
  • edit:通过在编辑器中打开其配置文件,直接编辑活动对象的原始配置。
  • patch:使用 patch 命令指定的字符串直接修改活动对象的特定字段。

查看对象

  • get:打印对象基本信息。
  • describe:打印对象详细信息。
  • logs:打印 Pod 中运行的容器的 STDOUT 和 STDERR 信息。

删除对象

  • delete type>/name>

命令式对象配置

优缺点

配置文件可以使用版本控制,可以审计、跟踪;不支持目录操作,项目大时,配置文件多,操作麻烦。只能通过配置文件更新(整个替换)活动对象。

创建对象

  • kubectl create -f

更新对象

  • kubectl replace -f

查看对象

  • kubectl get -f -o yaml

删除对象

  • kubectl delete -f

声明式对象配置

优缺点

支持目录操作,可以直接更改活动对象并保留信息(例如用init.yaml创建了一个deployment,可以再写一个update.yaml 升级同一个deployment,k8s中的deployment的kubectl.kubernetes.io/last-applied-configuration注释将显示update.yaml修改后的配置结果);意外情况下难以调试。

创建对象

  • kubectl apply -f

这会为每个对象设置 kubectl.kubernetes.io/last-applied-configuration: '{...}' 注释。注释包含用于创建对象的对象配置文件的内容。

可以通过 -R 选项递归处理目录。

更新对象

  • kubectl apply -f

查看对象

  • kubectl get -f -o yaml

删除对象

  • kubectl delete -f (推荐)
  • kubectl apply -f --prune -l your=label (强烈不建议)

参考:https://blog.csdn.net/kikajack/article/details/80216582

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值