其他分享
首页 > 其他分享> > Rancher高可用部署(k8s)

Rancher高可用部署(k8s)

作者:互联网

先决条件

1、k8s集群

2、CLI工具(helm,kubectl)

3、Ingress Controller

添加Helm Chart仓库

使用helm repo add命令添加含有 Rancher Chart 的 Helm Chart 仓库。

请将命令中的<CHART_REPO>,替换为lateststablealpha。更多信息,请查看选择 Rancher 版本来选择最适合你的仓库。

注意:不支持从 Alpha 到 Alpha 之间的升级。

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
#国内用户,可以使用放在国内的 Rancher Chart 加速安装
helm repo add rancher-latest http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/latest

为Rancher创建Namespace

我们需要定义一个 Kubernetes Namespace,在 Namespace 中安装由 Chart 创建的资源。这个命名空间的名称为 cattle-system

kubectl create namespace cattle-system

安装 cert-manager

仅在使用 Rancher 生成的证书 ingress.tls.source=rancher 或 Let's Encrypt 颁发的证书 ingress.tls.source=letsEncrypt时才需要 cert-manager。

# 如果你手动安装了CRD,而不是在Helm安装命令中添加了`--set installCRDs=true`选项,你应该在升级Helm chart之前升级CRD资源。
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.crds.yaml


# 添加 Jetstack Helm 仓库


helm repo add jetstack https://charts.jetstack.io


# 更新本地 Helm chart 仓库缓存


helm repo update


# 安装 cert-manager Helm chart


helm install cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.5.1

安装完 cert-manager 后,你可以通过检查 cert-manager 命名空间中正在运行的 Pod 来验证它是否已正确部署:

kubectl get pods --namespace cert-manager


NAME                                       READY   STATUS    RESTARTS   AGE
cert-manager-5c6866597-zw7kh               1/1     Running   0          2m
cert-manager-cainjector-577f6d9fd7-tr77l   1/1     Running   0          2m
cert-manager-webhook-787858fcdb-nlzsq      1/1     Running   0          2m

安装Rancher

默认为 Rancher 生成自签名 CA,用于 cert-manager 颁发访问 Rancher Server 接口的证书。

因为 rancher 是 ingress.tls.source 的默认选项,所以在运行 helm install 命令时我们没有指定 ingress.tls.source

helm install rancher rancher-<CHART_REPO>/rancher \
  --namespace cattle-system \
  --set hostname=rancher.my.org \
  --set replicas=3

等待 Rancher 运行:

kubectl -n cattle-system rollout status deploy/rancher
Waiting for deployment "rancher" rollout to finish: 0 of 3 updated replicas are available...
deployment "rancher" successfully rolled out

安装完成

查看deploy和POD是否全部启动成功

kubectl -n cattle-system get deploy rancher

使用域名进行访问,需要配置本地hosts

rancher.my.org

访问之后会发现需要密码根据提示找密码如果找不到可以进行重置

KUBECONFIG=./kube_config_rancher-cluster.yml
kubectl --kubeconfig $KUBECONFIG -n cattle-system exec $(kubectl --kubeconfig $KUBECONFIG -n cattle-system get pods -l app=rancher | grep '1/1' | head -1 | awk '{ print $1 }') -- reset-password

标签:helm,部署,cert,rancher,manager,Rancher,--,k8s
来源: https://www.cnblogs.com/zjl-throb/p/16613722.html