Rancher是一个开源的企业级容器管理平台。通过Rancher,使用者再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。
Rancher可以最大程度的降低学习成本,使得刚接触kubernetes的同学快速上手。
那么本文带来的是在TKE集群上安装Rancher
首先在控制台开通helm功能
由于控制台的安装只下发了tiller、swift,还需手动下载helm client
curl -O https://storage.googleapis.com/kubernetes-helm/helm-v2.10.0-linux-amd64.tar.gz
tar xzvf helm-v2.10.0-linux-amd64.tar.gz
sudo cp linux-amd64/helm /usr/local/bin/helm
注意,这里默认的是v2.10.0版本,client与server的版本务必对齐不然会失败。
$ helm version
Client: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}
当tiller已存在的时候需加上--client-only
You might need to run
helm init
(orhelm init --client-only
if tiller is already installed)
$ helm init --client-only
Creating /root/.helm
Creating /root/.helm/repository
Creating /root/.helm/repository/cache
Creating /root/.helm/repository/local
Creating /root/.helm/plugins
Creating /root/.helm/starters
Creating /root/.helm/cache/archive
Creating /root/.helm/repository/repositories.yaml
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com
Adding local repo with URL: http://127.0.0.1:8879/charts
$HELM_HOME has been configured at /root/.helm.
Not installing Tiller due to 'client-only' flag having been set
Happy Helming!
Rancher官方提供了三种版本,分别是latest、stable、alpha。
类型 | 添加仓库命令 | 仓库描述 |
---|---|---|
rancher-latest |
| Rancher server最新版Helm charts仓库,建议此仓库版本用于测试环境。好处是可试用最新功能。 |
rancher-stable |
| Rancher server稳定版本,推荐用于生产环境。 |
rancher-alpha |
| Rancher server Alpha版本,预览即将发布的版本。在生产环境中不建议使用这个版本。 |
这里我们使用stable版本
$ helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
我们需要定义一个Rancher的命名空间,该命名空间中安装由Chart创建的资源。Rancher的命名空间建议始终是cattle-system
$ kubectl create namespace cattle-system
这一步比较麻烦,由于Rancher在2.0后的版本默认开启了TLS,所以在创建时需要先准备好证书,并且后续Rancher下发主机的探针时,会通过证书中的域名来通信。若这里是自建的证书,将会出现agent与cattle-service通信异常的情况。
所以证书是用到一个在腾讯云上申请的正式证书。
在申请完毕后,点击下载将证书key存放至服务器上并解压
# 解压
$ unzip tencent.angryhuang.xyz.zip
# 进入目录
$ cd Nginx/
$ ls
1_tencent.angryhuang.xyz_bundle.crt 2_tencent.angryhuang.xyz.key
# 将证书改名
$ mv 1_tencent.angryhuang.xyz_bundle.crt tls.crt
$ mv 2_tencent.angryhuang.xyz.key tls.key
$ kubectl -n cattle-system create \
secret tls tls-rancher-ingress \
--cert=./tls.crt \
--key=./tls.key
更新列表
$ helm repo update
安装rancher,并指定相关参数
$ helm install rancher-stable/rancher \
--name rancher \
--namespace cattle-system \
--set hostname=tencent.angryhuang.xyz \
--set ingress.tls.source=secret \
参数说明:
--name
指定helm名--namespaces
指定创建的资源放在指定的namespace下--set hostname=tencent.angryhuang.xyz
指定证书域名更多的参数设置可参考 Rancher Chart高级设置
这里service默认创建出来的是clusterip,ingress侧无法映射Cluster IP类型的service,所以这里需要先修改成nodeport类型
将服务访问方式选择主机端口访问
选择https,并且选择对应的域名证书,然后配置https、域名、路径、后端服务、服务端口。
解析记录在修改成功后 600秒(10分钟)(TTL值)后生效。
访问域名就能成功的看到Rancher界面,首次访问需设置admin账户的密码
设置主账户的密码
设置 Rancher service URL
主界面
此时还在提醒当前集群Provisioning中...
Waiting for server-url setting to be set
这里是因为cattle-cluster-agent 还没有被创建,需要执行一定的动作才会触发下发agent的流程
等agnet启动完毕后,此时rancher搭建完成。可以体验Rancher带来的部署能力。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。