mirror of
https://github.com/rancher/rancher-docs.git
synced 2026-05-04 20:23:24 +00:00
Add version-2.7 docs
This commit is contained in:
+78
@@ -0,0 +1,78 @@
|
||||
---
|
||||
title: EC2 主机配置参考
|
||||
---
|
||||
|
||||
有关 EC2 和节点的更多详细信息,请参阅 [EC2 管理控制台](https://aws.amazon.com/ec2)的官方文档。
|
||||
|
||||
### 区域
|
||||
|
||||
构建集群的地理[区域](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)。
|
||||
|
||||
### 地区
|
||||
|
||||
[地区](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones),一个区域内用于构建集群的隔离位置。
|
||||
|
||||
### 实例类型
|
||||
|
||||
[实例类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)用于配置集群,能确定硬件特性。
|
||||
|
||||
### 根磁盘大小
|
||||
|
||||
配置[根设备](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/RootDeviceStorage.html)的大小(以 GB 为单位)。
|
||||
|
||||
### VPC/子网
|
||||
|
||||
[VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) 或特定的[子网](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)(VPC 中的一个 IP 范围),用于添加你的资源。
|
||||
|
||||
### IAM 实例配置文件名称
|
||||
|
||||
示例配置文件的名称,用于将 IAM 角色传递给 EC2 实例。
|
||||
|
||||
## 高级选项
|
||||
|
||||
### AMI ID
|
||||
|
||||
用于集群中节点的 [Amazon Machine Image(AMI)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html)。
|
||||
|
||||
### 用于 AMI 的 SSH 用户名
|
||||
|
||||
用于连接到你启动的实例的用户名。有关选定 AMI 的默认用户名,请参阅[此处](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connection-prereqs.html)。对于未列出的 AMI,请咨询 AMI 提供商。
|
||||
|
||||
### 安全组
|
||||
|
||||
选择默认安全组或配置安全组。
|
||||
|
||||
请参考[使用主机驱动时的 Amazon EC2 安全组](../../../../getting-started/installation-and-upgrade/installation-requirements/port-requirements.md#rancher-aws-ec2-安全组),了解 `rancher-nodes` 安全组中创建的规则。
|
||||
|
||||
### EBS 根卷类型
|
||||
|
||||
用于根设备的 [EBS 卷类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html)。
|
||||
|
||||
### 加密 EBS 卷
|
||||
|
||||
启用 [Amazon EBS 加密](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)。
|
||||
|
||||
### 请求 Spot 实例
|
||||
|
||||
开启[请求 Spot 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)选项,并指定你愿意支付的最高实例价格(每小时)。
|
||||
|
||||
### 仅使用私有地址
|
||||
|
||||
启用仅使用[私人地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html)的选项。
|
||||
|
||||
### EBS 优化实例
|
||||
|
||||
使用 [EBS 优化实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)。
|
||||
|
||||
### 允许访问 EC2 元数据
|
||||
|
||||
启用对 [EC2 元数据](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)的访问。
|
||||
|
||||
### 为元数据使用 Token
|
||||
|
||||
使用 [Instance Metadata Service Version 2 (IMDSv2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html),即基于令牌访问元数据的方法。
|
||||
|
||||
### 添加标签
|
||||
|
||||
使用[标签](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)添加元数据,从而对资源进行分类。
|
||||
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
---
|
||||
title: Azure 主机配置
|
||||
---
|
||||
|
||||
有关 Azure 的更多信息,请参阅官方 [Azure 文档](https://docs.microsoft.com/en-us/azure/?product=featured)。
|
||||
|
||||
### 环境
|
||||
|
||||
Microsoft 提供了多个[云](https://docs.microsoft.com/en-us/cli/azure/cloud?view=azure-cli-latest)来满足地区法律的要求:
|
||||
|
||||
- AzurePublicCloud
|
||||
- AzureGermanCloud
|
||||
- AzureChinaCloud
|
||||
- AzureUSGovernmentCloud
|
||||
|
||||
### 位置
|
||||
|
||||
配置集群和节点的[位置](https://docs.microsoft.com/en-us/azure/virtual-machines/regions)。
|
||||
|
||||
### 资源组
|
||||
|
||||
资源组是一个容器,其中包含 Azure 解决方案的相关资源。资源组可以包括解决方案的所有资源,或者仅包括你希望作为一个组来管理的资源。你可以根据组织的需求来决定如何将资源分配给资源组。通常情况下,你可以将生命周期相同的资源添加到同一个资源组,以便轻松地按组进行部署、更新和删除。
|
||||
|
||||
你可以使用现有资源组,也可以输入资源组的名称,然后系统将为你创建一个资源组。
|
||||
|
||||
有关管理资源组的信息,请参阅 [Azure 文档](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-portal)。
|
||||
|
||||
### 可用性集(非托管)
|
||||
|
||||
要添加 VM 的现有[可用性集](https://docs.microsoft.com/en-us/azure/virtual-machines/availability-set-overview)的名称或 ID。
|
||||
|
||||
### 镜像
|
||||
|
||||
作为 ARM 资源标识符提供的操作系统镜像的名称。需要使用托管磁盘。
|
||||
|
||||
### 虚拟机大小
|
||||
|
||||
为节点池中的每个 VM 选择一个大小。有关每个 VM 大小的详细信息,请参阅[此页面](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/)。
|
||||
|
||||
## 高级选项
|
||||
|
||||
### 容错域数量
|
||||
|
||||
容错域定义了共享公共电源和网络交换机的虚拟机组。如果可用性集已创建,将忽略容错域数量。
|
||||
|
||||
有关容错域的更多信息,请参阅[此处](https://docs.microsoft.com/en-us/azure/virtual-machines/availability-set-overview#how-do-availability-sets-work)。
|
||||
|
||||
### 更新域数量
|
||||
|
||||
更新域表示可以同时重新启动的虚拟机组和底层物理硬件。如果可用性集已创建,将忽略更新域数量。
|
||||
|
||||
有关更新域的更多信息,请参阅[此处](https://docs.microsoft.com/en-us/azure/virtual-machines/availability-set-overview#how-do-availability-sets-work)。
|
||||
|
||||
### 购买计划
|
||||
|
||||
Azure 市场中的某些 VM 镜像需要购买计划。如果适用,请为你选择的镜像选择格式为 `publisher:product:plan` 的购买计划。
|
||||
|
||||
### 子网
|
||||
|
||||
创建新 VNet 或引用现有 VNet 时的子网名称。
|
||||
|
||||
默认值:`docker-machine`
|
||||
|
||||
### 子网前缀
|
||||
|
||||
创建 CIDR 格式的新 VNet 时要使用的子网 IP 地址前缀。
|
||||
|
||||
默认值:`192.168.0.0/16`
|
||||
|
||||
### 虚拟网络
|
||||
|
||||
要使用或创建的[虚拟网络](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview)(如果不存在)。格式为 `[resourcegroup:]name`。
|
||||
|
||||
### 公共 IP 选项
|
||||
|
||||
#### 没有公共 IP
|
||||
|
||||
不要分配公共 IP 地址。
|
||||
|
||||
#### 静态公共 IP
|
||||
|
||||
分配静态公共 IP 地址。
|
||||
|
||||
### 使用私有 IP
|
||||
|
||||
使用静态私有 IP 地址。
|
||||
|
||||
### 私有 IP 地址
|
||||
|
||||
配置要使用的静态私有 IP 地址。
|
||||
|
||||
### 网络安全组
|
||||
|
||||
要使用的[网络安全组(NSG)](https://docs.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview)。使用此模板的所有节点都将使用配置的网络安全组。如果没有配置网络安全组,则为每个节点创建一个新的网络安全组。
|
||||
|
||||
### DNS 标签
|
||||
|
||||
公共 IP 地址的唯一 DNS 名称标签。
|
||||
|
||||
### 储存类型
|
||||
|
||||
用于 VM 的[存储账号](https://docs.microsoft.com/en-us/azure/storage/common/storage-account-overview)类型。可选项包括 Standard LRS、Standard ZRS、Standard GRS、Standard RAGRS 和 Premium LRS。
|
||||
|
||||
### 使用托管磁盘
|
||||
|
||||
[Azure 托管磁盘](https://docs.microsoft.com/en-us/azure/virtual-machines/managed-disks-overview)是由 Azure 管理并与 Azure Virtual Machines 一起使用的块级存储卷。托管磁盘旨在实现 99.999% 的高可用性。托管磁盘通过提供三个数据副本来实现高可用性和高持续性。
|
||||
|
||||
### 托管磁盘大小
|
||||
|
||||
每个节点的磁盘大小(以 GB 为单位)。
|
||||
|
||||
### SSH 用户名
|
||||
|
||||
用于 SSH 连接到节点的用户名。
|
||||
|
||||
### 开放端口
|
||||
|
||||
打开指定端口上的入站流量。如果你使用现有的网络安全组,将忽略开放端口。
|
||||
|
||||
默认值:`2379/tcp, 2380/tcp, 6443/tcp, 9796/tcp, 10250/tcp, 10251/tcp, 10252/tcp, 10256/tcp` 和 `8472/udp, 4789/udp`
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: DigitalOcean 主机配置
|
||||
---
|
||||
|
||||
有关 DigitalOcean、Droplet 的更多详细信息,请参阅[官方文档](https://docs.digitalocean.com/products/compute/)。
|
||||
|
||||
### 区域
|
||||
|
||||
配置创建 Droplet 的[区域](https://docs.digitalocean.com/products/app-platform/concepts/region/)。
|
||||
|
||||
### 大小
|
||||
|
||||
配置 Droplet 的[大小](https://docs.digitalocean.com/products/droplets/resources/choose-plan/)。
|
||||
|
||||
### 操作系统镜像
|
||||
|
||||
配置用于创建 Droplet 的操作系统[镜像](https://docs.digitalocean.com/products/images/)。
|
||||
|
||||
### Monitoring
|
||||
|
||||
启用 DigitalOcean 代理以进行额外的[监控](https://docs.digitalocean.com/products/monitoring/)。
|
||||
|
||||
### IPv6
|
||||
|
||||
为 Droplet 启用 IPv6。
|
||||
|
||||
### 私有网络
|
||||
|
||||
为 Droplet 启用私有网络。
|
||||
|
||||
### Droplet 标签
|
||||
|
||||
将标签(tag, label)应用于 Droplet。标签只能包含字母、数字、冒号、破折号和下划线。例如,`my_server`。
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
---
|
||||
title: EC2 节点模板配置
|
||||
---
|
||||
|
||||
有关 EC2 和节点的更多详细信息,请参阅 [EC2 管理控制台](https://aws.amazon.com/ec2)的官方文档。
|
||||
|
||||
### 区域
|
||||
|
||||
在**区域**字段中,选择创建云凭证时使用的同一区域。
|
||||
|
||||
### 云凭证
|
||||
|
||||
你的 AWS 账户访问信息,存储在[云凭证](../../../user-settings/manage-cloud-credentials.md)中。
|
||||
|
||||
请参阅 [Amazon 文档:创建访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey)来创建访问密钥和密文密钥。
|
||||
|
||||
请参阅 [Amazon 文档:创建 IAM 策略(控制台)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start)来创建 IAM 策略。
|
||||
|
||||
请参阅 [Amazon 文档:为用户添加权限(控制台)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)了解如何绑定 IAM。
|
||||
|
||||
参阅下面的三个示例 JSON 策略:
|
||||
|
||||
- [IAM 策略示例](../../../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/create-an-amazon-ec2-cluster.md#iam-策略示例)
|
||||
- [带有 PassRole 的 IAM 策略示例](../../../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/create-an-amazon-ec2-cluster.md#带有-passrole-的-iam-策略示例)(如果要使用 [Kubernetes 云提供商](../../../../pages-for-subheaders/set-up-cloud-providers.md),或将 IAM 配置文件传递给实例,则需要)
|
||||
- [允许用户加密 EBS 卷的 IAM 策略示例](../../../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/create-an-amazon-ec2-cluster.md#允许加密-ebs-卷的-iam-策略示例)
|
||||
|
||||
### 验证和配置节点
|
||||
|
||||
为集群选择可用区和网络设置。
|
||||
|
||||
### 安全组
|
||||
|
||||
选择默认安全组或配置安全组。
|
||||
|
||||
请参考[使用主机驱动时的 Amazon EC2 安全组](../../../../getting-started/installation-and-upgrade/installation-requirements/port-requirements.md#rancher-aws-ec2-安全组),了解 `rancher-nodes` 安全组中创建的规则。
|
||||
|
||||
---
|
||||
**_v2.6.4 的新功能_**
|
||||
|
||||
如果你自行为 EC2 实例提供安全组,Rancher 不会对其进行修改。因此,你需要让你的安全组允许 [Rancher 配置实例所需的端口](../../../../getting-started/installation-and-upgrade/installation-requirements/port-requirements.md#rke-上-rancher-server-节点的端口)。有关使用安全组控制 EC2 实例的入站和出站流量的更多信息,请参阅[这里](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#WorkingWithSecurityGroups)。
|
||||
|
||||
### 实例选项
|
||||
|
||||
配置要创建的实例。确保为 AMI 配置正确的 **SSH 用户**。所选的区域可能不支持默认实例类型。在这种情况下,你必须选择一个确实存在的实例类型。否则将出现错误,表示请求的配置不受支持。
|
||||
|
||||
如果需要传递 **IAM 示例配置名称**(不是 ARN),例如要使用 [Kubernetes 云提供商](../../../../pages-for-subheaders/set-up-cloud-providers.md)时,策略则需要其他权限。有关示例策略,请参阅[带有 PassRole 的 IAM 策略示例](#带有-passrole-的-iam-策略示例)。
|
||||
|
||||
### 引擎选项
|
||||
|
||||
在节点模板的**引擎选项**中,你可以配置容器 daemon。你可能需要指定容器版本或容器镜像仓库 Mirror。
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Azure 节点模板配置
|
||||
---
|
||||
|
||||
有关 Azure 的更多信息,请参阅官方 [Azure 文档](https://docs.microsoft.com/en-us/azure/?product=featured)。
|
||||
|
||||
账户访问信息存储在云凭证中。云凭证存储在 Kubernetes 密文中。多个节点模板可以使用相同的云凭证。你可以使用现有的云凭证或创建新的凭证。
|
||||
|
||||
- **Placement** 设置托管集群的地理区域以及其他位置元数据。
|
||||
- **Network** 配置集群中使用的网络。
|
||||
- **Instance** 自定义你的 VM 配置。
|
||||
|
||||
:::note
|
||||
|
||||
如果在与 VM 不同的资源组中使用 VNet,则 VNet 名称需要以资源组名称作为前缀。例如,`<resource group>:<vnet>`。
|
||||
|
||||
:::
|
||||
|
||||
如果你使用 Docker,[Docker daemon](https://docs.docker.com/engine/docker-overview/#the-docker-daemon) 配置选项包括:
|
||||
|
||||
- **标签**:有关标签的信息,请参阅 [Docker 对象标签文档](https://docs.docker.com/config/labels-custom-metadata/)。
|
||||
- **Docker 引擎安装 URL**:确定要在实例上安装的 Docker 版本。
|
||||
|
||||
:::note
|
||||
|
||||
如果要配置 Red Hat Enterprise Linux (RHEL) 或 CentOS 节点,请将 **Docker Install URL** 字段保留为默认值,或选择 **none**。由于 Docker 已经安装在这些节点上,因此将绕过 Docker 安装检查。
|
||||
|
||||
如果没有将 **Docker Install URL** 设置为默认值或 **none**,你可能会看到错误消息:`Error creating machine: RHEL ssh command error: command: sudo -E yum install -y curl err: exit status 1 output: Updating Subscription Management repositories`。
|
||||
|
||||
:::
|
||||
|
||||
- **镜像仓库 mirror**:Docker daemon 使用的 Docker 镜像仓库镜像。
|
||||
- **其他高级选项**:参见 [Docker daemon 选项参考](https://docs.docker.com/engine/reference/commandline/dockerd/)。
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: DigitalOcean 节点模板配置
|
||||
---
|
||||
|
||||
账户访问信息存储在云凭证中。云凭证存储在 Kubernetes 密文中。多个节点模板可以使用相同的云凭证。你可以使用现有的云凭证或创建新的凭证。
|
||||
|
||||
### Droplet 选项
|
||||
|
||||
**Droplet 选项**用于配置集群的地理区域和规范。
|
||||
|
||||
### Docker Daemon
|
||||
|
||||
如果你使用 Docker,[Docker daemon](https://docs.docker.com/engine/docker-overview/#the-docker-daemon) 配置选项包括:
|
||||
|
||||
- **标签**:有关标签的信息,请参阅 [Docker 对象标签文档](https://docs.docker.com/config/labels-custom-metadata/)。
|
||||
- **Docker 引擎安装 URL**:确定要在实例上安装的 Docker 版本。
|
||||
- **镜像仓库 mirror**:Docker daemon 使用的 Docker 镜像仓库镜像。
|
||||
- **其他高级选项**:参见 [Docker daemon 选项参考](https://docs.docker.com/engine/reference/commandline/dockerd/)。
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
---
|
||||
title: Nutanix 节点模板配置
|
||||
---
|
||||
|
||||
## 账号访问
|
||||
|
||||
| 参数 | 必填 | 描述 | 默认 |
|
||||
|:-----------------------------|:--------:|:-----------------------------------------------------------------|:-----
|
||||
| 管理端点 | ✓ | Prism Central 的主机名/IP 地址 |
|
||||
| 用户名 | ✓ | Prism Central 用户的用户名 |
|
||||
| 密码 | ✓ | Prism Central 用户的密码 |
|
||||
| 允许不安全的通信 | | 设置为 true 以允许与 Prism Central 进行不安全的 SSL 通信 | False |
|
||||
|
||||
## 调度
|
||||
|
||||
选择虚拟机要调度到哪个 Nutanix 集群。
|
||||
|
||||
| 参数 | 必填 | 描述 |
|
||||
|:----------|:--------:|:----------------------------------------------------------------------------
|
||||
| 集群 | ✓ | 部署虚拟机的 Nutanix 集群的名称(区分大小写) |
|
||||
|
||||
## 实例选项
|
||||
|
||||
在**实例参数**中,配置此模板创建的 VM 的 vCPU 数量、内存和磁盘大小。
|
||||
|
||||
| 参数 | 必填 | 描述 | 默认 |
|
||||
|:---------------------|:--------:|:--------------------------------------------------------------------------------------------|:-------
|
||||
| CPU | | 分配给 VM 的 vCPU 数量(核心) | 2 |
|
||||
| 内存 | | 分配给 VM 的 RAM 量 (MB) | 2 GB |
|
||||
| Template Image | ✓ | 要作为虚拟机主磁盘进行克隆的磁盘镜像模板的名称(必须支持 cloud-init) |
|
||||
| 虚拟机磁盘大小 | | 虚拟机主磁盘的新大小(以 GiB 为单位) |
|
||||
| 其他磁盘大小 | | 要添加到虚拟机的其他磁盘的大小(以 GiB 为单位) |
|
||||
| 储存容器 | | 要配置其他磁盘的存储容器 _UUID_ |
|
||||
| Cloud Config YAML | | 要提供给虚拟机的 cloud-init(将使用 Rancher root 用户修补) |
|
||||
| 网络 | ✓ | 要附加到虚拟机的网络的名称 |
|
||||
| 虚拟机类别 | | 要应用于虚拟机的类别名称 |
|
||||
|
||||
虚拟机支持通过 [Config Drive v2 datasource](https://cloudinit.readthedocs.io/en/latest/topics/datasources/configdrive.html) 来支持 [cloud-init](https://cloudinit.readthedocs.io/en/latest/) 的任何现代 Linux 操作系统。
|
||||
|
||||
## 网络
|
||||
|
||||
节点模板允许你为虚拟机配置多个网络。在**网络**字段中,你可以单击**添加**,然后在 AOS 中添加任何可用的网络。
|
||||
|
||||
## 虚拟机类别
|
||||
|
||||
类别用于将实体分组成键值对。通常会根据某些标准为虚拟机分配一个类别。然后,你可以将策略绑定到分配(分组)了特定类别值的实体。
|
||||
|
||||
## cloud-init
|
||||
|
||||
[Cloud-init](https://cloudinit.readthedocs.io/en/latest/) 允许你在首次启动时应用配置,从而初始化节点。这可能涉及创建用户或授权 SSH 密钥之类的操作。
|
||||
|
||||
要使用 cloud-init 初始化,请将使用有效 YAML 语法的 cloud config 粘贴到 **Cloud Config YAML** 字段中。要获取支持的 cloud config 指令的注释示例集,请参阅 [cloud-init 文档](https://cloudinit.readthedocs.io/en/latest/topics/examples.html)。
|
||||
|
||||
不建议使用基于 cloud-init 的网络配置,仅支持使用用户数据 `runcmd`,不支持 NoCloud 或其他网络配置数据源。
|
||||
|
||||
建议使用 Nutanix IP Address Management(IPAM) 或其他 DHCP 服务。
|
||||
|
||||
## 引擎选项
|
||||
|
||||
在节点模板的**引擎选项**中,你可以配置容器 daemon。你可能需要指定容器版本或容器镜像仓库 Mirror。
|
||||
|
||||
:::note
|
||||
如果要配置 Red Hat Enterprise Linux (RHEL) 或 CentOS 节点,请将 **Docker Install URL** 字段保留为默认值,或选择 **none**。由于 Docker 已经安装在这些节点上,因此将绕过 Docker 安装检查。
|
||||
|
||||
如果没有将 **Docker Install URL** 设置为默认值或 **none**,你可能会看到错误消息:`Error creating machine: RHEL ssh command error: command: sudo -E yum install -y curl err: exit status 1 output: Updating Subscription Management repositories`。
|
||||
:::
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
---
|
||||
title: vSphere 节点模板配置
|
||||
---
|
||||
|
||||
## 账号访问
|
||||
|
||||
| 参数 | 必填 | 描述 |
|
||||
|:----------------------|:--------:|:-----|
|
||||
| 云凭证 | * | 你的 vSphere 账号访问信息,存储在[云凭证](../../../user-settings/manage-cloud-credentials.md)中。 |
|
||||
|
||||
你的云凭证具有以下字段:
|
||||
|
||||
| 凭证字段 | 描述 |
|
||||
|-----------------|--------------|
|
||||
| vCenter 或 ESXi Server | 输入 vCenter 或 ESXi 主机名/IP。ESXi 是你创建和运行虚拟机和虚拟设备的虚拟化平台。你可以通过 vCenter Server 服务来管理网络中连接的多个主机并池化主机资源。 |
|
||||
| 端口 | 可选:配置 vCenter 或 ESXi Server 的端口。 |
|
||||
| 用户名和密码 | 你的 vSphere 登录用户名和密码。 |
|
||||
|
||||
## 调度
|
||||
|
||||
选择虚拟机要调度到哪个虚拟机监控程序。
|
||||
|
||||
**调度**中的字段应使用 vSphere 中可用的数据中心和其他计划选项自动填充。
|
||||
|
||||
| 字段 | 必填 | 解释 |
|
||||
|---------|---------------|-----------|
|
||||
| 数据中心 | * | 选择要调度 VM 的数据中心的名称/路径。 |
|
||||
| 资源池 | | 要在其中调度 VM 的资源池名称。资源池可对独立主机或集群的可用 CPU 和内存资源进行分区,也可以嵌套使用。如果是独立 ESXi,请留空。如果未指定,则使用默认资源池。 |
|
||||
| 数据存储 | * | 如果你有数据存储集群,则可以打开**数据存储**字段。此字段允许你选择要将 VM 调度到哪个数据存储集群。如果该字段未打开,你可以选择单个磁盘。 |
|
||||
| 文件夹 | | 数据中心中用于创建 VM 的文件夹的名称。必须已经存在。此下拉菜单中的 VM 文件夹直接对应于 vSphere 中的 VM 文件夹。在 vSphere 配置文件中,文件夹名称应以 `vm/` 开头。 |
|
||||
| 主机 | | 用于调度 VM 的主机系统的 IP。如果是独立 ESXi 或具有 DRS(分布式资源调度器)的集群,将此字段留空。如果指定,将使用主机系统的池,而忽略**资源池**参数。 |
|
||||
|
||||
## 实例选项
|
||||
|
||||
在**实例参数**中,配置此模板创建的 VM 的 vCPU 数量、内存和磁盘大小。
|
||||
|
||||
| 参数 | 必填 | 描述 |
|
||||
|:----------------|:--------:|:-----------|
|
||||
| CPU | * | 要分配给 VM 的 vCPU 数量。 |
|
||||
| 内存 | * | 要分配给 VM 的内存量。 |
|
||||
| 磁盘 | * | 要挂载到 VM 的磁盘大小(以 MB 为单位)。 |
|
||||
| 创建方法 | * | 在节点上设置操作系统的方法。可以使用 ISO 或 VM 模板安装操作系统。根据创建方法,你还必须指定 VM 模板、内容库、现有 VM 或 ISO。有关创建方法的详细信息,请参阅 [VM 创建方法](#vm-创建方法)。 |
|
||||
| Cloud Init | | `cloud-config.yml` 文件的 URL 或用于配置 VM 的 URL。此文件允许进一步定制操作系统,例如网络配置、DNS 服务器或系统守护程序。操作系统必须支持 `cloud-init`。 |
|
||||
| 网络 | | 要挂载 VM 的网络的名称。 |
|
||||
| guestinfo 配置参数 | | VM 的其他配置参数。这些参数对应 vSphere 控制台中的[高级设置](https://kb.vmware.com/s/article/1016098)。示例用例包括提供 RancherOS [guestinfo](https://rancher.com/docs/os/v1.x/en/installation/cloud/vmware-esxi/#vmware-guestinfo) 参数,或为 VM 启用磁盘 UUID (`disk.EnableUUID=TRUE`)。 |
|
||||
|
||||
|
||||
### VM 创建方法
|
||||
|
||||
在**创建方法**字段中,配置用于在 vSphere 中配置 VM 的方法。可用的选项包括创建从 RancherOS ISO 启动的 VM,或通过从现有虚拟机或 [VM 模板](https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.vm_admin.doc/GUID-F7BF0E6B-7C4F-4E46-8BBF-76229AEA7220.html)克隆来创建 VM。
|
||||
|
||||
现有 VM 或模板可以使用任何现代 Linux 操作系统,该操作系统配置为使用 [NoCloud 数据源](https://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html)来支持 [cloud-init](https://cloudinit.readthedocs.io/en/latest/)。
|
||||
|
||||
选择创建 VM 的方式:
|
||||
|
||||
- **使用模板部署:数据中心**:选择存在于所选数据中心的 VM 模板。
|
||||
- **使用模板部署:内容库**:首先选择包含你的模板的[内容库](https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.vm_admin.doc/GUID-254B2CE8-20A8-43F0-90E8-3F6776C2C896.html),然后从填充列表**库模板**中选择模板。
|
||||
- **克隆现有的虚拟机**:在**虚拟机**字段中选择一个现有虚拟机,新虚拟机将克隆自该虚拟机。
|
||||
- **使用 boot2docker ISO 安装**:确保 **OS ISO URL** 字段包含 RancherOS 的 VMware ISO 版本的 URL (`rancheros-vmware.iso`)。请注意,运行 Rancher Server 节点必须能访问该 URL。
|
||||
|
||||
## 网络
|
||||
|
||||
节点模板允许你为虚拟机配置多个网络。在**网络**字段中,你可以单击**添加网络**来添加 vSphere 中可用的任何网络。
|
||||
|
||||
## 节点标签和自定义属性
|
||||
|
||||
标签用于向 vSphere 对象清单中的对象添加元数据,以便对对象进行排序和搜索。
|
||||
|
||||
你的所有 vSphere 标签都将显示为节点模板中可供选择的选项。
|
||||
|
||||
在自定义属性中,Rancher 会让你选择你已经在 vSphere 中设置的所有自定义属性。自定义属性是键,你可以为每个属性输入值。
|
||||
|
||||
:::note
|
||||
|
||||
自定义属性是一项旧版功能,最终将从 vSphere 中删除。
|
||||
|
||||
:::
|
||||
|
||||
## cloud-init
|
||||
|
||||
[Cloud-init](https://cloudinit.readthedocs.io/en/latest/) 允许你在首次启动时应用配置,从而初始化节点。这可能涉及创建用户、授权 SSH 密钥或设置网络之类的操作。
|
||||
|
||||
要使用 cloud-init 初始化,请使用有效的 YAML 语法创建一个 cloud config 文件,并将文件内容粘贴到 **Cloud Init** 字段中。要获取支持的 cloud config 指令的注释示例集,请参阅 [cloud-init 文档](https://cloudinit.readthedocs.io/en/latest/topics/examples.html)。
|
||||
|
||||
请注意,使用 ISO 创建方法时不支持 cloud-init。
|
||||
|
||||
## 引擎选项
|
||||
|
||||
在节点模板的**引擎选项**中,你可以配置容器 daemon。你可能需要指定容器版本或容器镜像仓库 Mirror。
|
||||
|
||||
:::note
|
||||
如果要配置 Red Hat Enterprise Linux (RHEL) 或 CentOS 节点,请将 **Docker Install URL** 字段保留为默认值,或选择 **none**。由于 Docker 已经安装在这些节点上,因此将绕过 Docker 安装检查。
|
||||
|
||||
如果没有将 **Docker Install URL** 设置为默认值或 **none**,你可能会看到错误消息:`Error creating machine: RHEL ssh command error: command: sudo -E yum install -y curl err: exit status 1 output: Updating Subscription Management repositories`。
|
||||
:::
|
||||
+224
@@ -0,0 +1,224 @@
|
||||
---
|
||||
title: AKS 集群配置参考
|
||||
---
|
||||
|
||||
## Rancher 2.6 变更
|
||||
|
||||
- 支持添加多个节点池
|
||||
- 支持私有集群
|
||||
- 启用自动缩放节点池
|
||||
- 在云凭证中配置 AKS 权限
|
||||
|
||||
## RBAC
|
||||
|
||||
在 Rancher UI 中配置 AKS 集群时,无法禁用 RBAC。如果在 AKS 中为集群禁用了 RBAC,则无法在 Rancher 中注册或导入集群。
|
||||
|
||||
Rancher 可以使用与其他集群一样的方式为 AKS 集群配置成员角色。有关详细信息,请参阅 [RBAC](../../../pages-for-subheaders/manage-role-based-access-control-rbac.md)。
|
||||
|
||||
## 云凭证
|
||||
|
||||
:::note
|
||||
|
||||
本节中的配置信息假设你已经为 Rancher 设置了服务主体。有关如何设置服务主体的分步说明,请参阅[本节](../../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers/aks.md#microsoft-azure-中的先决条件)。
|
||||
|
||||
:::
|
||||
|
||||
### 订阅 ID
|
||||
|
||||
要获取订阅 ID,请单击左侧导航栏中的 **All Services**。然后单击 **Subscriptions**。转到要与 Kubernetes 集群关联的订阅的名称,然后复制 **Subscription ID**。
|
||||
|
||||
### 客户端 ID
|
||||
|
||||
要获取客户端 ID,请转到 Azure 门户,然后单击 **Azure Active Directory**,单击 **App registrations**,然后单击服务主体的名称。客户端 ID 在 app registration 详细信息页面上列为 **Application (client) ID**。
|
||||
|
||||
### 客户端密码
|
||||
|
||||
在创建客户端密码值后,你无法再获取它的值。因此如果你还没有客户端密码值,则需要创建一个新的客户端密码。
|
||||
|
||||
要获取新的客户端密码,请转到 Azure 门户,然后单击 **Azure Active Directory**,单击 **App registrations**,然后单击服务主体的名称。
|
||||
|
||||
然后点击 **Certificates & secrets** 并点击 **New client secret**。单击 **Add**。然后复制新客户端密码的 **Value**。
|
||||
|
||||
### 环境
|
||||
|
||||
Microsoft 提供了多个[云](https://docs.microsoft.com/en-us/cli/azure/cloud?view=azure-cli-latest)来满足地区法律的要求:
|
||||
|
||||
- AzurePublicCloud
|
||||
- AzureGermanCloud
|
||||
- AzureChinaCloud
|
||||
- AzureUSGovernmentCloud
|
||||
|
||||
## 账号访问
|
||||
|
||||
在本部分中,你需要选择现有的 Azure 云凭证或创建一个新凭证。
|
||||
|
||||
有关配置 Azure 云凭证的帮助,请参阅[本部分](#云凭证)。
|
||||
|
||||
## 集群位置
|
||||
|
||||
配置集群和节点位置。有关 AKS 可用区的详细信息,请参阅 [AKS 文档](https://docs.microsoft.com/en-us/azure/aks/availability-zones)。
|
||||
|
||||
高可用性位置包括多个可用区。
|
||||
|
||||
## 集群选项
|
||||
|
||||
### Kubernetes 版本
|
||||
|
||||
可用的 Kubernetes 版本是从 Azure API 动态获取的。
|
||||
|
||||
### 集群资源组
|
||||
|
||||
资源组是一个容器,其中包含 Azure 解决方案的相关资源。资源组可以包括解决方案的所有资源,或者仅包括你希望作为一个组来管理的资源。你可以根据组织的需求来决定如何将资源分配给资源组。通常情况下,你可以将生命周期相同的资源添加到同一个资源组,以便轻松地按组进行部署、更新和删除。
|
||||
|
||||
你可以使用现有资源组,也可以输入资源组的名称,然后系统将为你创建一个资源组。
|
||||
|
||||
使用包含现有 AKS 集群的资源组将会创建一个新资源组。Azure AKS 仅允许每个资源组对应一个 AKS 集群。
|
||||
|
||||
有关管理资源组的信息,请参阅 [Azure 文档](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-portal)。
|
||||
|
||||
### Linux 管理员用户名
|
||||
|
||||
用于创建到 Linux 节点的 SSH 连接的用户名。
|
||||
|
||||
AKS 节点的默认用户名是 `azureuser`。
|
||||
|
||||
### SSH 公钥
|
||||
|
||||
用于创建到 Linux 节点的 SSH 连接的密钥。
|
||||
|
||||
### Tags
|
||||
|
||||
如果你的组织使用标签(Tag)来管理多个 Azure 服务的资源,那么集群标签则非常有用。这些标签不适用于集群内的资源。
|
||||
|
||||
## 网络选项
|
||||
|
||||
### 负载均衡器 SKU
|
||||
|
||||
Azure 负载均衡器支持 standard 和 basic SKU(stock keeping units)。
|
||||
|
||||
有关 standard 负载均衡器和 basic 负载均衡器的对比,请参阅官方 [Azure 文档](https://docs.microsoft.com/en-us/azure/load-balancer/skus#skus)。Microsoft 建议使用 standard 负载均衡器。
|
||||
|
||||
如果你选择了一个或多个可用区,或者你有多个节点池,则需要 Standard 负载均衡器。
|
||||
|
||||
### 网络策略
|
||||
|
||||
默认情况下,AKS 集群中的所有 Pod 都可以无限制地发送和接收流量。为了提高安全性,你可以定义控制流量的规则。Kubernetes 中的网络策略功能允许你定义集群中 pod 之间的入口和出口流量规则。
|
||||
|
||||
Azure 提供了两种实现网络策略的方法。创建 AKS 集群时会选择网络策略选项。创建集群后无法更改策略选项:
|
||||
|
||||
- Azure 自己的实现,称为 Azure 网络策略。Azure 网络策略需要 Azure CNI。
|
||||
- Calico Network Policies,一个由 [Tigera](https://www.tigera.io/) 创立的开源网络和网络安全解决方案。
|
||||
|
||||
你也可以选择不使用网络策略。
|
||||
|
||||
有关 Azure 和 Calico 网络策略及其功能之间的差异,请参阅 [AKS 文档](https://docs.microsoft.com/en-us/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities)。
|
||||
|
||||
### DNS 前缀
|
||||
为集群的 Kubernetes API server FQDN 输入唯一的 DNS 前缀。
|
||||
|
||||
### 网络插件
|
||||
有两个网络插件,分别是 kubenet 和 Azure CNI。
|
||||
|
||||
[kubenet](https://kubernetes.io/docs/concepts/cluster-administration/network-plugins/#kubenet) Kubernetes 插件是 AKS 创建的集群的默认配置。使用 kubenet 时,集群中的每个节点都会收到一个可路由的 IP 地址。Pod 使用 NAT 与 AKS 集群外部的其他资源进行通信。这种方法减少了需要在网络空间中保留以供 Pod 使用的 IP 地址数量。
|
||||
|
||||
如果使用 Azure CNI(高级)网络插件,Pod 可以使用完整的虚拟网络连接,并且可以从连接的网络中通过 pod 的私有 IP 地址直接访问。这个插件需要更多的 IP 地址空间。
|
||||
|
||||
有关 kubenet 和 Azure CNI 之间差异的详细信息,请参阅 [AKS 文档](https://docs.microsoft.com/en-us/azure/aks/concepts-network#compare-network-models)。
|
||||
|
||||
### HTTP 应用路由
|
||||
|
||||
启用后,HTTP 应用路由附加组件可以更轻松地访问部署到 AKS 集群的应用。它部署了两个组件,分别是 [Kubernetes Ingress controller](https://kubernetes.io/docs/concepts/services-networking/ingress/) 和 [External-DNS](https://github.com/kubernetes-incubator/external-dns) controller。
|
||||
|
||||
有关详细信息,请参阅 [AKS 文档](https://docs.microsoft.com/en-us/azure/aks/http-application-routing)。
|
||||
|
||||
### 设置授权 IP 范围
|
||||
|
||||
你可以使用[授权的 IP 地址范围](https://docs.microsoft.com/en-us/azure/aks/api-server-authorized-ip-ranges#overview-of-api-server-authorized-ip-ranges)来保护对 Kubernetes API server 的访问。
|
||||
|
||||
Kubernetes API server 公开 Kubernetes API。该组件提供管理工具(例如 kubectl)的交互。AKS 提供带有专用 API server 的单租户集群 controlplane。默认情况下,API server 分配了一个公共 IP 地址,你应该使用基于 Kubernetes 或 Azure 的 RBAC 来控制对 API server 的访问。
|
||||
|
||||
要保护对其他可公开的 AKS controlplane 和 API server 的访问,你可以启用并使用授权的 IP 范围。这些授权的 IP 范围只允许定义的 IP 地址范围与 API server 通信。
|
||||
|
||||
但是,即使你使用了授权的 IP 地址范围,你仍应使用 Kubernetes RBAC 或 Azure RBAC 来授权用户及其请求的操作。
|
||||
|
||||
### 容器监控
|
||||
|
||||
容器监控使用 Metrics API 从 Kubernetes 中可用的控制器、节点和容器中收集内存和处理器指标,从而为你可视化性能数据。容器日志也能被收集。启用监控后,系统会通过 Linux 的 Log Analytics 代理的容器化版本自动为你收集指标和日志。指标会被写入指标存储,而日志数据会被写入与你的 [Log Analytics](https://docs.microsoft.com/en-us/azure/azure-monitor/logs/log-query-overview) 工作区关联的日志存储。
|
||||
|
||||
### Log Analytics 工作区资源组
|
||||
|
||||
[资源组](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-groups)包含 Log Analytics 工作区。你必须至少创建一个工作区才能使用 Azure Monitor Logs。
|
||||
|
||||
### Log Analytics 工作区名称
|
||||
|
||||
Azure Monitor Logs 收集的数据存储在一个或多个 [Log Analytics 工作区中](https://docs.microsoft.com/en-us/azure/azure-monitor/logs/design-logs-deployment)。工作区定义了数据的地理位置、访问权限(定义了哪些用户可以访问数据)以及配置设置(定价层和数据保留等)。
|
||||
|
||||
你必须至少创建一个工作区才能使用 Azure Monitor Logs。一个工作区可能就足以满足你的所有监控数据。你也可以根据需求创建多个工作区。例如,你可能有一个工作区用于生产数据,另一个工作区用于测试。
|
||||
|
||||
有关 Azure Monitor Logs 的详细信息,请参阅 [Azure 文档](https://docs.microsoft.com/en-us/azure/azure-monitor/logs/data-platform-logs)。
|
||||
|
||||
### 支持私有 Kubernetes 服务
|
||||
|
||||
通常情况下,无论集群是否为私有,AKS worker 节点都不会获得公共 IP。在私有集群中,controlplane 没有公共端点。
|
||||
|
||||
Rancher 可以通过以下两种方式之一连接到私有 AKS 集群。
|
||||
|
||||
第一种方法是确保 Rancher 运行在与 AKS 节点相同的 [NAT](https://docs.microsoft.com/en-us/azure/virtual-network/nat-overview) 上。
|
||||
|
||||
第二种方法是运行命令向 Rancher 注册集群。配置集群后,你可以在任何能连接到集群的 Kubernetes API 的地方运行显示的命令。配置启用了私有 API 端点的 AKS 集群时,此命令将显示在弹出窗口中。
|
||||
|
||||
:::note
|
||||
|
||||
注册现有 AKS 集群时,集群可能需要一些时间(可能是数小时)才会出现在 `Cluster To register` 下拉列表中。不同区域的结果可能不同。
|
||||
|
||||
:::
|
||||
|
||||
有关连接到 AKS 专用集群的详细信息,请参阅 [AKS 文档](https://docs.microsoft.com/en-us/azure/aks/private-clusters#options-for-connecting-to-the-private-cluster)。
|
||||
|
||||
## 节点池
|
||||
|
||||
### 模式
|
||||
|
||||
在 Azure 界面中,用户能够指定主要节点池(Primary Node Pool)依赖于 `system`(通常用于 controlplane)还是 `user`(Rancher 最常用的)。
|
||||
|
||||
你可以指定主要节点池(Primary Node Pool)的模式、操作系统、数量和大小。
|
||||
|
||||
`system` 节点池总是需要运行节点,因此它们不能缩容到一个节点以下。至少需要一个 `system` 节点池。
|
||||
|
||||
对于后续的节点池,Rancher UI 强制使用默认的 `user`。`user` 节点池允许缩容到零节点。`user` 节点池不运行 Kubernetes controlplane 的任何部分。
|
||||
|
||||
AKS 不会公开运行 Kubernetes controlplane 组件的节点。
|
||||
|
||||
### 可用区
|
||||
|
||||
[可用区](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview)是区域内的唯一物理位置。每个可用区由一个或多个配备独立电源、冷却系统和网络的数据中心组成。
|
||||
|
||||
并非所有区域都支持可用区。有关具有可用区的 Azure 区域列表,请参阅 [Azure 文档](https://docs.microsoft.com/en-us/azure/availability-zones/az-region#azure-regions-with-availability-zones)。
|
||||
|
||||
### 虚拟机大小
|
||||
|
||||
为节点池中的每个 VM 选择一个大小。有关每个 VM 大小的详细信息,请参阅[此页面](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/)。
|
||||
|
||||
### 操作系统磁盘类型
|
||||
|
||||
节点池中的节点可以使用托管磁盘或临时磁盘。
|
||||
|
||||
[临时 OS 磁盘](https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks)在本地虚拟机存储上创建,并不会保存到远程 Azure 存储。临时 OS 磁盘适用于无状态工作负载,其中的应用可以容忍单个 VM 故障,但更容易受 VM 部署时间或重置单个虚拟机实例镜像的影响。使用临时 OS 磁盘,你可以体验更低的 OS 磁盘读/写延迟和更快的 VM 重置镜像过程。
|
||||
|
||||
[Azure 托管磁盘](https://docs.microsoft.com/en-us/azure/virtual-machines/managed-disks-overview)是由 Azure 管理并与 Azure Virtual Machines 一起使用的块级存储卷。托管磁盘旨在实现 99.999% 的高可用性。托管磁盘通过提供三个数据副本来实现高可用性和高持续性。
|
||||
|
||||
### 操作系统磁盘大小
|
||||
|
||||
每个节点的磁盘大小(以 GB 为单位)。
|
||||
|
||||
### 节点数
|
||||
节点池中的节点数。[Azure 订阅](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits)可能会限制最大节点数。
|
||||
|
||||
### 每个节点的最大 Pod 数量
|
||||
每个节点的最大 Pod 数量默认为 110,最大为 250。
|
||||
|
||||
### 启用自动扩缩容
|
||||
|
||||
启用自动扩缩容后,你需要输入最小和最大节点数。
|
||||
|
||||
启用 Auto Scaling 后,你将无法手动对节点池进行扩缩容。扩缩容由 AKS autoscaler 控制。
|
||||
+149
@@ -0,0 +1,149 @@
|
||||
---
|
||||
title: EKS 集群配置参考
|
||||
---
|
||||
|
||||
### 账号访问
|
||||
|
||||
使用获取的信息为 IAM 策略填写每个下拉列表和字段:
|
||||
|
||||
| 设置 | 描述 |
|
||||
| ---------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| 区域 | 从下拉列表中选择构建集群的地理区域。 |
|
||||
| 云凭证 | 选择为 IAM 策略创建的云凭证。有关在 Rancher 中创建云凭证的更多信息,请参阅[此页面](../../user-settings/manage-cloud-credentials.md)。 |
|
||||
|
||||
### 服务角色
|
||||
|
||||
选择一个[服务角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)。
|
||||
|
||||
| 服务角色 | 描述 |
|
||||
-------------|---------------------------
|
||||
| Standard:Rancher 生成的服务角色 | 如果选择此角色,Rancher 会自动添加一个服务角色以供集群使用。 |
|
||||
| 自定义:从现有的服务角色中选择 | 如果选择此角色,Rancher 将允许你从已在 AWS 中创建的服务角色中进行选择。有关在 AWS 中创建自定义服务角色的更多信息,请参阅 [Amazon 文档](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。 |
|
||||
|
||||
### 密文加密
|
||||
|
||||
可选:要加密密文,请选择或输入在 [AWS 密钥管理服务 (KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 中创建的密钥。
|
||||
|
||||
### API Server 端点访问
|
||||
|
||||
配置公共/私有 API 访问是一个高级用例。有关详细信息,请参阅 [EKS 集群端点访问控制文档](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html)。
|
||||
|
||||
### 专用 API 端点
|
||||
|
||||
如果你在创建集群时启用了私有 API 端点访问,并禁用了公共 API 端点访问,那么你必须进行额外的步骤才能使 Rancher 成功连接到集群。在这种情况下,一个弹窗将会显示,其中包含需要在要注册到 Rancher 的集群上运行的命令。配置集群后,你可以在任何能连接到集群的 Kubernetes API 的地方运行显示的命令。
|
||||
|
||||
以下两种方法能避免这个额外的手动步骤:
|
||||
- 在创建集群时,创建具有私有和公共 API 端点访问权限的集群。在集群创建并处于 active 状态后,你可以禁用公共访问,Rancher 将能继续与 EKS 集群通信。
|
||||
- 确保 Rancher 与 EKS 集群共享同一个子网。然后,你可以使用安全组使 Rancher 能够与集群的 API 端点进行通信。在这种情况下,你不需要运行注册集群的命令,Rancher 就能够与你的集群通信。有关配置安全组的更多信息,请参阅[安全组文档](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。
|
||||
|
||||
### 公共访问端点
|
||||
|
||||
你也可以选择通过显式 CIDR 块来限制对公共端点的访问。
|
||||
|
||||
如果你限制对特定 CIDR 块的访问,那么建议你也启用私有访问,以避免丢失与集群的网络通信。
|
||||
|
||||
启用私有访问需要满足以下条件之一:
|
||||
- Rancher 的 IP 必须是允许的 CIDR 块的一部分。
|
||||
- 应该启用了私有访问。此外,Rancher 必须和集群共享同一个子网,并对集群有网络访问权限。你可以通过安全组来进行配置。
|
||||
|
||||
有关对集群端点的公共和私有访问的更多信息,请参阅 [Amazon EKS 文档](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html)。
|
||||
|
||||
### 子网
|
||||
|
||||
| 选项 | 描述 |
|
||||
| ------- | ------------ |
|
||||
| Standard:Rancher 生成的 VPC 和子网 | 在配置集群时,Rancher 会生成一个具有 3 个公有子网的新 VPC。 |
|
||||
| 自定义:从现有的 VPC 和子网中选择 | 在配置集群时,Rancher 将你的 controlplane 和节点配置为使用你已经[在 AWS 中创建](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)的 VPC 和子网。 |
|
||||
|
||||
有关更多信息,请参阅 AWS 文档以了解[集群 VPC 注意事项](https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html)。根据你在上一步中的选择,按照以下说明进行操作。
|
||||
|
||||
- [什么是 Amazon VPC?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)
|
||||
- [VPC 和子网](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
|
||||
|
||||
### 安全组
|
||||
|
||||
Amazon 文档:
|
||||
|
||||
- [集群安全组注意事项](https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html)
|
||||
- [VPC 的安全组](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)
|
||||
- [创建安全组](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html#getting-started-create-security-group)
|
||||
|
||||
### Logging
|
||||
|
||||
将 controlplane 日志配置为发送到 Amazon CloudWatch。如果你将集群日志发送到 CloudWatch Logs,你需要按照 standard CloudWatch Logs 支付数据引入和存储费用。
|
||||
|
||||
每个日志类型均对应一个 Kubernetes controlplane 组件。有关这些组件的更多信息,请参阅 Kubernetes 文档中的 [Kubernetes 组件](https://kubernetes.io/docs/concepts/overview/components/)。
|
||||
|
||||
有关 EKS controlplane 日志管理的更多信息,请参阅[官方文档](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html)。
|
||||
|
||||
### 托管节点组
|
||||
|
||||
Amazon EKS 托管的节点组自动为 Amazon EKS Kubernetes 集群的节点(Amazon EC2 实例)进行预置和生命周期管理。
|
||||
|
||||
有关节点组如何工作以及如何配置的更多信息,请参阅 [EKS 文档](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html)。
|
||||
|
||||
#### 使用你自己的启动模板
|
||||
|
||||
你可以提供启动模板 ID 和版本,以便轻松配置节点组中的 EC2 实例。如果你提供了启动模板,则以下设置都无法在 Rancher 中进行配置。因此,如果你使用启动模板,则需要在启动模板中指定以下列表中的所有必须和所需的设置。另请注意,如果提供了启动模板 ID 和版本,则只能更新模板版本。如果要使用新模板 ID,则需要创建新的托管节点组。
|
||||
|
||||
| 选项 | 描述 | 必填/选填 |
|
||||
| ------ | ----------- | ----------------- |
|
||||
| 实例类型 | 为要配置的实例选择[硬件规格](https://aws.amazon.com/ec2/instance-types/)。 | 必填 |
|
||||
| 镜像 ID | 为节点指定自定义 AMI。与 EKS 一起使用的自定义 AMI 必须[正确配置](https://aws.amazon.com/premiumsupport/knowledge-center/eks-custom-linux-ami/)。 | 选填 |
|
||||
| 节点卷大小 | 启动模板必须指定具有所需大小的 EBS 卷。 | 必填 |
|
||||
| SSH 密钥 | 要添加到实例以对节点进行 SSH 访问的密钥。 | 选填 |
|
||||
| 用户数据 | [MIME 多部分格式](https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html#launch-template-user-data)的 Cloud init 脚本。 | 选填 |
|
||||
| 实例资源标签 | 标记节点组中的每个 EC2 实例。 | 选填 |
|
||||
|
||||
#### Rancher 管理的启动模板
|
||||
|
||||
如果你不指定启动模板,你将能够在 Rancher UI 中配置上述选项,并且可以在创建后更新所有这些选项。为了利用所有这些选项,Rancher 将为你创建和管理启动模板。Rancher 中的所有集群都将有一个 Rancher 管理的启动模板。此外,每个没有指定启动模板的托管节点组都将具有一个管理的启动模板版本。此启动模板的名称将具有 “rancher-managed-lt-” 前缀,后面是集群的显示名称。此外,Rancher 管理的启动模板将使用 “rancher-managed-template” 键和 “do-not-modify-or-delete” 值来进行标记,以将其识别为 Rancher 管理的启动模板。请注意,不要修改或删除此启动模板,或将此启动模板与其他集群或托管节点组一起使用。因为这可能会使你的节点组“降级”并需要销毁和重新创建。
|
||||
|
||||
#### 自定义 AMI
|
||||
|
||||
如果你在启动模板或 Rancher 中指定了自定义 AMI,则必须[正确配置](https://aws.amazon.com/premiumsupport/knowledge-center/eks-custom-linux-ami/)镜像,并且必须提供用户数据以[引导节点](https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html#launch-template-custom-ami)。这是一个高级用例,因此你必须要了解其要求。
|
||||
|
||||
如果你指定了不包含自定义 AMI 的启动模板,则 Amazon 将为 Kubernetes 版本和所选区域使用 [EKS 优化的 AMI](https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html)。你还可以为能从中受益的工作负载选择[启用 GPU 的实例](https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html#gpu-ami)。
|
||||
|
||||
:::note
|
||||
|
||||
如果你在下拉菜单或启动模板中提供了自定义 AMI,则会忽略 Rancher 中设置的启用 GPU 的实例。
|
||||
|
||||
:::
|
||||
|
||||
#### Spot 实例
|
||||
|
||||
Spot 实例现在[受 EKS 支持](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types-spot)。如果你指定了启动模板,Amazon 建议不要在模板中提供实例类型。相反,Amazon 建议提供多种实例类型。如果你为节点组启用了“请求 Spot 实例”复选框,那么你将有机会提供多种实例类型。
|
||||
|
||||
:::note
|
||||
|
||||
在这种情况下,你在实例类型下拉列表中所选的选项都将被忽略,你必须在“Spot 实例类型”中至少指定一种实例类型。此外,与 EKS 一起使用的启动模板无法请求 Spot 实例。请求 Spot 实例必须是 EKS 配置的一部分。
|
||||
|
||||
:::
|
||||
|
||||
#### 节点组设置
|
||||
|
||||
以下设置也是可配置的。在创建节点组后,除“节点组名称”外的所有选项都是可编辑的。
|
||||
|
||||
| 选项 | 描述 |
|
||||
| ------- | ------------ |
|
||||
| 节点组名称 | 节点组的名称。 |
|
||||
| 期望 ASG 大小 | 期望的实例数量。 |
|
||||
| 最大 ASG 大小 | 最大的实例数量。在安装 [Cluster Autoscaler](https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html) 之前,此设置不会生效。 |
|
||||
| 最小 ASG 大小 | 最小的实例数量。在安装 [Cluster Autoscaler](https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html) 之前,此设置不会生效。 |
|
||||
| Labels | 应用于管理的节点组中节点的 Kubernetes 标签。 |
|
||||
| Tags | 管理的节点组的标签,这些标签不会传播到任何相关资源。 |
|
||||
|
||||
|
||||
### 配置刷新间隔
|
||||
|
||||
`eks-refresh-cron` 设置已弃用。它已迁移到 `eks-refresh` 设置,这是一个表示秒的整数。
|
||||
|
||||
默认值为 300 秒。
|
||||
|
||||
你可以通过运行 `kubectl edit setting eks-refresh` 来更改同步间隔。
|
||||
|
||||
如果之前设置了 `eks-refresh-cron` 设置,迁移将自动进行。
|
||||
|
||||
刷新窗口越短,争用条件发生的可能性就越小。但这确实增加了遇到 AWS API 可能存在的请求限制的可能性。
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: 私有集群
|
||||
---
|
||||
|
||||
在 GKE 中,[私有集群](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept)是一种集群,其节点仅通过分配内部 IP 地址与入站和出站流量相隔离。GKE 中的私有集群可以选择将 controlplane 端点作为公开访问的地址或作为私有地址。这与其他 Kubernetes 提供商不同,后者可能将具有私有 controlplane 端点的集群称为“私有集群”,但仍允许进出节点的流量。基于你的组织的网络和安全要求,你可能想创建一个有私有节点的集群,其中有或没有公共 controlplane 端点。从 Rancher 配置的 GKE 集群可以通过在**集群选项**中选择**私有集群**(在**显示高级选项**下)来使用隔离的节点。通过选择**启用私有端点**,可以选择将 controlplane 端点设为私有。
|
||||
|
||||
### 私有节点
|
||||
|
||||
由于私有集群中的节点只有内部 IP 地址,它们将无法安装 cluster agent,Rancher 将无法完全管理集群。这可以通过几种方式来处理。
|
||||
|
||||
#### Cloud NAT
|
||||
|
||||
:::caution
|
||||
|
||||
Cloud NAT 将[产生费用](https://cloud.google.com/nat/pricing)。
|
||||
|
||||
:::
|
||||
|
||||
如果限制外出的互联网访问对你的组织来说不是一个问题,可以使用 Google 的 [Cloud NAT](https://cloud.google.com/nat/docs/using-nat) 服务来允许私有网络中的节点访问互联网,使它们能够从 Dockerhub 下载所需的镜像并与 Rancher management server 通信。这是最简单的解决方案。
|
||||
|
||||
#### 私有镜像仓库
|
||||
|
||||
:::caution
|
||||
|
||||
此方案不受官方支持。如果 Cloud NAT 服务不足以满足你的需求,则可以参考此方案。
|
||||
|
||||
:::
|
||||
|
||||
如果要求限制节点的传入和传出流量,请按照离线安装说明,在集群所在的 VPC 上设置一个私有容器[镜像仓库](https://rancher.com/docs/rancher/v2.6/en/installation/other-installation-methods/air-gap/),从而允许集群节点访问和下载运行 cluster agent 所需的镜像。如果 controlplane 端点也是私有的,Rancher 将需要[直接访问](#直接访问)它。
|
||||
|
||||
### 私有 controlplane 端点
|
||||
|
||||
如果集群暴露了公共端点,Rancher 将能够访问集群,且无需执行额外的步骤。但是,如果集群没有公共端点,则必须确保 Rancher 可以访问集群。
|
||||
|
||||
#### Cloud NAT
|
||||
|
||||
:::caution
|
||||
|
||||
Cloud NAT 将[产生费用](https://cloud.google.com/nat/pricing)。
|
||||
|
||||
:::
|
||||
|
||||
如上所述,如果不考虑限制对节点的传出互联网访问,则可以使用 Google 的 [Cloud NAT](https://cloud.google.com/nat/docs/using-nat) 服务来允许节点访问互联网。当集群进行配置时,Rancher 将提供一个在集群上运行的注册命令。下载新集群的 [kubeconfig](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl) 并在集群上运行提供的 kubectl 命令。如果要通过获取集群访问权来运行此命令,你可以创建临时节点或使用 VPC 中的现有节点,或者登录到某个集群节点或使用某个集群节点创建 SSH 隧道。
|
||||
|
||||
#### 直接访问
|
||||
|
||||
如果 Rancher server 与集群的 controlplane 运行在同一 VPC 上,它将直接访问 controlplane 的私有端点。集群节点将需要访问[私有镜像仓库](#私有镜像仓库)以下载上述的镜像。
|
||||
|
||||
你还可以使用 Google 的服务(例如 [Cloud VPN](https://cloud.google.com/network-connectivity/docs/vpn/concepts/overview) 或 [Cloud Interconnect VLAN](https://cloud.google.com/network-connectivity/docs/interconnect))来促进组织网络与 Google VPC 之间的连接。
|
||||
+145
@@ -0,0 +1,145 @@
|
||||
---
|
||||
title: K3s 集群配置参考
|
||||
---
|
||||
|
||||
本文介绍 Rancher 中可用于新的或现有的 K3s Kubernetes 集群的配置选项。
|
||||
|
||||
## 概述
|
||||
|
||||
你可以通过以下两种方式之一来配置 Kubernetes 选项:
|
||||
|
||||
- [Rancher UI](#rancher-ui-中的配置选项):使用 Rancher UI 来选择设置 Kubernetes 集群时常用的自定义选项。
|
||||
- [集群配置文件](#集群配置文件):高级用户可以创建一个 K3s 配置文件,而不是使用 Rancher UI 来为集群选择 Kubernetes 选项。配置文件允许你设置 K3s 安装中可用的任何[选项](https://rancher.com/docs/k3s/latest/en/installation/install-options/)。
|
||||
|
||||
## Rancher UI 中的配置选项
|
||||
|
||||
:::tip
|
||||
|
||||
一些高级配置选项没有在 Rancher UI 表单中开放,但你可以通过在 YAML 中编辑 K3s 集群配置文件来启用这些选项。有关 YAML 中 K3s 集群的可配置选项的完整参考,请参阅 [K3s 文档](https://rancher.com/docs/k3s/latest/en/installation/install-options/)。
|
||||
|
||||
:::
|
||||
|
||||
### 基本信息
|
||||
#### Kubernetes 版本
|
||||
|
||||
这指的是集群节点上安装的 Kubernetes 版本。Rancher 基于 [hyperkube](https://github.com/rancher/hyperkube) 打包了自己的 Kubernetes 版本。
|
||||
|
||||
有关更多详细信息,请参阅[升级 Kubernetes](../../../getting-started/installation-and-upgrade/upgrade-and-roll-back-kubernetes.md)。
|
||||
|
||||
#### 加密密文
|
||||
|
||||
启用或禁用密文加密的选项。启用后,密文将使用 AES-CBC 密钥进行加密。如果禁用,则在再次启用加密之前无法读取任何以前的密文。有关详细信息,请参阅 [K3s 文档](https://rancher.com/docs/k3s/latest/en/advanced/#secrets-encryption-config-experimental)。
|
||||
|
||||
#### 项目网络隔离
|
||||
|
||||
如果你的网络提供商允许项目网络隔离,你可以选择启用或禁用项目间的通信。
|
||||
|
||||
#### SELinux
|
||||
|
||||
启用或禁用 [SELinux](https://rancher.com/docs/k3s/latest/en/advanced/#selinux-support) 支持的选项。
|
||||
|
||||
#### CoreDNS
|
||||
|
||||
默认情况下,[CoreDNS](https://coredns.io/) 会安装为默认 DNS 提供程序。如果未安装 CoreDNS,则必须自己安装备用 DNS 提供程序。有关详细信息,请参阅 [K3s 文档](https://rancher.com/docs/k3s/latest/en/networking/#coredns)。
|
||||
|
||||
#### Klipper Service LB
|
||||
|
||||
启用或禁用 [Klipper](https://github.com/rancher/klipper-lb) 服务负载均衡器的选项。有关详细信息,请参阅 [K3s 文档](https://rancher.com/docs/k3s/latest/en/networking/#service-load-balancer)。
|
||||
|
||||
#### Traefik Ingress
|
||||
|
||||
启用或禁用 [Traefik](https://traefik.io/) HTTP 反向代理和负载均衡器的选项。有关更多详细信息和配置选项,请参阅 [K3s 文档](https://rancher.com/docs/k3s/latest/en/networking/#traefik-ingress-controller)。
|
||||
|
||||
#### Local Storage
|
||||
|
||||
在节点上启用或禁用 [Local Storage](https://rancher.com/docs/k3s/latest/en/storage/) 的选项。
|
||||
|
||||
#### Metrics Server
|
||||
|
||||
启用或禁用 [metrics server](https://github.com/kubernetes-incubator/metrics-server) 的选项。如果启用,请确保为入站 TCP 流量打开 10250 端口。
|
||||
|
||||
### 附加配置
|
||||
|
||||
集群启动时将应用的其他 Kubernetes 清单,会作为[附加组件](https://kubernetes.io/docs/concepts/cluster-administration/addons/)来管理。有关详细信息,请参阅 [K3s 文档](https://rancher.com/docs/k3s/latest/en/helm/#automatically-deploying-manifests-and-helm-charts)。
|
||||
|
||||
### Agent 环境变量
|
||||
|
||||
为 [K3s agent](https://rancher.com/docs/k3s/latest/en/architecture/) 设置环境变量的选项。你可以使用键值对设置环境变量。有关详细信息,请参阅 [K3s 文档](https://rancher.com/docs/k3s/latest/en/installation/install-options/agent-config/)。
|
||||
|
||||
### etcd
|
||||
|
||||
#### 自动快照
|
||||
|
||||
启用或禁用定期 etcd 快照的选项。如果启用,用户可以配置快照的频率。有关详细信息,请参阅 [K3s 文档](https://rancher.com/docs/k3s/latest/en/backup-restore/#creating-snapshots)。
|
||||
|
||||
#### 指标
|
||||
|
||||
选择向公众公开或仅在集群内公开 etcd 指标的选项。
|
||||
|
||||
### 网络
|
||||
|
||||
#### 集群 CIDR
|
||||
|
||||
用于 pod IP 的 IPv4/IPv6 网络 CIDR(默认:10.42.0.0/16)。
|
||||
|
||||
#### Service CIDR
|
||||
|
||||
用于 Service IP 的 IPv4/IPv6 网络 CIDR(默认:10.43.0.0/16)。
|
||||
|
||||
#### 集群 DNS
|
||||
|
||||
用于 coredns 服务的 IPv4 集群 IP。应该在你的 service-cidr 范围内(默认:10.43.0.10)。
|
||||
|
||||
#### 集群域名
|
||||
|
||||
选择集群的域。默认值为 `cluster.local`。
|
||||
|
||||
#### NodePort 服务端口范围
|
||||
|
||||
更改可用于 [NodePort 服务](https://kubernetes.io/docs/concepts/services-networking/service/#nodeport)的端口范围的选项。默认值为 `30000-32767`。
|
||||
|
||||
#### TLS 可选名称
|
||||
|
||||
在服务器 TLS 证书上添加其他主机名或 IPv4/IPv6 地址作为 Subject Alternative Name。
|
||||
|
||||
#### 授权集群端点
|
||||
|
||||
授权集群端点(ACE)可用于直接访问 Kubernetes API server,而无需通过 Rancher 进行通信。
|
||||
|
||||
有关授权集群端点的工作原理以及使用的原因,请参阅[架构介绍](../../../pages-for-subheaders/rancher-manager-architecture.md#4-授权集群端点)。
|
||||
|
||||
我们建议使用具有授权集群端点的负载均衡器。有关详细信息,请参阅[推荐的架构](../../rancher-manager-architecture/architecture-recommendations.md#授权集群端点架构)。
|
||||
|
||||
### 镜像仓库
|
||||
|
||||
选择要从中拉取 Rancher 镜像的镜像仓库。有关更多详细信息和配置选项,请参阅 [K3s 文档](https://rancher.com/docs/k3s/latest/en/installation/private-registry/)。
|
||||
|
||||
### 升级策略
|
||||
|
||||
#### controlplane 并发
|
||||
|
||||
选择可以同时升级多少个节点。可以是固定数字或百分比。
|
||||
|
||||
#### Worker 并发
|
||||
|
||||
选择可以同时升级多少个节点。可以是固定数字或百分比。
|
||||
|
||||
#### 清空节点(controlplane)
|
||||
|
||||
在升级之前从节点中删除所有 pod 的选项。
|
||||
|
||||
#### 清空节点(worker 节点)
|
||||
|
||||
在升级之前从节点中删除所有 pod 的选项。
|
||||
|
||||
### 高级配置
|
||||
|
||||
为不同节点设置 kubelet 选项。有关可用选项,请参阅 [Kubernetes 文档](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/)。
|
||||
|
||||
## 集群配置文件
|
||||
|
||||
高级用户可以创建一个 K3s 配置文件,而不是使用 Rancher UI 表单来为集群选择 Kubernetes 选项。配置文件允许你设置 K3s 安装中可用的任何[选项](https://rancher.com/docs/k3s/latest/en/installation/install-options/)。
|
||||
|
||||
要直接从 Rancher UI 编辑 K3s 配置文件,单击**以 YAML 文件编辑**。
|
||||
|
||||
|
||||
+344
@@ -0,0 +1,344 @@
|
||||
---
|
||||
title: RKE 集群配置参考
|
||||
---
|
||||
|
||||
Rancher 安装 Kubernetes 时,它使用 [RKE](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md) 或 [RKE2](https://docs.rke2.io/) 作为 Kubernetes 发行版。
|
||||
|
||||
本文介绍 Rancher 中可用于新的或现有的 RKE Kubernetes 集群的配置选项。
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
你可以通过以下两种方式之一来配置 Kubernetes 选项:
|
||||
|
||||
- [Rancher UI](#rancher-ui-中的配置选项):使用 Rancher UI 来选择设置 Kubernetes 集群时常用的自定义选项。
|
||||
- [集群配置文件](#rke-集群配置文件参考):高级用户可以创建一个 RKE 配置文件,而不是使用 Rancher UI 来为集群选择 Kubernetes 选项。配置文件可以让你使用 YAML 来指定 RKE 安装中可用的任何选项(除了 system_images 配置)。
|
||||
|
||||
RKE 集群配置选项嵌套在 `rancher_kubernetes_engine_config` 参数下。有关详细信息,请参阅[集群配置文件](#rke-集群配置文件参考)。
|
||||
|
||||
在 [RKE 启动的集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)中,你可以编辑任何后续剩余的选项。
|
||||
|
||||
有关 RKE 配置文件语法的示例,请参阅 [RKE 文档](https://rancher.com/docs/rke/latest/en/example-yamls/)。
|
||||
|
||||
Rancher UI 中的表单不包括配置 RKE 的所有高级选项。有关 YAML 中 RKE Kubernetes 集群的可配置选项的完整参考,请参阅 [RKE 文档](https://rancher.com/docs/rke/latest/en/config-options/)。
|
||||
|
||||
## 在 Rancher UI 中使用表单编辑集群
|
||||
|
||||
要编辑你的集群:
|
||||
|
||||
1. 在左上角,单击 **☰ > 集群管理**。
|
||||
1. 转到要配置的集群,然后单击 **⋮ > 编辑配置**。
|
||||
|
||||
|
||||
## 使用 YAML 编辑集群
|
||||
|
||||
高级用户可以创建一个 RKE 配置文件,而不是使用 Rancher UI 来为集群选择 Kubernetes 选项。配置文件可以让你使用 YAML 来指定 RKE 安装中可用的任何选项(除了 system_images 配置)。
|
||||
|
||||
RKE 集群(也称为 RKE1 集群)的编辑方式与 RKE2 和 K3s 集群不同。
|
||||
|
||||
要直接从 Rancher UI 编辑 RKE 配置文件:
|
||||
|
||||
1. 点击 **☰ > 集群管理**。
|
||||
1. 转到要配置的 RKE 集群。单击并单击 **⋮ > 编辑配置**。你将会转到 RKE 配置表单。请注意,由于集群配置在 Rancher 2.6 中发生了变更,**⋮ > 以 YAML 文件编辑**可用于配置 RKE2 集群,但不能用于编辑 RKE1 配置。
|
||||
1. 在配置表单中,向下滚动并单击**以 YAML 文件编辑**。
|
||||
1. 编辑 `rancher_kubernetes_engine_config` 参数下的 RKE 选项。
|
||||
|
||||
## Rancher UI 中的配置选项
|
||||
|
||||
:::tip
|
||||
|
||||
一些高级配置选项没有在 Rancher UI 表单中开放,但你可以通过在 YAML 中编辑 RKE 集群配置文件来启用这些选项。有关 YAML 中 RKE Kubernetes 集群的可配置选项的完整参考,请参阅 [RKE 文档](https://rancher.com/docs/rke/latest/en/config-options/)。
|
||||
|
||||
:::
|
||||
|
||||
### Kubernetes 版本
|
||||
|
||||
这指的是集群节点上安装的 Kubernetes 版本。Rancher 基于 [hyperkube](https://github.com/rancher/hyperkube) 打包了自己的 Kubernetes 版本。
|
||||
|
||||
有关更多详细信息,请参阅[升级 Kubernetes](../../../getting-started/installation-and-upgrade/upgrade-and-roll-back-kubernetes.md)。
|
||||
|
||||
### 网络提供商
|
||||
|
||||
这指的是集群使用的[网络提供商](https://kubernetes.io/docs/concepts/cluster-administration/networking/)。有关不同网络提供商的更多详细信息,请查看我们的[网络常见问题解答](../../../faq/container-network-interface-providers.md)。
|
||||
|
||||
:::caution
|
||||
|
||||
启动集群后,你无法更改网络提供商。由于 Kubernetes 不允许在网络提供商之间切换,因此,请谨慎选择要使用的网络提供商。使用网络提供商创建集群后,如果你需要更改网络提供商,你将需要拆除整个集群以及其中的所有应用。
|
||||
|
||||
:::
|
||||
|
||||
Rancher 与以下开箱即用的网络提供商兼容:
|
||||
|
||||
- [Canal](https://github.com/projectcalico/canal)
|
||||
- [Flannel](https://github.com/coreos/flannel#flannel)
|
||||
- [Calico](https://docs.projectcalico.org/v3.11/introduction/)
|
||||
- [Weave](https://github.com/weaveworks/weave)
|
||||
|
||||
:::note Weave 注意事项:
|
||||
|
||||
选择 Weave 作为网络提供商时,Rancher 将通过生成随机密码来自动启用加密。如果你想手动指定密码,请参阅使用[配置文件](#rke-集群配置文件参考)和 [Weave 网络插件选项](https://rancher.com/docs/rke/latest/en/config-options/add-ons/network-plugins/#weave-network-plug-in-options)来配置集群。
|
||||
|
||||
:::
|
||||
|
||||
### 项目网络隔离
|
||||
|
||||
如果你的网络提供商允许项目网络隔离,你可以选择启用或禁用项目间的通信。
|
||||
|
||||
如果你使用支持执行 Kubernetes 网络策略的 RKE 网络插件(例如 Canal 或 Cisco ACI 插件),则可以使用项目网络隔离。
|
||||
|
||||
### Kubernetes 云提供商
|
||||
|
||||
你可以配置 [Kubernetes 云提供商](../../../pages-for-subheaders/set-up-cloud-providers.md)。如果你想在 Kubernetes 中使用动态配置的[卷和存储](../../../pages-for-subheaders/create-kubernetes-persistent-storage.md),你通常需要选择特定的云提供商。例如,如果你想使用 Amazon EBS,则需要选择 `aws` 云提供商。
|
||||
|
||||
:::note
|
||||
|
||||
如果你要使用的云提供商未作为选项列出,你需要使用[配置文件选项](#rke-集群配置文件参考)来配置云提供商。请参考 [RKE 云提供商文档](https://rancher.com/docs/rke/latest/en/config-options/cloud-providers/)来了解如何配置云提供商。
|
||||
|
||||
:::
|
||||
|
||||
### 私有镜像仓库
|
||||
|
||||
集群级别的私有镜像仓库配置仅能用于配置集群。
|
||||
|
||||
在 Rancher 中设置私有镜像仓库的主要方法有两种:通过[全局默认镜像仓库](../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/global-default-private-registry.md)中的**设置**选项卡设置全局默认镜像仓库,以及在集群级别设置的高级选项中设置私有镜像仓库。全局默认镜像仓库可以用于离线设置,不需要凭证的镜像仓库。而集群级私有镜像仓库用于所有需要凭证的私有镜像仓库。
|
||||
|
||||
如果你的私有镜像仓库需要凭证,为了将凭证传递给 Rancher,你需要编辑每个需要从仓库中拉取镜像的集群的集群选项。
|
||||
|
||||
私有镜像仓库的配置选项能让 Rancher 知道要从哪里拉取用于集群的[系统镜像](https://rancher.com/docs/rke/latest/en/config-options/system-images/)或[附加组件镜像](https://rancher.com/docs/rke/latest/en/config-options/add-ons/)。
|
||||
|
||||
- **系统镜像**是维护 Kubernetes 集群所需的组件。
|
||||
- **附加组件**用于部署多个集群组件,包括网络插件、ingress controller、DNS 提供商或 metrics server。
|
||||
|
||||
有关为集群配置期间应用的组件设置私有镜像仓库的更多信息,请参阅[私有镜像仓库的 RKE 文档](https://rancher.com/docs/rke/latest/en/config-options/private-registries/)。
|
||||
|
||||
Rancher v2.6 引入了[为 RKE 集群配置 ECR 镜像仓库](https://rancher.com/docs/rke/latest/en/config-options/private-registries/#amazon-elastic-container-registry-ecr-private-registry-setup)的功能。
|
||||
|
||||
### 授权集群端点
|
||||
|
||||
授权集群端点(ACE)可用于直接访问 Kubernetes API server,而无需通过 Rancher 进行通信。
|
||||
|
||||
:::note
|
||||
|
||||
授权集群端点仅适用于 Rancher 启动的 Kubernetes 集群,即只适用于 Rancher [使用 RKE](../../../reference-guides/rancher-manager-architecture/communicating-with-downstream-user-clusters.md#配置-kubernetes-集群的工具) 来配置的集群。它不适用于托管在 Kubernetes 提供商中的集群,例如 Amazon 的 EKS。
|
||||
|
||||
:::
|
||||
|
||||
在 Rancher 启动的 Kubernetes 集群中,它默认启用,使用具有 `controlplane` 角色的节点的 IP 和默认的 Kubernetes 自签名证书。
|
||||
|
||||
有关授权集群端点的工作原理以及使用的原因,请参阅[架构介绍](../../../pages-for-subheaders/rancher-manager-architecture.md#4-授权集群端点)。
|
||||
|
||||
我们建议使用具有授权集群端点的负载均衡器。有关详细信息,请参阅[推荐的架构](../../rancher-manager-architecture/architecture-recommendations.md#授权集群端点架构)。
|
||||
|
||||
### 节点池
|
||||
|
||||
有关使用 Rancher UI 在 RKE 集群中设置节点池的信息,请参阅[此页面](../../../pages-for-subheaders/use-new-nodes-in-an-infra-provider.md)。
|
||||
|
||||
### NGINX Ingress
|
||||
|
||||
如果你想使用高可用性配置来发布应用,并且你使用没有原生负载均衡功能的云提供商来托管主机,请启用此选项以在集群中使用 NGINX Ingress。
|
||||
|
||||
### Metrics Server 监控
|
||||
|
||||
这是启用或禁用 [Metrics Server](https://rancher.com/docs/rke/latest/en/config-options/add-ons/metrics-server/) 的选项。
|
||||
|
||||
每个能够使用 RKE 启动集群的云提供商都可以收集指标并监控你的集群节点。如果启用此选项,你可以从你的云提供商门户查看你的节点指标。
|
||||
|
||||
### Pod 安全策略支持
|
||||
|
||||
为集群启用 [pod 安全策略](../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies.md)。启用此选项后,使用**默认 Pod 安全策略**下拉菜单选择一个策略。
|
||||
|
||||
你必须有已配置的 Pod 安全策略才能使用此选项。
|
||||
|
||||
### 节点上的 Docker 版本
|
||||
|
||||
表示是否允许节点运行 Rancher 不正式支持的 Docker 版本。
|
||||
|
||||
如果你选择使用支持的 Docker 版本,Rancher 会禁止 pod 运行在安装了不支持的 Docker 版本的节点上。
|
||||
|
||||
如需了解各个 Rancher 版本通过了哪些 Docker 版本测试,请参见[支持和维护条款](https://rancher.com/support-maintenance-terms/)。
|
||||
|
||||
### Docker 根目录
|
||||
|
||||
如果要添加到集群的节点为 Docker 配置了非默认 Docker 根目录(默认为 `/var/lib/docker`),请在此选项中指定正确的 Docker 根目录。
|
||||
|
||||
### 默认 Pod 安全策略
|
||||
|
||||
如果你启用了 **Pod 安全策略支持**,请使用此下拉菜单选择应用于集群的 pod 安全策略。
|
||||
|
||||
### 节点端口范围
|
||||
|
||||
更改可用于 [NodePort 服务](https://kubernetes.io/docs/concepts/services-networking/service/#nodeport)的端口范围的选项。默认为 `30000-32767`。
|
||||
|
||||
### 定期 etcd 快照
|
||||
|
||||
启用或禁用[定期 etcd 快照](https://rancher.com/docs/rke/latest/en/etcd-snapshots/#etcd-recurring-snapshots)的选项。
|
||||
|
||||
### Agent 环境变量
|
||||
|
||||
为 [rancher agent](../../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/about-rancher-agents.md) 设置环境变量的选项。你可以使用键值对设置环境变量。如果 Rancher Agent 需要使用代理与 Rancher Server 通信,则可以使用 Agent 环境变量设置 `HTTP_PROXY`,`HTTPS_PROXY` 和 `NO_PROXY` 环境变量。
|
||||
|
||||
### 更新 ingress-nginx
|
||||
|
||||
使用 Kubernetes 1.16 之前版本创建的集群将具有 `OnDelete`的 `ingress-nginx` `updateStrategy`。使用 Kubernetes 1.16 或更高版本创建的集群将具有 `RollingUpdate`。
|
||||
|
||||
如果 `ingress-nginx` 的 `updateStrategy` 是 `OnDelete`,则需要删除这些 pod 以获得 deployment 正确的版本。
|
||||
|
||||
## RKE 集群配置文件参考
|
||||
|
||||
高级用户可以创建一个 RKE 配置文件,而不是使用 Rancher UI 来为集群选择 Kubernetes 选项。配置文件可以让你在 RKE 安装中设置任何[可用选项](https://rancher.com/docs/rke/latest/en/config-options/)(`system_images` 配置除外)。使用 Rancher UI 或 API 创建集群时,不支持 `system_images` 选项。
|
||||
|
||||
有关 YAML 中 RKE Kubernetes 集群的可配置选项的完整参考,请参阅 [RKE 文档](https://rancher.com/docs/rke/latest/en/config-options/)。
|
||||
|
||||
### Rancher 中的配置文件结构
|
||||
|
||||
RKE(Rancher Kubernetes Engine)是 Rancher 用来配置 Kubernetes 集群的工具。过去,Rancher 的集群配置文件与 [RKE 配置文件](https://rancher.com/docs/rke/latest/en/example-yamls/)的结构是一致的。但由于 Rancher 文件结构发生了变化,因此在 Rancher 中,RKE 集群配置项与非 RKE 配置项是分开的。所以,你的集群配置需要嵌套在集群配置文件中的 `rancher_kubernetes_engine_config` 参数下。使用早期版本的 Rancher 创建的集群配置文件需要针对这种格式进行更新。以下是一个集群配置文件示例:
|
||||
|
||||
<details id="v2.3.0-cluster-config-file">
|
||||
<summary>集群配置文件示例</summary>
|
||||
|
||||
```yaml
|
||||
#
|
||||
# Cluster Config
|
||||
#
|
||||
docker_root_dir: /var/lib/docker
|
||||
enable_cluster_alerting: false
|
||||
enable_cluster_monitoring: false
|
||||
enable_network_policy: false
|
||||
local_cluster_auth_endpoint:
|
||||
enabled: true
|
||||
#
|
||||
# Rancher Config
|
||||
#
|
||||
rancher_kubernetes_engine_config: # Your RKE template config goes here.
|
||||
addon_job_timeout: 30
|
||||
authentication:
|
||||
strategy: x509
|
||||
ignore_docker_version: true
|
||||
#
|
||||
# # 目前仅支持 Nginx ingress provider
|
||||
# # 要禁用 Ingress controller,设置 `provider: none`
|
||||
# # 要在指定节点上禁用 Ingress,使用 node_selector,例如:
|
||||
# provider: nginx
|
||||
# node_selector:
|
||||
# app: ingress
|
||||
#
|
||||
ingress:
|
||||
provider: nginx
|
||||
kubernetes_version: v1.15.3-rancher3-1
|
||||
monitoring:
|
||||
provider: metrics-server
|
||||
#
|
||||
# If you are using calico on AWS
|
||||
#
|
||||
# network:
|
||||
# plugin: calico
|
||||
# calico_network_provider:
|
||||
# cloud_provider: aws
|
||||
#
|
||||
# # To specify flannel interface
|
||||
#
|
||||
# network:
|
||||
# plugin: flannel
|
||||
# flannel_network_provider:
|
||||
# iface: eth1
|
||||
#
|
||||
# # To specify flannel interface for canal plugin
|
||||
#
|
||||
# network:
|
||||
# plugin: canal
|
||||
# canal_network_provider:
|
||||
# iface: eth1
|
||||
#
|
||||
network:
|
||||
options:
|
||||
flannel_backend_type: vxlan
|
||||
plugin: canal
|
||||
#
|
||||
# services:
|
||||
# kube-api:
|
||||
# service_cluster_ip_range: 10.43.0.0/16
|
||||
# kube-controller:
|
||||
# cluster_cidr: 10.42.0.0/16
|
||||
# service_cluster_ip_range: 10.43.0.0/16
|
||||
# kubelet:
|
||||
# cluster_domain: cluster.local
|
||||
# cluster_dns_server: 10.43.0.10
|
||||
#
|
||||
services:
|
||||
etcd:
|
||||
backup_config:
|
||||
enabled: true
|
||||
interval_hours: 12
|
||||
retention: 6
|
||||
safe_timestamp: false
|
||||
creation: 12h
|
||||
extra_args:
|
||||
election-timeout: 5000
|
||||
heartbeat-interval: 500
|
||||
gid: 0
|
||||
retention: 72h
|
||||
snapshot: false
|
||||
uid: 0
|
||||
kube_api:
|
||||
always_pull_images: false
|
||||
pod_security_policy: false
|
||||
service_node_port_range: 30000-32767
|
||||
ssh_agent_auth: false
|
||||
windows_prefered_cluster: false
|
||||
```
|
||||
</details>
|
||||
|
||||
### 默认 DNS 提供商
|
||||
|
||||
下表显示了默认部署的 DNS 提供商。有关如何配置不同 DNS 提供商的更多信息,请参阅 [DNS 提供商相关的 RKE 文档](https://rancher.com/docs/rke/latest/en/config-options/add-ons/dns/)。CoreDNS 只能在 Kubernetes v1.12.0 及更高版本上使用。
|
||||
|
||||
| Rancher 版本 | Kubernetes 版本 | 默认 DNS 提供商 |
|
||||
|-------------|--------------------|----------------------|
|
||||
| v2.2.5 及更高版本 | v1.14.0 及更高版本 | CoreDNS |
|
||||
| v2.2.5 及更高版本 | v1.13.x 及更低版本 | kube-dns |
|
||||
| v2.2.4 及更低版本 | 任意 | kube-dns |
|
||||
|
||||
## YAML 中的 Rancher 特定参数
|
||||
|
||||
除了 RKE 配置文件选项外,还有可以在配置文件 (YAML) 中配置的 Rancher 特定设置如下。
|
||||
|
||||
### docker_root_dir
|
||||
|
||||
请参阅 [Docker 根目录](#docker-根目录)。
|
||||
|
||||
### enable_cluster_monitoring
|
||||
|
||||
启用或禁用[集群监控](../../../pages-for-subheaders/monitoring-and-alerting.md)的选项。
|
||||
|
||||
### enable_network_policy
|
||||
|
||||
启用或禁用项目网络隔离的选项。
|
||||
|
||||
如果你使用支持执行 Kubernetes 网络策略的 RKE 网络插件(例如 Canal 或 Cisco ACI 插件),则可以使用项目网络隔离。
|
||||
|
||||
### local_cluster_auth_endpoint
|
||||
|
||||
请参阅[授权集群端点](#授权集群端点)。
|
||||
|
||||
示例:
|
||||
|
||||
```yaml
|
||||
local_cluster_auth_endpoint:
|
||||
enabled: true
|
||||
fqdn: "FQDN"
|
||||
ca_certs: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
...
|
||||
-----END CERTIFICATE-----
|
||||
```
|
||||
|
||||
### 自定义网络插件
|
||||
|
||||
你可以使用 RKE 的[用户定义的附加组件功能](https://rancher.com/docs/rke/latest/en/config-options/add-ons/user-defined-add-ons/)来添加自定义网络插件。部署 Kubernetes 集群之后,你可以定义要部署的任何附加组件。
|
||||
|
||||
有两种方法可以指定附加组件:
|
||||
|
||||
- [内嵌附加组件](https://rancher.com/docs/rke/latest/en/config-options/add-ons/user-defined-add-ons/#in-line-add-ons)
|
||||
- [为附加组件引用 YAML 文件](https://rancher.com/docs/rke/latest/en/config-options/add-ons/user-defined-add-ons/#referencing-yaml-files-for-add-ons)
|
||||
|
||||
有关如何通过编辑 `cluster.yml` 来配置自定义网络插件的示例,请参阅 [RKE 文档](https://rancher.com/docs/rke/latest/en/config-options/add-ons/network-plugins/custom-network-plugin-example)。
|
||||
+352
@@ -0,0 +1,352 @@
|
||||
---
|
||||
title: RKE2 集群配置参考
|
||||
---
|
||||
|
||||
本文介绍 Rancher 中可用于新的或现有的 RKE2 Kubernetes 集群的配置选项。
|
||||
|
||||
## 概述
|
||||
|
||||
你可以通过以下两种方式之一来配置 Kubernetes 选项:
|
||||
|
||||
- [Rancher UI](#rancher-ui-中的配置选项):使用 Rancher UI 来选择设置 Kubernetes 集群时常用的自定义选项。
|
||||
- [集群配置文件](#集群配置文件参考):高级用户可以创建一个 RKE2 配置文件,而不是使用 Rancher UI 来为集群选择 Kubernetes 选项。配置文件让你能设置更多可用于 RKE2 的其他[安装选项](https://docs.rke2.io/install/configuration)。
|
||||
|
||||
## 在 Rancher UI 中使用表单编辑集群
|
||||
|
||||
要编辑你的集群:
|
||||
|
||||
1. 在左上角,单击 **☰ > 集群管理**。
|
||||
1. 转到要配置的集群,然后单击 **⋮ > 编辑配置**。
|
||||
|
||||
## 使用 YAML 编辑集群
|
||||
|
||||
高级用户可以创建一个 RKE2 配置文件,而不是使用 Rancher UI 来为集群选择 Kubernetes 选项。配置文件可以让你使用 YAML 来指定 RKE2 安装中可用的任何选项。
|
||||
|
||||
要直接从 Rancher UI 中编辑 RKE2 配置文件:
|
||||
|
||||
1. 点击 **☰ > 集群管理**。
|
||||
1. 转到你要配置的集群,然后单击 **⋮ > 以 YAML 文件编辑**。
|
||||
1. 编辑 `rkeConfig` 参数下的 RKE 选项。
|
||||
|
||||
## Rancher UI 中的配置选项
|
||||
|
||||
:::tip
|
||||
|
||||
一些高级配置选项没有在 Rancher UI 表单中开放,但你可以通过在 YAML 中编辑 RKE2 集群配置文件来启用这些选项。有关 YAML 中 RKE2 Kubernetes 集群的可配置选项的完整参考,请参阅 [RKE2 文档](https://docs.rke2.io/install/configuration)。
|
||||
|
||||
:::
|
||||
|
||||
## 主机池
|
||||
|
||||
本小节介绍了通用的主机池配置。对于针对特定基础设施提供商的配置,请参阅以下页面:
|
||||
|
||||
- [Azure](../downstream-cluster-configuration/machine-configuration/azure.md)
|
||||
- [DigitalOcean](../downstream-cluster-configuration/machine-configuration/digitalocean.md)
|
||||
- [EC2](../downstream-cluster-configuration/machine-configuration/amazon-ec2.md)
|
||||
|
||||
### 池名称
|
||||
|
||||
主机池的名称。
|
||||
|
||||
### 主机数量
|
||||
|
||||
池中的主机数。
|
||||
|
||||
### 角色
|
||||
|
||||
将 etcd、controlplane 和 worker 角色分配给节点的选项。
|
||||
|
||||
### 高级配置
|
||||
|
||||
#### 自动替换
|
||||
|
||||
如果节点无法访问的持续时间达到该值,则会被自动删除和替换。
|
||||
|
||||
#### 删除前清空
|
||||
|
||||
通过在删除节点之前驱逐所有 pod 来清空节点。
|
||||
|
||||
#### Kubernetes 节点标签
|
||||
|
||||
将[标签](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)(label)添加到节点,让对象选择更加简便。
|
||||
|
||||
有关标签语法的详细信息,请参阅 [Kubernetes 文档](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set)。
|
||||
|
||||
#### 污点
|
||||
|
||||
将[污点](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/)(taint)添加到节点,防止 pod 被调度或在节点上执行(除非 pod 具有匹配的容忍度)。
|
||||
|
||||
## 集群配置
|
||||
|
||||
### 基本信息
|
||||
#### Kubernetes 版本
|
||||
|
||||
这指的是集群节点上安装的 Kubernetes 版本。Rancher 基于 [hyperkube](https://github.com/rancher/hyperkube) 打包了自己的 Kubernetes 版本。
|
||||
|
||||
有关更多详细信息,请参阅[升级 Kubernetes](../../../getting-started/installation-and-upgrade/upgrade-and-roll-back-kubernetes.md)。
|
||||
|
||||
#### 容器网络提供商
|
||||
|
||||
这指的是集群使用的[网络提供商](https://kubernetes.io/docs/concepts/cluster-administration/networking/)。
|
||||
|
||||
:::caution
|
||||
|
||||
启动集群后,你无法更改网络提供商。由于 Kubernetes 不允许在网络提供商之间切换,因此,请谨慎选择要使用的网络提供商。使用网络提供商创建集群后,如果你需要更改网络提供商,你将需要拆除整个集群以及其中的所有应用。
|
||||
|
||||
:::
|
||||
|
||||
Rancher 与以下开箱即用的网络提供商兼容:
|
||||
|
||||
- [Canal](https://github.com/projectcalico/canal)
|
||||
- [Cilium](https://cilium.io/)\*
|
||||
- [Calico](https://docs.projectcalico.org/v3.11/introduction/)
|
||||
- [Multus](https://github.com/k8snetworkplumbingwg/multus-cni)
|
||||
|
||||
\* 在 [Cilium CNI](../../../faq/container-network-interface-providers.md#cilium) 中使用[项目网络隔离](#项目网络隔离)时,你可以开启跨节点入口路由。详情请参见 [CNI 提供商文档](../../../faq/container-network-interface-providers.md#ingress-routing-across-nodes-in-cilium)。
|
||||
|
||||
有关不同网络提供商以及如何配置它们的更多详细信息,请查阅 [RKE2 文档](https://docs.rke2.io/install/network_options)。
|
||||
|
||||
##### 双栈网络
|
||||
|
||||
所有 CNI 网络插件都支持[双栈](https://docs.rke2.io/install/network_options#dual-stack-configuration)网络。要在双栈模式下配置 RKE2,请为你的[集群 CIDR](#集群-cidr) 和/或 [Service CIDR](#service-cidr) 设置有效的 IPv4/IPv6 CIDR。
|
||||
|
||||
###### 额外配置 {#dual-stack-additional-config}
|
||||
|
||||
使用 `cilium` 或 `multus,cilium` 作为容器网络接口提供商时,请确保**启用 IPv6 支持**选项。
|
||||
|
||||
#### 云提供商
|
||||
|
||||
你可以配置 [Kubernetes 云提供商](../../../pages-for-subheaders/set-up-cloud-providers.md)。如果你想在 Kubernetes 中使用动态配置的[卷和存储](../../../pages-for-subheaders/create-kubernetes-persistent-storage.md),你通常需要选择特定的云提供商。例如,如果你想使用 Amazon EBS,则需要选择 `aws` 云提供商。
|
||||
|
||||
:::note
|
||||
|
||||
如果你要使用的云提供商未作为选项列出,你需要使用[配置文件选项](#集群配置文件参考)来配置云提供商。请参考[本文档](https://rancher.com/docs/rke/latest/en/config-options/cloud-providers/)来了解如何配置云提供商。
|
||||
|
||||
:::
|
||||
|
||||
#### 默认 Pod 安全策略
|
||||
|
||||
为集群选择默认的 [pod 安全策略](../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies.md)。请参阅 [RKE2 文档](https://docs.rke2.io/security/pod_security_policies)来了解每个可用策略的规范。
|
||||
|
||||
#### Worker CIS 配置文件
|
||||
|
||||
选择一个 [CIS benchmark](../../../pages-for-subheaders/cis-scan-guides.md) 来验证系统配置。
|
||||
|
||||
#### 项目网络隔离
|
||||
|
||||
如果你的网络提供商允许项目网络隔离,你可以选择启用或禁用项目间的通信。
|
||||
|
||||
如果你使用支持执行 Kubernetes 网络策略的 RKE2 网络插件(例如 Canal),则可以使用项目网络隔离。
|
||||
|
||||
#### CoreDNS
|
||||
|
||||
默认情况下,[CoreDNS](https://coredns.io/) 会安装为默认 DNS 提供程序。如果未安装 CoreDNS,则必须自己安装备用 DNS 提供程序。有关其他 CoreDNS 配置,请参阅 [RKE2 文档](https://docs.rke2.io/networking#coredns)。
|
||||
|
||||
#### NGINX Ingress
|
||||
|
||||
如果你想使用高可用性配置来发布应用,并且你使用没有原生负载均衡功能的云提供商来托管主机,请启用此选项以在集群中使用 NGINX Ingress。有关其他配置选项,请参阅 [RKE2 文档](https://docs.rke2.io/networking#nginx-ingress-controller)。
|
||||
|
||||
有关其他配置选项,请参阅 [RKE2 文档](https://docs.rke2.io/networking#nginx-ingress-controller)。
|
||||
|
||||
#### Metrics Server
|
||||
|
||||
这是启用或禁用 [Metrics Server](https://rancher.com/docs/rke/latest/en/config-options/add-ons/metrics-server/) 的选项。
|
||||
|
||||
每个能够使用 RKE2 启动集群的云提供商都可以收集指标并监控你的集群节点。如果启用此选项,你可以从你的云提供商门户查看你的节点指标。
|
||||
|
||||
### 附加配置
|
||||
|
||||
集群启动时将应用的其他 Kubernetes 清单,会作为[附加组件](https://kubernetes.io/docs/concepts/cluster-administration/addons/)来管理。有关详细信息,请参阅 [RKE2 文档](https://docs.rke2.io/helm#automatically-deploying-manifests-and-helm-charts)。
|
||||
|
||||
### Agent 环境变量
|
||||
|
||||
为 [Rancher agent](https://rancher.com/docs/rancher/v2.6/en/cluster-provisioning/rke-clusters/rancher-agents/) 设置环境变量的选项。你可以使用键值对设置环境变量。有关详细信息,请参阅 [RKE2 文档](https://docs.rke2.io/reference/linux_agent_config)。
|
||||
|
||||
### etcd
|
||||
|
||||
#### 自动快照
|
||||
|
||||
启用或禁用定期 etcd 快照的选项。如果启用,用户可以配置快照的频率。有关详细信息,请参阅 [RKE2 文档](https://docs.rke2.io/backup_restore#creating-snapshots)。请注意,如果使用 RKE2,快照会存储在每个 etcd 节点上,这与 RKE1 不同(RKE1 每个集群只存储一个快照)。
|
||||
|
||||
#### 指标
|
||||
|
||||
选择向公众公开或仅在集群内公开 etcd 指标的选项。
|
||||
|
||||
### 网络
|
||||
|
||||
#### 集群 CIDR
|
||||
|
||||
用于 pod IP 的 IPv4 和/或 IPv6 网络 CIDR(默认:10.42.0.0/16)。
|
||||
|
||||
##### 双栈网络
|
||||
|
||||
要配置[双栈](https://docs.rke2.io/install/network_options#dual-stack-configuration)模式,请输入有效的 IPv4/IPv6 CIDR。例如 `10.42.0.0/16,2001:cafe:42:0::/56`。
|
||||
|
||||
使用 `cilium` 或 `multus,cilium` 作为[容器网络](#容器网络提供商)接口提供商时,你需要进行[附加配置](#dual-stack-additional-config)。
|
||||
|
||||
#### Service CIDR
|
||||
|
||||
用于 Service IP 的 IPv4/IPv6 网络 CIDR(默认:10.43.0.0/16)。
|
||||
|
||||
##### 双栈网络
|
||||
|
||||
要配置[双栈](https://docs.rke2.io/install/network_options#dual-stack-configuration)模式,请输入有效的 IPv4/IPv6 CIDR。例如 `10.42.0.0/16,2001:cafe:42:0::/56`。
|
||||
|
||||
使用 `cilium` 或 `multus,cilium` 作为[容器网络](#容器网络提供商)接口提供商时,你需要进行[附加配置](#dual-stack-additional-config)。
|
||||
|
||||
#### 集群 DNS
|
||||
|
||||
用于 coredns 服务的 IPv4 集群 IP。应该在你的 service-cidr 范围内(默认:10.43.0.10)。
|
||||
|
||||
#### 集群域名
|
||||
|
||||
选择集群的域。默认值为 `cluster.local`。
|
||||
|
||||
#### NodePort 服务端口范围
|
||||
|
||||
更改可用于 [NodePort 服务](https://kubernetes.io/docs/concepts/services-networking/service/#nodeport)的端口范围的选项。默认值为 `30000-32767`。
|
||||
|
||||
#### TLS 可选名称
|
||||
|
||||
在服务器 TLS 证书上添加其他主机名或 IPv4/IPv6 地址作为 Subject Alternative Name。
|
||||
|
||||
#### 授权集群端点
|
||||
|
||||
授权集群端点(ACE)可用于直接访问 Kubernetes API server,而无需通过 Rancher 进行通信。
|
||||
|
||||
在 Rancher 启动的 Kubernetes 集群中,它默认启用,使用具有 `controlplane` 角色的节点的 IP 和默认的 Kubernetes 自签名证书。
|
||||
|
||||
有关授权集群端点的工作原理以及使用的原因,请参阅[架构介绍](../../../pages-for-subheaders/rancher-manager-architecture.md#4-授权集群端点)。
|
||||
|
||||
我们建议使用具有授权集群端点的负载均衡器。有关详细信息,请参阅[推荐的架构](../../rancher-manager-architecture/architecture-recommendations.md#授权集群端点架构)。
|
||||
|
||||
### 镜像仓库
|
||||
|
||||
选择要从中拉取 Rancher 镜像的镜像仓库。有关更多详细信息和配置选项,请参阅 [RKE2 文档](https://docs.rke2.io/install/containerd_registry_configuration)。
|
||||
|
||||
### 升级策略
|
||||
|
||||
#### controlplane 并发
|
||||
|
||||
选择可以同时升级多少个节点。可以是固定数字或百分比。
|
||||
|
||||
#### Worker 并发
|
||||
|
||||
选择可以同时升级多少个节点。可以是固定数字或百分比。
|
||||
|
||||
#### 清空节点(controlplane)
|
||||
|
||||
在升级之前从节点中删除所有 pod 的选项。
|
||||
|
||||
#### 清空节点(worker 节点)
|
||||
|
||||
在升级之前从节点中删除所有 pod 的选项。
|
||||
|
||||
### 高级配置
|
||||
|
||||
为不同节点设置 kubelet 选项。有关可用选项,请参阅 [Kubernetes 文档](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/)。
|
||||
|
||||
## 集群配置文件参考
|
||||
|
||||
高级用户可以创建一个配置文件,而不是使用 Rancher UI 来为集群选择 Kubernetes 选项。配置文件允许你为 RKE2 设置[可用的选项](https://docs.rke2.io/install/configuration),其中包括已经在 [Rancher UI 配置选项](#rancher-ui-中的配置选项)中列出的选项以及 Rancher 特定的参数。
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<b>集群配置文件片段示例</b>
|
||||
</summary>
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
cloudCredentialSecretName: cattle-global-data:cc-s879v
|
||||
kubernetesVersion: v1.23.6+rke2r2
|
||||
localClusterAuthEndpoint: {}
|
||||
rkeConfig:
|
||||
chartValues:
|
||||
rke2-calico: {}
|
||||
etcd:
|
||||
snapshotRetention: 5
|
||||
snapshotScheduleCron: 0 */5 * * *
|
||||
machineGlobalConfig:
|
||||
cni: calico
|
||||
disable-kube-proxy: false
|
||||
etcd-expose-metrics: false
|
||||
profile: null
|
||||
machinePools:
|
||||
- controlPlaneRole: true
|
||||
etcdRole: true
|
||||
machineConfigRef:
|
||||
kind: Amazonec2Config
|
||||
name: nc-test-pool1-pwl5h
|
||||
name: pool1
|
||||
quantity: 1
|
||||
unhealthyNodeTimeout: 0s
|
||||
workerRole: true
|
||||
machineSelectorConfig:
|
||||
- config:
|
||||
protect-kernel-defaults: false
|
||||
registries: {}
|
||||
upgradeStrategy:
|
||||
controlPlaneConcurrency: "1"
|
||||
controlPlaneDrainOptions:
|
||||
deleteEmptyDirData: true
|
||||
enabled: true
|
||||
gracePeriod: -1
|
||||
ignoreDaemonSets: true
|
||||
timeout: 120
|
||||
workerConcurrency: "1"
|
||||
workerDrainOptions:
|
||||
deleteEmptyDirData: true
|
||||
enabled: true
|
||||
gracePeriod: -1
|
||||
ignoreDaemonSets: true
|
||||
timeout: 120
|
||||
```
|
||||
</details>
|
||||
|
||||
### chartValues
|
||||
|
||||
此选项用于为 RKE2/K3s 安装的 System Chart 指定值。
|
||||
|
||||
示例:
|
||||
|
||||
```yaml
|
||||
chartValues:
|
||||
chart-name:
|
||||
key: value
|
||||
```
|
||||
### machineGlobalConfig
|
||||
|
||||
RKE2/K3s 配置嵌套在 `machineGlobalConfig` 参数下。在这里所做的任何配置更改都将应用到每个节点。你可以在此处应用[RKE2 的独立版本](https://docs.rke2.io/reference/server_config)中可用的配置选项。
|
||||
|
||||
示例:
|
||||
|
||||
```yaml
|
||||
machineGlobalConfig:
|
||||
etcd-arg:
|
||||
- key1=value1
|
||||
- key2=value2
|
||||
```
|
||||
|
||||
### machineSelectorConfig
|
||||
|
||||
此参数与 [`machineGlobalConfig`](#machineglobalconfig) 相同,只是可以在配置中指定 [label](#kubernetes-node-labels) 选择器。该配置仅应用于与标签选择器匹配的节点。
|
||||
|
||||
允许多个 `config` 条目,可以为每个条目指定各自的 `machineLabelSelector`。用户可以指定 `matchExpressions`、`matchLabels`、指定二者或都不指定。如果你省略了 `machineLabelSelector`,则与将 config 放入 `machineGlobalConfig` 的效果相同。
|
||||
|
||||
示例:
|
||||
|
||||
```yaml
|
||||
machineSelectorConfig
|
||||
- config:
|
||||
config-key: config-value
|
||||
machineLabelSelector:
|
||||
matchExpressions:
|
||||
- key: example-key
|
||||
operator: string # 有效的运算符:In、NotIn、Exists 和 DoesNotExist
|
||||
values:
|
||||
- example-value1
|
||||
- example-value2
|
||||
matchLabels:
|
||||
key1: value1
|
||||
key2: value2
|
||||
```
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: 同步
|
||||
---
|
||||
|
||||
同步允许 Rancher 更新集群值,以便与托管在 AKS、EKS 或 GKE 中的集群对象保持同步。这使得 Rancher 以外的来源能够获取托管集群的状态。这是 UI 中显示的内容。
|
||||
|
||||
:::caution
|
||||
如果你同时处理来自另一个来源的更新,你可能会不小心覆盖一个来源的状态。如果你在完成一个来源的更新后 5 分钟内处理另一个来源的更新,也可能会发生这种情况。
|
||||
:::
|
||||
|
||||
### 工作原理
|
||||
|
||||
要理解同步是如何工作的,则必须理解 Rancher Cluster 对象上的两个字段:
|
||||
|
||||
1. 集群的 config 对象,位于集群的规范上:
|
||||
|
||||
* 对于 AKS,该字段称为 AKSConfig
|
||||
* 对于 EKS,该字段称为 EKSConfig
|
||||
* 对于 GKE,该字段称为 GKEConfig
|
||||
|
||||
2. UpstreamSpec 对象
|
||||
|
||||
* 对于 AKS,它位于群集状态的 AKSStatus 字段中。
|
||||
* 对于 EKS,它位于集群状态的 EKSStatus 字段中。
|
||||
* 对于 GKE,它位于集群状态的 GKEStatus 字段中。
|
||||
|
||||
定义这些对象的结构类型可以在它们对应的 operator 项目中找到:
|
||||
|
||||
* [aks-operator](https://github.com/rancher/aks-operator/blob/master/pkg/apis/aks.cattle.io/v1/types.go)
|
||||
* [eks-operator](https://github.com/rancher/eks-operator/blob/master/pkg/apis/eks.cattle.io/v1/types.go)
|
||||
* [gke-operator](https://github.com/rancher/gke-operator/blob/master/pkg/apis/gke.cattle.io/v1/types.go)
|
||||
|
||||
除集群名称、位置(区域或地区)、导入和云凭证引用外,所有字段均可为空。
|
||||
|
||||
AKSConfig、EKSConfig 或 GKEConfig 表示所需的状态。零值会被忽略。配置对象中非零的字段可以被认为是“管理的”。在 Rancher 中创建集群时,所有字段都是非零的,因此都是“管理”的。在把一个已存在的集群注册到 Rancher 时,所有可为空字段都是 nil 并且不是“管理”的。一旦 Rancher 更改了这些字段的值,这些字段就会被管理。
|
||||
|
||||
UpstreamSpec 代表集群在托管的 Kubernetes 提供商中的情况。它每 5 分钟刷新一次。刷新 UpstreamSpec 后,Rancher 会检查集群是否正在进行更新。如果它正在更新,则不做任何进一步处理。如果它目前没有更新,AKSConfig、EKSConfig 或 GKEConfig 上的任何 "管理" 字段都会被最近更新的 UpstreamSpec 上的相应值覆盖。
|
||||
|
||||
有效的期望状态可以被认为是 UpstreamSpec,加上 AKSConfig、EKSConfig 或 GKEConfig 中的所有非零字段。这是 UI 中显示的内容。
|
||||
|
||||
如果 Rancher 和另一个来源试图在同一时间或在更新完成后的 5 分钟尝试更新集群,任何管理字段都可能陷入竞争状态。以 EKS 为例,集群可能将 PrivateAccess 作为管理字段。如果 PrivateAccess 为 false,在 11:01 在 EKS 控制台中启用,然后 Rancher 在 11:05 之前更新标签,那么该值很可能被覆盖。如果在集群处理更新时更新了标签,也会发生这种情况。如果集群已注册并且 PrivateAccess 字段为 nil,则不应发生此示例中描述的问题。
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: Rancher Agent 选项
|
||||
---
|
||||
|
||||
Rancher 在每个节点上部署一个 Agent 来与节点通信。本文描述了可以传递给 Agent 的选项。要使用这些选项,你需要[使用自定义节点创建集群](../../../../pages-for-subheaders/use-existing-nodes.md),并在添加节点时将选项添加到生成的 `docker run` 命令。
|
||||
|
||||
有关 Rancher 如何使用 Node Agent 与下游集群通信的概述,请参阅[产品架构](../../../rancher-manager-architecture/communicating-with-downstream-user-clusters.md#3-node-agents)。
|
||||
|
||||
## 通用选项
|
||||
|
||||
| 参数 | 环境变量 | 描述 |
|
||||
| ---------- | -------------------- | ----------- |
|
||||
| `--server` | `CATTLE_SERVER` | 已配置的 Rancher `server-url`,Agent 将通过这个地址连接 Server。 |
|
||||
| `--token` | `CATTLE_TOKEN` | 在 Rancher 中注册节点所需的 Token。 |
|
||||
| `--ca-checksum` | `CATTLE_CA_CHECKSUM` | 使用已配置的 Rancher `cacerts` 进行 SHA256 校验和验证。 |
|
||||
| `--node-name` | `CATTLE_NODE_NAME` | 覆盖用于注册节点的主机名(默认为 `hostname -s`)。 |
|
||||
| `--label` | `CATTLE_NODE_LABEL` | 向节点添加节点标签。对于多个标签,请传递额外的 `--label` 选项。(`--label key=value`) |
|
||||
| `--taints` | `CATTLE_NODE_TAINTS` | 将节点污点添加到节点。对于多个污点,请传递额外的 `--taints` 选项。(`--taints key=value:effect`) |
|
||||
|
||||
## 角色选项
|
||||
|
||||
| 参数 | 环境变量 | 描述 |
|
||||
| ---------- | -------------------- | ----------- |
|
||||
| `--all-roles` | `ALL=true` | 将所有角色(`etcd`、`controlplane`、`worker`)应用到节点。 |
|
||||
| `--etcd` | `ETCD=true` | 将角色 `etcd` 应用到节点。 |
|
||||
| `--controlplane` | `CONTROL=true` | 将角色 `controlplane` 应用到节点。 |
|
||||
| `--worker` | `WORKER=true` | 将角色 `worker` 应用到节点。 |
|
||||
|
||||
## IP 地址选项
|
||||
|
||||
| 参数 | 环境变量 | 描述 |
|
||||
| ---------- | -------------------- | ----------- |
|
||||
| `--address` | `CATTLE_ADDRESS` | 节点将注册的 IP 地址(默认为用于连接 `8.8.8.8`的 IP)。 |
|
||||
| `--internal-address` | `CATTLE_INTERNAL_ADDRESS` | 私有网络上用于主机间通信的 IP 地址。 |
|
||||
|
||||
### 动态 IP 地址选项
|
||||
|
||||
出于自动化目的,你不能在命令中使用特定的 IP 地址,因为它必须是通用的才能用于每个节点。为此,我们提供了动态 IP 地址的选项。它们用作现有 IP 地址选项的值。支持 `--address` 和 `--internal-address`。
|
||||
|
||||
| 值 | 示例 | 描述 |
|
||||
| ---------- | -------------------- | ----------- |
|
||||
| 接口名称 | `--address eth0` | 将从给定的接口中检索第一个配置的 IP 地址。 |
|
||||
| `ipify` | `--address ipify` | 将使用从 `https://api.ipify.org` 检索到的值。 |
|
||||
| `awslocal` | `--address awslocal` | 将使用从 `http://169.254.169.254/latest/meta-data/local-ipv4` 检索到的值。 |
|
||||
| `awspublic` | `--address awspublic` | 将使用从 `http://169.254.169.254/latest/meta-data/public-ipv4` 检索到的值。 |
|
||||
| `doprivate` | `--address doprivate` | 将使用从 `http://169.254.169.254/metadata/v1/interfaces/private/0/ipv4/address` 检索到的值。 |
|
||||
| `dopublic` | `--address dopublic` | 将使用从 `http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address` 检索到的值。 |
|
||||
| `azprivate` | `--address azprivate` | 将使用从 `http://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/privateIpAddress?api-version=2017-08-01&format=text` 检索到的值。 |
|
||||
| `azpublic` | `--address azpublic` | 将使用从 `http://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/publicIpAddress?api-version=2017-08-01&format=text` 检索到的值。 |
|
||||
| `gceinternal` | `--address gceinternal` | 将使用从 `http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip` 检索到的值。 |
|
||||
| `gceexternal` | `--address gceexternal` | 将使用从 `http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip` 检索到的值。 |
|
||||
| `packetlocal` | `--address packetlocal` | 将使用从 `https://metadata.packet.net/2009-04-04/meta-data/local-ipv4` 检索到的值。 |
|
||||
| `packetpublic` | `--address packetlocal` | 将使用从 `https://metadata.packet.net/2009-04-04/meta-data/public-ipv4` 检索到的值。 |
|
||||
Reference in New Issue
Block a user