【kubernetes】资源管理方式

目录

          • [1. 说明](#1. 说明)
          • [2. 命令式对象管理](#2. 命令式对象管理)
          • [3. 命令式对象配置](#3. 命令式对象配置)
          • [4. 声明式对象配置](#4. 声明式对象配置)
          • [5. 三种方式的对比](#5. 三种方式的对比)
1. 说明
  • 1.在Kubernetes(k8s)中,资源管理是一个核心功能,它允许用户通过操作资源来管理Kubernetes集群。
  • 2.Kubernetes将所有的内容都抽象为资源,用户可以通过不同的方式来管理这些资源。
  • 3.Kubernetes资源管理的几种主要方式有:命令式对象管理、命令式对象配置、声明式对象配置。
2. 命令式对象管理
  • 1.这种方式直接使用命令去操作Kubernetes资源。
  • 2.kubectl是Kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。
  • 3.kubectl命令的语法格式通常为"kubectl command type name flags"。
  • 4.command(子命令):指定要对资源执行的操作,例如create、get、describe、delete等。
  • 5.type(资源类型):指定资源的对象类型,如pod、deployment、service、configmap等。资源类型区分大小写,可以是单数、复数形式或某些情况下的缩写形式。
  • 6.name(资源名称):指定资源的具体名称。如果省略名称,命令将作用于该类型的所有资源。名称也是区分大小写的。
  • 7.flags(标志/选项):可选参数,用于指定额外的指令或覆盖默认行为。常见的flags包括-n或--namespace用于指定命名空间,-o或--output用于指定输出格式(如yaml、json),--dry-run用于预览操作而不实际执行等。
3. 命令式对象配置
  • 1.这种方式通过命令配置和配置文件去操作Kubernetes资源。
  • 2.用户需要编写一个YAML或JSON格式的配置文件,然后使用kubectl命令配合该配置文件来创建、更新或删除资源。
  • 3.可以使用"kubectl create/patch -f 配置文件"的命令来操作资源。
4. 声明式对象配置
  • 1.这种方式通过apply命令和配置文件去操作Kubernetes资源。
  • 2.与命令式对象配置类似,用户也需要编写一个YAML或JSON格式的配置文件。
  • 3.在使用声明式对象配置时,用户通常使用"kubectl apply -f 配置文件"的命令来应用配置文件。
  • 4.如果资源不存在,则会被创建;如果资源已经存在,则会根据配置文件的内容进行更新。
  • 5.这种方式的好处是用户可以更容易地管理资源的状态,因为配置文件描述了资源的期望状态。
5. 三种方式的对比
  • 1.命令式对象管理:优点在于操作直观、简单,适用于快速执行单个操作。缺点在于对于复杂的资源管理场景,可能需要执行多个命令,不够灵活。
  • 2.命令式对象配置:优点在于可以通过配置文件来管理资源,提高了操作的灵活性和可重复性。缺点在于需要编写和维护配置文件,增加了管理成本。
  • 3.声明式对象配置:优点在于通过配置文件描述了资源的期望状态,使得资源的管理更加直观和易于理解。同时,它也支持资源的自动更新和回滚,提高了资源管理的可靠性和灵活性。缺点同样在于需要编写和维护配置文件。
相关推荐
Patrick_Wilson1 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生1 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Java之美3 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
java_cj9 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
qq_452396239 天前
第十三篇:《K8s 安全基础:RBAC、ServiceAccount、Pod Security》
java·安全·kubernetes
睡不醒男孩03082310 天前
云原生运维实战:高并发架构下的云原生可观测性、韧性降级与自动化干预体系
数据库·kubernetes·高并发·prometheus·devops·sre·缓存调优
qq_4523962310 天前
第十四篇:《K8s 网络模型与 CNI 插件(Calico、Flannel、Cilium)》
网络·kubernetes·php
Hadoop_Liang10 天前
Kubernetes 应用 HTTPS 安全访问配置实践
https·kubernetes
java_cj10 天前
从0到1启动kube-apiserver:深入源码解析API Server启动全流程
docker·容器·kubernetes