在已有的 Kubernetes 集群上搭建 Rancher

实践环境

Kubernetes

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6", GitCommit:"dff82dc0de47299ab66c83c626e08b245ab19037", GitTreeState:"clean", BuildDate:"2020-07-15T16:58:53Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6", GitCommit:"dff82dc0de47299ab66c83c626e08b245ab19037", GitTreeState:"clean", BuildDate:"2020-07-15T16:51:04Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}

neofetch

前期准备

Kubernetes

本文基于已有的 Kubernetes 集群进行,如需快速搭建 Kubernetes 集群,可以参考之前的文章:

基于 kubeadm 搭建 v1.18.6 的 Kubernetes 可以使用 https://hub.docker.com/u/teslacn 仓库中的镜像。
可以在 kubeadm 配置 imageRepository: teslacn

Helm 3

Helm 3 与 Helm 2 存在一定差异,本文基于 Helm 3.2.4 进行。

根据自己环境的架构在 官方版本发布页 选择对应的下载链接
Helm Releases
GitHub Release 下载可能较慢,此处直接提供本人的文件:
https://wuweijie.oss-cn-shenzhen.aliyuncs.com/resources/helm-v3.2.4-linux-amd64.tar.gz

解压后得到一个文件夹,将里面的可执行文件挪到 $PATH 下面,例如 /usr/local/bin,然后试试:
helm version


开始搭建 Rancher

添加 Helm 仓库

选择版本对应仓库:

版本添加仓库命令说明
latesthelm repo add rancher-latest https://releases.rancher.com/server-charts/latest最新版 Rancher。
stablehelm repo add rancher-stable https://releases.rancher.com/server-charts/stable生产环境推荐。稳定的、相对较老的版本。
alphahelm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha不适用于生产环境。Alpha 版本可以提前预览功能。

本次环境用于个人开发,此处选择最新版本。

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

helm repo add

创建 Namespace

官方建议使用 cattle-system 作为 Namespace:

kubectl create namespace cattle-system

SSL 相关

由于不是正式环境,此处直接使用默认配置,基于 cert-manager:

# Install the CustomResourceDefinition resources separately
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.15.0/cert-manager.crds.yaml

# **Important:**
# If you are running Kubernetes v1.15 or below, you
# will need to add the `--validate=false` flag to your
# kubectl apply command, or else you will receive a
# validation error relating to the
# x-kubernetes-preserve-unknown-fields field in
# cert-manager’s CustomResourceDefinition resources.
# This is a benign error and occurs due to the way kubectl
# performs resource validation.

# Create the namespace for cert-manager
kubectl create namespace cert-manager

# Add the Jetstack Helm repository
helm repo add jetstack https://charts.jetstack.io

# Update your local Helm chart repository cache
helm repo update

# Install the cert-manager Helm chart
helm install \
  cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --version v0.15.0

如果当前网络条件 pull cert-manager 相关的 image 比较困难,可以使用 teslacn 的仓库,目前提供了 v0.15.0

docker pull teslacn/cert-manager-cainjector:v0.15.0
docker pull teslacn/cert-manager-controller:v0.15.0
docker pull teslacn/cert-manager-webhook:v0.15.0

安装完后可以看到:
cert-manager

Helm 安装 Rancher

根据之前选择的 Rancher 版本,指定 Namespace 与 Hostname,安装 Rancher:

helm install rancher rancher-latest/rancher \
  --namespace cattle-system \
  --set hostname=rancher.local.wwj.icu

如果后续需要升级,建议记下 --set 所用到的属性。
helm install rancher

此时查看 pods 可以看到正在创建 Rancher 的 Pod,稍等一会就进入 Running 状态了。
k get po

访问 Rancher

此时 Rancher 可以通过 IP 直接访问。

Rancher

但直接 IP 的方式并不是很方便,如何借助 ingress-nginx 提供服务可以参考文章
Kubernetes 部署 ingress-nginx

参考文档

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wuweijie@apache.org

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值