Kubernetes

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 版本来选择最适合你的仓库。

  • latest: 建议在尝试新功能时使用。
  • stable: 建议在生产环境中使用。(推荐)
  • alpha: 未来版本的实验性预览。

注意:不支持从 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

  • 将 hostname 设置为解析到你的负载均衡器的 DNS 记录。Rancher HA 安装成功后,你需要通过这个域名来访问 Rancher Server。
  • 将 replicas 设置为 Rancher 部署所使用的副本数量。默认为 3;如果集群中的节点少于 3 个,你应该相应地减少副本数量。
  • 要安装一个特定的 Rancher 版本,使用 --version 标志,例如:--version 2.3.6
  • 如果你安装的是 alpha 版本,Helm 要求在命令中加入 --devel 选项。
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
这篇关于Rancher高可用部署(k8s)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!