Rancher高可用部署(k8s)
2022/8/22 23:24:34
本文主要是介绍Rancher高可用部署(k8s),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
先决条件
1、k8s集群
2、CLI工具(helm,kubectl)
3、Ingress Controller
添加Helm Chart仓库
使用helm repo add
命令添加含有 Rancher Chart 的 Helm Chart 仓库。
请将命令中的<CHART_REPO>
,替换为latest
,stable
或alpha
。更多信息,请查看选择 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)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23云原生周刊:利用 eBPF 增强 K8s
- 2024-12-20/kubernetes 1.32版本更新解读:新特性和变化一目了然
- 2024-12-19拒绝 Helm? 如何在 K8s 上部署 KRaft 模式 Kafka 集群?
- 2024-12-16云原生周刊:Kubernetes v1.32 正式发布
- 2024-12-13Kubernetes上运行Minecraft:打造开发者平台的例子
- 2024-12-12深入 Kubernetes 的健康奥秘:探针(Probe)究竟有多强?
- 2024-12-10运维实战:K8s 上的 Doris 高可用集群最佳实践
- 2024-12-022024年最好用的十大Kubernetes工具
- 2024-12-02OPA守门人:Kubernetes集群策略编写指南
- 2024-11-26云原生周刊:K8s 严重漏洞