Chart 安装选项
这个页面描述了 Rancher Helm Chart 的配置参考。
选择要安装的 Rancher 版本,请参阅选择 Rancher 版本。
有关启用实验性功能的信息,请参阅这个页面。
#
通用选项选项 | 默认值 | 描述 |
---|---|---|
hostname | " " | string - 您的 Rancher Server 的 FQDN |
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 - 请参阅 附加授信 CAs | |
addLocal | "auto" | string - 使 Rancher 发现并且导入"local" Rancher Server 集群 导入"local"集群 | |
antiAffinity | "preferred" | string - Rancher Pod 反亲和性规则 - "preferred, required" | |
auditLog.destination | "sidecar" | string - 发送审计日志到 sidecar 容器的 console,或发送到 hostPath 卷 - "sidecar, hostPath" | |
auditLog.hostPath | "/var/log/rancher/audit" | string - 主机上的日志文件目标地址 (仅在 auditLog.destination 的值为 hostPath 时可用) | |
auditLog.level | 0 | int - 设置 API 审计日志等级。0 代表关闭。[0-3] | |
auditLog.maxAge | 1 | int - 保留旧审计日志的最大天数 (仅在 auditLog.destination 的值为 hostPath 时可用) | |
auditLog.maxBackup | 1 | int - 保留旧审计日志的最大文件个数 (仅在 auditLog.destination 的值为 hostPath 时可用) | |
auditLog.maxSize | 100 | int - 在审计日志被轮换前的以 M 为单位的最大容量 (仅在 auditLog.destination 的值为 hostPath 时可用) | |
busyboxImage | "busybox" | string - 用来收集审计日志的 busybox 镜像的地址。注意:从 v2.2.0 开始可用 | |
certmanager.version | "" | string - set cert-manager compatibility | |
debug | false | bool - 设置 Rancher Server 的 debug 参数 | |
extraEnv | [] | list - 设置 Rancher Server 的额外环境变量 注意:从 v2.2.0 开始可用 | |
imagePullSecrets | [] | list - 私有镜像仓库登录凭证的密文名称列表。 | |
ingress.extraAnnotations | {} | map - 加到 ingress 中的额外 annotation,从而自定义 ingress | |
ingress.configurationSnippet | "" | string - 添加额外的 Nginx 配置。可以用来配置代理。注意:从 v2.0.15, v2.1.10 和 v2.2.4 开始可用 | |
ingress.extraAnnotations | {} | map - 额外的 annotations,用于自定义 ingress | |
ingress.enabled | true | 当设置为 false 时,Helm 不会安装 Rancher ingress。将该选项设为 false,需要你自己部署 ingress。从 v2.5.6 版起可用。 | |
letsEncrypt.ingress.class | "" | string - cert-manager acmesolver ingress 的可选 ingress 类,用于响应 Let's Encrypt ACME challenges。选项:Traefik、nginx。 | |
proxy | "" | string - 给 Rancher 配置 HTTP[S] 代理 | |
noProxy | 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 | string - 通过逗号分隔的不使用代理的 hostnames 或 ip 地址列表。 | |
rancherImage | "rancher/rancher" | string - Rancher 镜像的地址 | |
rancherImageTag | same as chart version | string - rancher/rancher 镜像标签 | |
rancherImagePullPolicy | “IfNotPresent” | string - 覆盖 rancher server 镜像的 imagePullPolicy - “Always”、“Never”、“IfNotPresent” | |
replicas | 3 | int - Rancher Pod 的副本数量 | |
resources | {} | map - Rancher pod 的资源预留和资源限制。 | |
restrictedAdmin | false | 在 Rancher v2.5 中可用 bool - 当该选项设置为 "true" 时,初始 Rancher 用户对本地 Kubernetes 集群的访问受到限制,以防止权限升级。更多信息,请参见restricted-admin 角色 | |
systemDefaultRegistry | "" | string - 全部系统组件相关的 Docker 镜像的私有仓库地址。例如:http://registry.example.com/ 注意:从 v2.3.0 开始可用 | |
tls | "ingress" | string - 请参阅 外部 TLS Termination - "ingress, external" | |
useBundledSystemChart | false | bool - 选择是否用打包在 Rancher Server 容器内的system-charts 。这个参数是针对离线环境使用的。注意:从 v2.3.0 开始可用 |
#
API 审计日志启用 API 审计日志。
你可以像收集任何容器日志一样收集此日志。为 Rancher Server 集群上的 System
项目启用日志。
默认情况下,启用审计日志
将在 Rancher pod 中创建一个 sidecar 容器。这个容器(rancher-audit-log
)会将日志流传输到 stdout
。您可以像收集任何容器日志一样收集此日志。将 sidecar 用作审计日志时, hostPath
, maxAge
, maxBackups
和 maxSize
选项不适用。建议使用您的操作系统或 Docker 守护进程的日志轮换功能来控制磁盘空间的使用。请为 Rancher Server 启用日志服务。
将 auditLog.destination
的值设置为 hostPath
,可以将日志转发至与主机系统共享的卷,而不是传输到 Sidecar 容器。将目标设置为 hostPath
时,您可能需要调整其他 auditLog 参数以进行日志轮换。
#
设置额外环境变量自 v2.2.0 起可用
您可以使用 extraEnv
为 Rancher Server 设置额外的环境变量。该列表使用与容器清单定义相同的 name
和 value
键。记住需要给值加上引号。
#
TLS 设置当您在 Kubernetes 集群内安装 Rancher 时,TLS 会在集群的 ingress controller 上卸载。支持的 TLS 设置取决于使用的 ingress controller。
参见TLS 设置以了解更多信息和选项。
local
集群#
导入 默认情况下,Rancher Server 将检测并导入正在运行的 local
集群。有权访问 local
集群的用户具有对 Rancher Server 管理的所有集群的 root
访问权限。
如果在你的环境中存在这个问题,你可以在初次安装时将此选项设置为 false
。
注意事项: 如果您关闭 addLocal,大多数 Rancher v2.5 功能将无法使用,包括 EKS provisioner。
如果这在您的环境中是一个问题,您可以在初始安装时将此选项设置为“false”。此选项仅在第一次安装 Rancher 时有效。参阅 Issue 16522 获取更多信息。
#
自定义 Ingress要自定义或使用 Rancher Server 的其他 Ingress,您可以设置自己的 Ingress annotations。
设置自定义证书颁发者的示例:
使用 ingress.configurationSnippet
设置静态代理头的示例。该值像模板一样进行解析,因此可以使用变量。
#
HTTP 代理Rancher 需要 Internet 访问才能使用某些功能 (helm charts)。使用 proxy
设置你的代理服务器。
在 noProxy
列表中添加例外的 IP。确保添加了 Pod 集群 IP 范围(默认:10.42.0.0/16
),Service 集群 IP 范围(默认:10.43.0.0/16
),内部集群域(默认:.svc, .cluster.local
)和任何 worker 集群 controlplane
节点。Rancher 在这个列表中支持 CIDR 符号范围。
#
附加授信 CAs如果您有私有镜像仓库(registries)、应用商店(catalogs) 或拦截证书的代理,则可能需要向 Rancher 添加额外的受信任的 CA。
创建完 Rancher deployment 后,将 pem 格式的 CA 证书复制到一个名为 ca-additional.pem
的文件中,并使用 kubectl
在 cattle-system
命名空间中创建 tls-ca-additional
secret。
#
私有镜像仓库(Registry)和离线安装有关使用私有 registry 安装 Rancher 的详细信息,请参阅
#
外部 TLS Termination我们建议将负载均衡器配置为 4 层均衡器,将普通 80/tcp 和 443/tcp 转发到 Rancher 管理集群节点。集群上的 Ingress Controller 会将端口 80 上的 http 通信重定向到端口 443 上的 https。
您可以在 Rancher 集群(ingress)外部的 L7 负载均衡器上终止 SSL/TLS。使用 --set tls=external
选项,将负载均衡器指向所有 Rancher 集群节点上的端口 http 80。这将在 http 端口 80 上公开 Rancher 接口。请注意,允许直接连接到 Rancher 集群的客户端将不会被加密。如果您选择这样做,我们建议您将网络级别上的直接访问限制为仅用于您的负载均衡器。
注意事项: 如果您使用的是专用 CA 签名的证书,请添加
--set privateCA=true
并参阅添加 TLS 密文 - 使用私有的 CA 签名证书来完成给 Rancher 添加 CA 证书。
您的负载均衡器必须支持长期存在的 Websocket 连接,并且需要插入代理标头,以便 Rancher 可以正确路由链接。
#
使用 NGINX v0.25 为外部 TLS 配置 Ingress在 NGINX v0.25 中,关于转发头和外部 TLS Termination,NGINX 的行为已更改。因此,在将外部 TLS Termination 配置与 NGINX v0.25 结合使用的情况下,必须编辑 cluster.yml
来启用用于 ingress 的 use-forwarded-headers
选项:
#
必要的 HeadersHost
X-Forwarded-Proto
X-Forwarded-Port
X-Forwarded-For
#
建议的超时时间- Read Timeout:
1800 seconds
- Write Timeout:
1800 seconds
- Connect Timeout:
30 seconds
#
健康检查Rancher 将对 /healthz
端点上的健康检查做出 200
响应。
#
NGINX 配置示例此 NGINX 配置已在 NGINX 1.14 上进行了测试。
注意事项: 此 NGINX 配置只是一个示例,可能不适合您的环境。完整文档请参阅NGINX 负载均衡 - HTTP 负载均衡。
- 将
IP_NODE1
,IP_NODE2
和IP_NODE3
替换为集群中节点的 IP 地址。 - 将两个出现的
FQDN
替换为 Rancher 的 DNS 名称。 - 将
/certs/fullchain.pem
和/certs/privkey.pem
分别替换为服务器证书和服务器证书密钥的位置。