准备工作
ansible主机清单:
1 | [rke] |
安装docker:
1 | ansible-playbook roles/docker.yml |
使用ansible之前,需要分发密钥至各节点root用户。
创建rancher用户,并分发密钥:
1 | ansible-playbook roles/key.yml |
安装rke、kubectl、helm工具:
1 | # https://www.cnrancher.com/download/rke/rke_linux-amd64 |
创建集群
rancher-cluster.yml:
1 | nodes: |
rke up:
1 | rke up --config rancher-cluster.yml |
rke up后会生成kube_config_rancher-cluster.yml
设置kube_config环境变量(或者复制到~/.kube/config ):
1 | echo "export KUBECONFIG=/home/rancher/kube_config_rancher-cluster.yml" >> /etc/profile |
安装tiller
1 | # Helm在集群上安装tiller服务以管理charts. 由于RKE默认启用RBAC, 因此我们需要使用kubectl来创建一个serviceaccount,clusterrolebinding才能让tiller具有部署到集群的权限 |
安装cert-manager
1 | helm install stable/cert-manager \ |
安装rancher web
1 | # 使用helm repo add命令添加Rancher chart仓库地址 |
如果不是通过DNS解析域名,而是通过本地hosts解析,可以通过给cattle-cluster-agent Pod和cattle-node-agent添加主机别名,让其可以正常通信,前提是IP地址可以互通。
1 | kubectl -n cattle-system patch deployments cattle-cluster-agent --patch '{ |
安装rancher cli
1 | wget https://www.cnrancher.com/download/cli/rancher-linux-amd64.tar.gz |