kjh00abc 2020-01-08
上图显示了集群的架构,一个master节点和3个worker节点。要尝试诸如使用ingress controller进行负载均衡、会话保持、host亲和性等跨节点功能,这是最低的配置。
Rancher Server的安装并不复杂,它被打包为一个docker镜像,并且可以作为一个容器运行。一个节点的基本配置是运行在Linux虚拟机上的docker CE 守护进程。在本例中,我选择使用Ubuntu 18.04 LTS(具体的节点要求请参考Rancher的官方文档:https://rancher.com/docs/rancher/v2.x/en/installation/requirements/ )。当我完成第一个VM设置时,我直接将其复制到另外三个中。如果你和我的操作一样,可以参考下方两个tips:
安装指定版本Docker:https://docs.docker.com/install/linux/docker-ce/ubuntu/
最终,4个节点都在我的电脑(i5,24G RAM)上启动,并分配以下资源。
Master节点(2 core、4G RAM、Ubuntu 18.04 + Docker CE 18.09) x 1
sudo docker run --restart=unless-stopped -p 81:80 -p 444:443 rancher/rancher
以上命令可以启动Rancher server容器,并且将其运行在master节点上。默认状态下,nginx ingress controller会嵌入到worker节点中,并且绑定端口80和443。因此我将Rancger server发布到端口81和444或其他端口,以避免端口冲突。
首先,使用master节点IP地址和端口444启动Rancher server控制台,它会要求设置管理员密码。
接着,确认worker节点到达Rancher server的URL。这里为了方便我直接使用master节点IP地址作为URL。完成了初始设置后,Rancher server就可以添加新集群了。
因为我想要在本地虚拟机上运行K8S集群而不是在云端,所以选择“自定义”的选项(即上方说明为“ From my own existing nodes”),然后新集群的云提供商选项选为“None”。
在ubuntu虚拟机上复制并运行docker命令来启动master节点。一个master节点至少要有etcd和control,如果你打算创建一个单节点集群,需要选择所有3个角色并更改命令。
运行docker命令之后,新节点将显示在Rancher Server控制台上,配置这一节点需要花费一些时间,一旦配置完成,状态将变为active。
对于worker节点,我们仅需要在节点选项选择“Worker”角色,然后在3个worker节点的Ubuntu虚拟机上复制并运行docker命令。
最后,在我的电脑上多节点集群已经准备就绪。
新集群的Kubernetes版本时v1.14.6,你可以在上面的截图内看到。为了更好地将kubectl工具版本与集群匹配,在master节点上运行以下命令,以安装特定版本:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.6/bin/linux/amd64/kubectl chmod +x ./kubectl sudo mv ./kubectl /usr/local/bin/kubectl
Kubectl工具需要一个kubeconfig文件与集群连接,新集群地kubeconfig文件可以在Rancher Server的控制台中找到。
复制以上kubeconfig文件,并保存为~/.kube/config文件。随后kubectl就能够获取集群信息。
有关kubectl的安装和配置可以参考以下连接:
安装和设置kubectl:https://kubernetes.io/docs/tasks/tools/install-kubectl/
原文链接: