使用Rancher Server部署本地多节点K8S集群

当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式。很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作。但当我已经了解了基础知识之后,这两者显然不太够用,我需要进一步寻找能够运行本地多节点集群、与生产环境更相似的平台。为此,我查阅了许多参考资料,最后我找到了Rancher Server。接下来,我要介绍我是如何设置我的本地K8S多节点集群的。
 

准备master节点和worker节点的虚拟机


 
上图显示了集群的架构,一个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:

最终,4个节点都在我的电脑(i5,24G RAM)上启动,并分配以下资源。

  • Master节点(2 core、4G RAM、Ubuntu 18.04 + Docker CE 18.09) x 1
  • Worker节点(2 core, 3G RAM, Ubuntu 18.04 + Docker CE 18.09) x 3
     

    在master节点上启动Rancher server

    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或其他端口,以避免端口冲突。

    完成Rancher server初始设置


     
    首先,使用master节点IP地址和端口444启动Rancher server控制台,它会要求设置管理员密码。
     

     
    接着,确认worker节点到达Rancher server的URL。这里为了方便我直接使用master节点IP地址作为URL。完成了初始设置后,Rancher server就可以添加新集群了。

    创建一个新的K8S集群和master节点


     
    因为我想要在本地虚拟机上运行K8S集群而不是在云端,所以选择“自定义”的选项(即上方说明为“ From my own existing nodes”),然后新集群的云提供商选项选为“None”。
     

     
    在ubuntu虚拟机上复制并运行docker命令来启动master节点。一个master节点至少要有etcd和control,如果你打算创建一个单节点集群,需要选择所有3个角色并更改命令。
     

     
    运行docker命令之后,新节点将显示在Rancher Server控制台上,配置这一节点需要花费一些时间,一旦配置完成,状态将变为active。

    创建worker节点


     
    对于worker节点,我们仅需要在节点选项选择“Worker”角色,然后在3个worker节点的Ubuntu虚拟机上复制并运行docker命令。
     

     
    最后,在我的电脑上多节点集群已经准备就绪。

    安装kubectl工具来管理新的K8S集群

    新集群的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的安装和配置可以参考以下连接:

原文链接:

https://medium.com/@kwonghung.yip/setup-local-kubernetes-multi-node-cluster-with-rancher-server-fdb7a0669b5c

原文地址:https://blog.51cto.com/12462495/2465193

时间: 2024-07-31 10:56:12

使用Rancher Server部署本地多节点K8S集群的相关文章

rancher三节点k8s集群部署例子

rancher三节点k8s集群部署例子 待办 https://rorschachchan.github.io/2019/07/25/使用Rancher2-1部署k8s/ 原文地址:https://www.cnblogs.com/lishikai/p/12310449.html

再探使用kubeadm部署高可用的k8s集群-01引言

再探使用kubeadm部署高可用的k8s集群-01引言 2018/1/26 提示 仅供测试用途前言:高可用一直是重要的话题,需要持续研究.最近关注到 k8s 官网文档有更新,其中一篇部署高可用集群的文章思路不错,简洁给力,希望能分享给有需要的小伙伴一起研究下. 资源 k8s node master0, 10.222.0.100 master1, 10.222.0.101 master2, 10.222.0.102 LB, 10.222.0.88 master0, master1, master2

使用Minikube运行一个本地单节点Kubernetes集群

使用Minikube是运行Kubernetes集群最简单.最快捷的途径,Minikube是一个构建单节点集群的工具,对于测试Kubernetes和本地开发应用都非常有用. ⒈安装Minikube Minikube是一个需要下载并放到路径中的二进制文件.它适用于Windows.Linux和OSX系统. Github地址:https://github.com/kubernetes/minikube,上面有详细的安装过程,我们可以借鉴官方的安装方法进行安装. 我的是Centos7系统,执行以下命令:(

CentOS7.5 Qihoo360/wayne部署(web管理K8S集群)

# 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加Docker软件包源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 更新yum包索引 yum makecache fast # 安装Docker CE yum install docker-ce # 启动 systemctl

使用Kubeadm创建k8s集群之节点部署(三十一)

前言 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像拉取问题)还提供了多种解决方案.不过基于部署环境和k8s的复杂性,我们需要对k8s集群部署过程中的一些步骤都有所了解,尤其是“kubeadm init”命令. 目录 主节点部署  Kubeadm以及相关工具包的安装 批量拉取k8s相关镜像 使用“kubeadm init”启动k8s主节点 启动k8s主节点 kubectl认证 安装f

使用kubeadm部署k8s集群03-扩容kube-apiserver到3节点

使用kubeadm部署k8s集群03-扩容kube-apiserver到3节点 2018/1/3 扩容 kube-apiserver 到 3 节点 配置 kube-apiserver.yaml 分析 kube-apiserver 依赖的证书 为新节点生成专属证书 下发证书到对应的节点 确认每个节点的 apiserver 是否处于 Running 状态 配置 kube-apiserver.yaml ### 拷贝原 master 上的配置: [[email protected] ~]# mkdir

使用kubeadm部署k8s集群07-扩容kube-scheduler到3节点

使用kubeadm部署k8s集群07-扩容kube-scheduler到3节点 2018/1/4 扩容 kube-scheduler 到 3 节点 连接到本节点的 apiserver [[email protected] kube-controller-manager]# cat /etc/kubernetes/manifests/kube-scheduler.yaml |grep '/etc/kubernetes' --kubeconfig=/etc/kubernetes/scheduler.

使用kubeadm部署k8s集群09-配置worker节点

使用kubeadm部署k8s集群09-配置worker节点 2018/1/4 配置 worker 节点 初始化 加入集群 切换 worker 节点连接到 apiserver 的 LB 入口 调整集群中节点角色和调度策略 初始化 /etc/hosts ### k8s master @envDev 10.10.9.67 tvm-00 10.10.9.68 tvm-01 10.10.9.69 tvm-02 k8s worker @envDev 10.10.9.74 tvm-0310.10.9.75 t

Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 master 服务器的组件有:kube-apiserver.kube-controller-manager.kube-scheduler 因此需要下载k8s master,下载地址:https://github.com/kubernetes/kubernetes/blob/master/CHANGE