|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
3.安装 Kubernetes(Docker 安装可跳过)
|
如果您在单节点上使用 Docker 安装 Rancher,请跳过此部分。 |
本节描述如何根据我们的 最佳实践为 Rancher 服务器环境 安装 Kubernetes 集群。该集群应专门用于运行 Rancher 服务器。
Rancher 可以安装在任何 Kubernetes 集群上,包括托管的 Kubernetes 提供商。
在 RKE2 或 K3s 上设置隔离的 Kubernetes 集群的步骤如下。
-
K3s
-
RKE2
在本指南中,我们假设您已经在隔离的环境中创建了节点,并在堡垒服务器上拥有安全的 Docker 私有注册表。
1.准备镜像目录
从您将运行的 K3s 版本的 releases 页面获取适合您架构的镜像 tar 文件。
在每个节点上启动 K3s 之前,将 tar 文件放置在 images 目录中,例如:
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp ./k3s-airgap-images-$ARCH.tar /var/lib/rancher/k3s/agent/images/
2.创建注册表 YAML
在 /etc/rancher/k3s/registries.yaml 创建 registries.yaml 文件。这将告诉 K3s 连接到您的私有注册表所需的详细信息。
在插入必要信息之前,registries.yaml 文件应如下所示:
---
mirrors:
customreg:
endpoint:
- "https://ip-to-server:5000"
configs:
customreg:
auth:
username: xxxxxx # this is the registry username
password: xxxxxx # this is the registry password
tls:
cert_file: <path to the cert file used in the registry>
key_file: <path to the key file used in the registry>
ca_file: <path to the ca file used in the registry>
请注意,目前 K3s 仅支持安全注册表(使用自定义 CA 的 SSL)。
有关 K3s 私有注册表配置文件的更多信息,请参阅 K3s 文档。
3.安装K3s
Rancher 需要安装在受支持的 Kubernetes 版本上。要查找与您的 Rancher 版本兼容的 Kubernetes 版本,请参考 Rancher 支持矩阵。
要指定K3s(Kubernetes)版本,请在运行K3s安装脚本时使用INSTALL_K3S_VERSION(例如,INSTALL_K3S_VERSION="v1.24.10+k3s1")环境变量。
从 releases 页面获取 K3s 二进制文件,确保与用于获取隔离的镜像 tar 文件时所使用的版本一致。 还需在 https://get.k3s.io 获取 K3s 安装脚本。
将二进制文件放置在每个节点的 /usr/local/bin 中。
将安装脚本放置在每个节点的任意位置,并命名为 install.sh。
在每台服务器上安装 K3s:
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_VERSION=<VERSION> ./install.sh
在每个代理上安装 K3s:
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_VERSION=<VERSION> K3S_URL=https://<SERVER>:6443 K3S_TOKEN=<TOKEN> ./install.sh
其中 <SERVER> 是服务器的 IP 或有效 DNS,<TOKEN> 是在 /var/lib/rancher/k3s/server/node-token 找到的服务器的节点词元。
|
K3s 还为 kubelet 提供了一个 |
4.保存并开始使用 kubeconfig 文件
当您在每个 Rancher 服务器节点上安装 K3s 时,节点上会创建一个 kubeconfig 文件,路径为 /etc/rancher/k3s/k3s.yaml。该文件包含对集群的完全访问权限的凭据,您应该将此文件保存在安全的位置。
要使用此 kubeconfig 文件,
-
安装 kubectl,,这是一个 Kubernetes 命令行工具。
-
复制
/etc/rancher/k3s/k3s.yaml处的文件,并将其保存到您本地计算机的~/.kube/config目录中。 -
在 kubeconfig 文件中,
server指令被定义为 localhost。将服务器配置为负载均衡器的 DNS,参考端口 6443。(Kubernetes API 服务器将在端口 6443 访问,而 Rancher 服务器将在端口 80 和 443 访问。)示例如下`k3s.yaml`:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: [CERTIFICATE-DATA]
server: [LOAD-BALANCER-DNS]:6443 # Edit this line
name: default
contexts:
- context:
cluster: default
user: default
name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
user:
password: [PASSWORD]
username: admin
*结果:*您现在可以使用 kubectl 来管理您的 K3s 集群。如果您有多个 kubeconfig 文件,可以通过在使用 kubectl 时传入文件路径来指定要使用的文件:
kubectl --kubeconfig ~/.kube/config/k3s.yaml get pods --all-namespaces
有关 kubeconfig 文件的更多信息,请参考 K3s 文档 或 官方 Kubernetes 文档,了解如何使用 kubeconfig 文件组织集群访问。
升级注意事项
升级隔离环境可以通过以下方式完成:
-
从 releases 页面下载您将要升级的 K3s 版本的新的隔离的镜像(tar 文件)。将 tar 文件放置在每个节点的
/var/lib/rancher/k3s/agent/images/目录中。删除旧的 tar 文件。 -
在每个节点的
/usr/local/bin中复制并替换旧的 K3s 二进制文件。将安装脚本复制到 https://get.k3s.io(因为自上次发布以来可能已更改)。再次运行脚本,就像您过去一样,使用相同的环境变量。 -
重启 K3s 服务(如果安装程序没有自动重启的话)。
在本指南中,我们假设您已经在隔离的环境中创建了节点,并在堡垒服务器上拥有一个安全的 Docker 私有注册表。
1.创建 RKE2 配置
在 /etc/rancher/rke2/config.yaml 创建 config.yaml 文件。这将包含创建高可用 RKE2 集群所需的所有配置选项。
在第一台服务器上,最小配置为:
token: my-shared-secret tls-san: - loadbalancer-dns-domain.com
在其他每台服务器上,配置文件应包含相同的词元,并告诉 RKE2 连接到现有的第一台服务器:
server: https://ip-of-first-server:9345 token: my-shared-secret tls-san: - loadbalancer-dns-domain.com
有关更多信息,请参见 RKE2 文档。
|
RKE2 还为 kubelet 提供了一个 |
2.创建注册表 YAML
在 /etc/rancher/rke2/registries.yaml 创建 registries.yaml 文件。这将告诉 RKE2 连接到您的私有注册表所需的详细信息。
在插入必要信息之前,registries.yaml 文件应如下所示:
---
mirrors:
customreg:
endpoint:
- "https://ip-to-server:5000"
configs:
customreg:
auth:
username: xxxxxx # this is the registry username
password: xxxxxx # this is the registry password
tls:
cert_file: <path to the cert file used in the registry>
key_file: <path to the key file used in the registry>
ca_file: <path to the ca file used in the registry>
有关 RKE2 私有注册表配置文件的更多信息,请参见 RKE2 文档。
3.安装 RKE2
Rancher 需要安装在受支持的 Kubernetes 版本上。要查找与您的 Rancher 版本兼容的 Kubernetes 版本,请参考 支持维护条款。
从发布中下载安装脚本、rke2、rke2-images 和 sha256sum 压缩包,并将它们上传到每台服务器的一个目录中:
mkdir /tmp/rke2-artifacts && cd /tmp/rke2-artifacts/ wget https://github.com/rancher/rke2/releases/download/v1.21.5%2Brke2r2/rke2-images.linux-amd64.tar.zst wget https://github.com/rancher/rke2/releases/download/v1.21.5%2Brke2r2/rke2.linux-amd64.tar.gz wget https://github.com/rancher/rke2/releases/download/v1.21.5%2Brke2r2/sha256sum-amd64.txt curl -sfL https://get.rke2.io --output install.sh
接下来,在每台服务器上使用该目录运行 install.sh,如下例所示:
INSTALL_RKE2_ARTIFACT_PATH=/tmp/rke2-artifacts sh install.sh
然后在所有服务器上启用并启动服务:
` systemctl enable rke2-server.service systemctl start rke2-server.service `
有关更多信息,请参见 RKE2 文档。
4.保存并开始使用 kubeconfig 文件
当您在每个 Rancher 服务器节点上安装 RKE2 时,节点上会创建一个 kubeconfig 文件,路径为 /etc/rancher/rke2/rke2.yaml。该文件包含对集群的完全访问权限的凭据,您应该将此文件保存在安全的位置。
要使用此 kubeconfig 文件,
-
安装 kubectl,Kubernetes 命令行工具。
-
复制
/etc/rancher/rke2/rke2.yaml处的文件,并将其保存到您本地计算机的~/.kube/config目录中。 -
在 kubeconfig 文件中,
server指令被定义为 localhost。将服务器配置为负载均衡器的 DNS,参考端口 6443。(Kubernetes API 服务器将在端口 6443 访问,而 Rancher 服务器将在端口 80 和 443 访问。)示例如下rke2.yaml:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: [CERTIFICATE-DATA]
server: [LOAD-BALANCER-DNS]:6443 # Edit this line
name: default
contexts:
- context:
cluster: default
user: default
name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
user:
password: [PASSWORD]
username: admin
*结果:*您现在可以使用 kubectl 来管理您的 RKE2 集群。如果您有多个 kubeconfig 文件,可以通过在使用 kubectl 时传入文件路径来指定要使用的文件:
kubectl --kubeconfig ~/.kube/config/rke2.yaml get pods --all-namespaces
有关 kubeconfig 文件的更多信息,请参考 RKE2 文档 或 官方 Kubernetes 文档,了解如何使用 kubeconfig 文件组织集群访问。
升级注意事项
升级隔离环境可以通过以下方式完成:
-
从 发布 页面下载新版本的隔离的工件和安装脚本,用于您将要升级的 RKE2 版本。
-
再次运行脚本,就像您过去一样,使用相同的环境变量。
-
重启 RKE2 服务。
出现问题或错误?
请查看 故障排除 页面。