K3s 离线部署与 Rancher 安装配置指南,涵盖 Helm 源配置、TLS 证书导入及私有镜像仓库设置。

单机部署k3s和rancher 使用本地自签 证书
2 mins
346 words
Loading views

部署 K3sh2

相关安装细节请参考 K3s Air Gap Installation 官方文档,内容非常详尽。

部署 Rancherh2

关于如何自行签发证书,请参阅相关文章(站内搜索):自建 CA 使用 SAN 签发证书

配置 Helm 源h3

Terminal window
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
helm repo update

创建证书与密钥h3

将所需的 TLS 证书和私钥导入到 Kubernetes 集群中。

Terminal window
# 创建命名空间
kubectl create namespace cattle-system
# 创建 TLS 密钥对
# 请将 domain.dev.crt 和 domain.dev.key 替换为您的实际证书文件
kubectl create secret tls tls-rancher-ingress \
--cert=example.com.crt \
--key=example.com.key \
-n cattle-system
# 创建 CA 证书
# 请确保 cacerts.pem 包含正确的 CA 根证书
kubectl -n cattle-system create secret generic tls-ca --from-file=cacerts.pem

部署 Rancherh3

建议先拉取 Helm Chart 包并解压,使用本地安装包进行部署,以便于后续维护和版本管理。

Terminal window
# 拉取最新版本的 Rancher Chart
helm pull rancher-latest/rancher
# 解压归档文件(版本号请根据实际情况调整)
tar -xf rancher-2.10.3.tgz
# 执行安装
# 注意:production 模式下需确保 ingress.tls.source 已正确配置
helm install rancher ./rancher-2.10.3 \
--namespace cattle-system \
--set hostname=rancher.example.com \
--set bootstrapPassword="******" \
--set ingress.tls.source=secret \
--set privateCA=true

私有镜像仓库配置h3

若需配置私有镜像仓库(Harbor 等),请参考 Private Registry Configuration

registries.yaml 中配置如下(示例):

mirrors:
docker.io:
endpoint:
- "https://example.com"
configs:
"example.com:443":
auth:
username: user
password: "******"
tls:
# 请根据实际证书存放路径调整
cert_file: /opt/certs.d/example.com/example.com.cert
key_file: /opt/certs.d/example.com/example.com.key
ca_file: /opt/certs.d/example.com/ca.crt