本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

SUSE Rancher Prime Helm Chart 选项

本页面是 Rancher Helm chart 的配置参考。

有关启用实验性功能的信息,请参阅 启用实验性功能

通用选项

选项 默认值 说明

bootstrapPassword

" "

string - 为第一个管理员用户设置 启动密码。登录后,管理员应重置其密码。如果未设置此值,将使用随机生成的启动密码。

hostname

" "

string - 您的 Rancher 服务器的完全限定域名

ingress.tls.source

"rancher"

string - 获取 ingress 证书的位置。 - "rancher, letsEncrypt, secret"

letsEncrypt.email

" "

string - 您的电子邮件地址

letsEncrypt.environment

"production"

string - 有效选项:"staging, production"

privateCA

false

bool - 如果您的证书由私有 CA 签名,则设置为 true

高级选项

选项 默认值 说明

additionalTrustedCAs

false

bool - 请参见 附加受信任的 CA

addLocal

"true"

string - 让 Rancher 检测并导入 "local"(上游)Rancher 服务器集群。 注意:此选项在 v2.5.0 中不再可用。考虑使用 restrictedAdmin 选项以防止用户修改本地群集。

agentTLSMode

""

string - 要么是 system-store,要么是 strict。查看 代理 TLS 强制执行

antiAffinity

"preferred"

string - Rancher pods 的反亲和性规则 - "首选,必需"

auditLog.destination

"sidecar"

string - 流式传输到边车容器控制台或 hostPath 卷 - "边车,hostPath"

auditLog.hostPath

"/var/log/rancher/audit"

string - 主机上的日志文件目标(仅在 auditLog.destination 设置为 hostPath 时适用)

auditLog.enabled

false

bool - 启用/禁用审计日志。

auditLog.level

0

int - 设置 API 审计日志 级别。[0-3]

auditLog.maxAge

1

int - 保留旧审计日志文件的最大天数(仅在 auditLog.destination 设置为 hostPath 时适用)

auditLog.maxBackup

1

int - 保留的审计日志文件的最大数量(仅在 auditLog.destination 设置为 hostPath 时适用)

auditLog.maxSize

100

int - 审计日志文件在旋转之前的最大大小(以兆字节为单位)(仅在 auditLog.destination 设置为 hostPath 时适用)

auditLog.image.repository

"registry.suse.com/bci/bci-micro"

string - 用于收集审计日志的镜像位置。

auditLog.image.tag

"15.4.14.3"

string - 用于收集审计日志的镜像标签。

auditLog.image.pullPolicy

"IfNotPresent"

string - 覆盖审计日志镜像的 imagePullPolicy - "始终","从不","如果不存在"。

busyboxImage

""

string - 用于收集审计日志的 busybox 镜像位置。注意:此选项已弃用,请使用 auditLog.image.repository 控制审计边车容器镜像。

certmanager.version

""

string - 设置 cert-manager 兼容性

debug

false

bool - 在 Rancher 服务器上设置调试标志

extraEnv

[]

list - 为 Rancher 设置附加环境变量

imagePullSecrets

[]

list - 包含私有注册表凭据的 Secret 资源名称列表

ingress.configurationSnippet

""

string - 额外的 Nginx 配置。可用于代理配置。

ingress.extraAnnotations

{}

map - 额外注释以自定义入口。

ingress.enabled

true

string - 设置为 false 时,Helm 将不会安装 Rancher 入口。将选项设置为 false 以部署您自己的入口。

letsEncrypt.ingress.class

""

string - 可选的入口类,用于 cert-manager acmesolver 入口,以响应 Let’s Encrypt ACME 挑战。选项:traefik,nginx。

noProxy

"127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local,cattle-system.svc"

string - 不使用代理的主机名或 IP 地址的逗号分隔列表。

proxy

""

string - Rancher 的 HTTP[S] 代理服务器。

image.registry

""

string - 覆盖特定于 rancher 镜像的注册表,例如 http://registry.example.com/

image.repository

"rancher/rancher"

string - rancher 镜像源。

image.pullPolicy

"IfNotPresent"

string - 覆盖 Rancher 服务器镜像的 imagePullPolicy - "Always", "Never", "IfNotPresent"。

image.tag

""

string - 默认值为 .Chart.appVersion,用于 rancher/rancher 镜像标签。

replicas

3

int - Rancher 服务器副本的数量。设置为 -1 将根据集群中可用节点的数量动态选择 1、2 或 3。

resources

{}

map - Rancher pod 资源请求和限制。

systemDefaultRegistry

""

string - 用于所有系统容器镜像的私有注册表,例如 https://registry.example.com/

tls

"ingress"

string - 有关详细信息,请参见 外部 TLS 终止 - "ingress, external"。

useBundledSystemChart

false

bool - 选择使用与 Rancher 服务器打包的系统图表。此选项用于隔离安装。

启动密码

您可以在 Rancher 安装期间 设置特定的启动密码。如果您没有设置特定的启动密码,Rancher 会随机生成一个密码用于第一个管理员账户。

首次登录时,请使用您设置的启动密码进行登录。如果您没有设置启动密码,Rancher UI 会显示可以用于 检索启动密码 的命令。运行这些命令并登录到账户。首次登录后,系统会要求您重置管理员密码。

API 审计日志

启用 API 审计日志

您可以像收集任何容器日志一样收集此日志。为 Rancher 服务器集群上的 System 项目启用 日志记录

--set auditLog.enabled=true --set auditLog.level=1

默认情况下,启用审计日志将在 Rancher pod 中创建一个边车容器。该容器(rancher-audit-log)将日志流式传输到`stdout`。您可以像收集任何容器日志一样收集此日志。当使用边车作为审计日志目标时,hostPathmaxAgemaxBackupsmaxSize 选项不适用。建议使用您的操作系统或 Docker 守护程序的日志轮换功能来控制磁盘空间使用。为 Rancher 服务器集群或系统项目启用 日志记录

auditLog.destination 设置为 hostPath,以将日志转发到与主机系统共享的卷,而不是流式传输到边车容器。当将目标设置为 hostPath 时,您可能需要调整其他 auditLog 参数以进行日志轮换。

设置额外环境变量

您可以使用 extraEnv 为 Rancher 服务器设置额外的环境变量。此列表以 YAML 格式传递给 Rancher 部署。它嵌入在 env 下,用于 Rancher 容器。有关设置容器环境变量的详细信息,请参阅 Kubernetes 文档,extraEnv 可以使用 为容器定义环境变量 中引用的任何键。

考虑一个使用 namevalue 键的示例:

--set 'extraEnv[0].name=CATTLE_TLS_MIN_VERSION'
--set 'extraEnv[0].value=1.0'

如果将敏感数据作为环境变量的值传递,例如代理身份验证凭据,强烈建议使用 Secret 引用。这将防止敏感数据在 Helm 或 Rancher 部署中暴露。

考虑一个使用 namevalueFrom.secretKeyRef.namevalueFrom.secretKeyRef.key 键的示例。请参见 HTTP 代理 中的示例。

TLS 设置

当您在 Kubernetes 集群内部安装 Rancher 时,TLS 会在集群的入口控制器处卸载。可能的 TLS 设置取决于使用的入口控制器。

有关更多信息和选项,请参见 TLS 设置

导入 local 集群

默认情况下,Rancher 服务器将检测并导入其运行的 local 集群。对 local 集群有访问权限的用户将基本上对 Rancher 服务器管理的所有集群拥有 "root" 访问权限。

如果您关闭 addLocal,大多数 Rancher v2.5 功能将无法工作,包括 EKS 提供程序。

如果这在您的环境中是一个问题,您可以在初始安装时将此选项设置为 "false"。

此选项仅在初始 Rancher 安装时有效。有关更多信息,请参见 问题 16522

--set addLocal="false"

自定义您的 Ingress

要自定义或使用不同的 Ingress 与 Rancher 服务器,您可以设置自己的 Ingress 注解。

请参考 Traefik 文档,以获取 Traefik 的 kubernetesIngressNginx 提供程序支持的完整 Ingress NGINX 注解列表和不支持的注解。

设置自定义证书颁发者的示例:

--set ingress.extraAnnotations.'cert-manager\.io/cluster-issuer'=issuer-name

HTTP 代理

Rancher 需要互联网访问以实现某些功能(Helm Chart)。使用`proxy`设置您的代理服务器,或使用`extraEnv`设置`HTTPS_PROXY`环境变量以指向您的代理服务器。

将您的IP例外添加到`noProxy` Chart值中,作为以逗号分隔的列表。确保您添加以下值:

  • Pod集群IP范围(默认:10.42.0.0/16)。

  • 服务集群IP范围(默认:10.43.0.0/16)。

  • 内部集群域(默认:.svc,.cluster.local)。

  • 任何工作集群 controlplane 节点。 Rancher在此列表中支持CIDR表示法范围。

在不包含敏感数据时,可以使用`proxy`或`extraEnv` Chart选项。使用`extraEnv`时,noProxy Helm 选项将被忽略。因此,NO_PROXY`环境变量也必须设置为`extraEnv

以下是使用`proxy` Chart选项设置代理的示例:

--set proxy="http://<proxy_url:proxy_port>/"

使用`extraEnv` Chart选项设置代理的示例:

--set extraEnv[1].name=HTTPS_PROXY
--set extraEnv[1].value="http://<proxy_url>:<proxy_port>/"
--set extraEnv[2].name=NO_PROXY
--set extraEnv[2].value="127.0.0.0/8\,10.0.0.0/8\,172.16.0.0/12\,192.168.0.0/16\,.svc\,.cluster.local"

在包含敏感数据时,例如代理身份验证凭据,请使用`extraEnv`选项与`valueFrom.secretRef`结合,以防止敏感数据在 Helm 或 Rancher 部署中暴露。

以下是使用`extraEnv`配置代理的示例。此示例 Secret 的 "http://<username>:<password>@<proxy_url>:<proxy_port>/" 键中将包含值 "https-proxy-url"

--set extraEnv[1].name=HTTPS_PROXY
--set extraEnv[1].valueFrom.secretKeyRef.name=secret-name
--set extraEnv[1].valueFrom.secretKeyRef.key=https-proxy-url
--set extraEnv[2].name=NO_PROXY
--set extraEnv[2].value="127.0.0.0/8\,10.0.0.0/8\,172.16.0.0/12\,192.168.0.0/16\,.svc\,.cluster.local"

要了解如何配置环境变量,请参考 为容器定义环境变量

附加受信任的 CA

如果您有私有注册表、目录或拦截证书的代理,您可能需要向Rancher添加更多受信任的CA。

--set additionalTrustedCAs=true

一旦创建了Rancher部署,将您的CA证书以pem格式复制到文件名为`ca-additional.pem`的文件中,并使用`kubectl`在`cattle-system`名称空间中创建`tls-ca-additional` Secret。

kubectl -n cattle-system create secret generic tls-ca-additional --from-file=ca-additional.pem=./ca-additional.pem

私有注册表和隔离安装

有关使用私有注册表安装Rancher的详细信息,请参见隔离安装文档。

外部TLS终止

我们建议将负载均衡器配置为第4层负载均衡器,将普通的80/tcp和443/tcp转发到Rancher管理集群节点。集群上的Ingress控制器将把80端口的http流量重定向到443端口的https。

您可以在Rancher集群外部的L7负载均衡器(入口)上终止SSL/TLS。使用`--set tls=external`选项,并将负载均衡器指向所有Rancher集群节点的 http 80 端口。这将使Rancher界面在 http 80 端口上可用。请注意,允许直接连接到Rancher集群的客户端将不会加密。如果您选择这样做,我们建议您在网络级别限制对负载均衡器的直接访问。

如果您使用的是私有CA签名的证书(或如果`agent-tls-mode`设置为`strict`),请添加`--set privateCA=true`并查看添加TLS密钥 - 使用私有CA签名的证书以添加Rancher的CA证书。

您的负载均衡器必须支持长时间的WebSocket连接,并需要插入代理头部,以便Rancher可以正确路由链接。

必需头部

  • Host

  • X-Forwarded-Proto

  • X-Forwarded-Port

  • X-Forwarded-For

  • 读取超时:1800 seconds

  • 写入超时:1800 seconds

  • 连接超时:30 seconds

运行状态检查

Rancher将对`/healthz`端点的健康检查作出`200`响应。