Astro轻应用 AstroZero-配置Chart:Chart元素说明

时间:2023-11-01 16:25:39

Chart元素说明

  • ConfigMap

    是一种用于存储工作负载所需配置信息的资源类型,内容由用户决定。配置项创建完成后,可在工作负载中作为文件或环境变量使用。允许将配置文件从容器镜像中解耦,从而增强容器工作负载的可移植性。

  • Secret(密钥)
    是一种用于存储工作负载所需要认证信息、密钥的敏感信息等的资源类型,内容由用户决定。资源创建完成后,可在容器工作负载中作为文件或环境变量使用。其配置页面上参数含义与ConfigMap大体相同,差异的参数说明如下:
    • “密钥类型”取值为“Opaque”,表示一般密钥类型。
    • “密钥数据”的“值”必须使用Base64编码。对字符串进行Base64加密,可以直接使用“echo -n 待编码内容 | base64”命令。
      root@ubuntu:~# echo -n "待编码内容" | base64
  • 无状态负载

    等同于Kubernetes中的“Deployment”概念,所有Pod实例之间是对等的,互不依赖,少了任意一个Pod实例,并不影响整个工作负载的功能。

  • 有状态负载

    等同于Kubernetes中的“StatefulSet”概念,是用来管理有状态应用的工作负载API对象。和“无状态负载”相同的是,“有状态负载”管理了基于相同容器定义的一组Pod。和“无状态负载”不同的是,“有状态负载”为每个Pod维护了一个固定的ID。这些Pod是基于相同的声明来创建的,但是不能相互替换。无论怎么调度,每个Pod都有一个永久不变的ID。选择“有状态负载”时,必须要配置“实例间发现服务”。

    实例间发现服务指的是Kubernetes的Headless Service,Headless Service用于控制Pod的网络域名,通过Pod的网络域名可以访问特定的Pod实例。例如,集群域名为cluster.local,有状态负载的名称为web,有3个Pod实例,则3个Pod的名称分别为web-0、web-1和web-2,Headless Service的名称为nginx,则3个Pod的域名分别是web-0.nginx.$(命名空间).svc.cluster.local、web-1.nginx.$(命名空间).svc.cluster.local、web-2.nginx.$(命名空间).svc.cluster.local,通过Pod域名访问到具体的Pod实例。

support.huaweicloud.com/usermanual-astrozero/astrozero_05_0265.html