前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单机K8s加入节点组成集群

单机K8s加入节点组成集群

作者头像
余生大大
发布2022-11-02 16:21:26
4360
发布2022-11-02 16:21:26
举报
文章被收录于专栏:余生大大余生大大

前言

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
在上一篇中搭建了单机的k8s和它的管理系统KubeSphere,但是在实际应用中肯定不是`All-in-One`形式的。

所以要在目前单机的基础上添加工作节点形成集群,默认我们上一篇安装的就是master节点,在master节点的基础上增加node节点

node节点环境配置

工作节点对于硬件环境的依赖没有太强,本篇的其中一个工作节点为1C2G,算是将近最低的配置了,但是软件都需要进行安装,否则在脚本执行时会报错缺乏所需软件,软件环境的配置跟之前的操作一样,不过不需要安装kubkey,下面进行软件环境的安装。

第一步: 关闭防火墙

代码语言:javascript
复制
systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld

第二步:关闭swap分区

代码语言:javascript
复制
swapoff -a
echo "vm.swappiness=0" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf

第三步:配置epel源

代码语言:javascript
复制
rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

第四步:更新yum

代码语言:javascript
复制
yum -y update

第五步:安装依赖组件

代码语言:javascript
复制
yum install -y ebtables socat ipset conntrack

第六步:修改hostaname

这里的名称根据不同的node节点进行修改,node1 - node*

代码语言:javascript
复制
hostnamectl --static set-hostname node1

master节点配置集群

第一步:创建配置文件

使用 KubeKey 检索集群信息。执行以下命令创建配置文件 (sample.yaml)。

代码语言:javascript
复制
./kk create config --from-cluster

第二步:修改配置文件

在配置文件中,将新节点的信息放在 hostsroleGroups 之下。但是要在第一行加入master节点

编辑sample.yaml

代码语言:javascript
复制
vim  sample.yaml

修改配置文件

代码语言:javascript
复制
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: sample
spec:
  hosts:
  ##You should complete the ssh information of the hosts
  - {name: master, address: 10.0.20.8, internalAddress: 10.0.20.8}
  - {name: node1, address: 10.0.20.9, internalAddress: 10.0.20.9, user: root, password: xxx}
  - {name: node2, address: 10.0.20.10, internalAddress: 10.0.20.10, user: root, password: xxx}
  - {name: node3, address: 10.0.20.11, internalAddress: 10.0.20.11, user: root, password: xxx}
  roleGroups:
    etcd:
    - master
    master:
    - master
    worker:
    - node1
    - node2
    - node3
  controlPlaneEndpoint:
    ##Internal loadbalancer for apiservers
    #internalLoadbalancer: haproxy

    ##If the external loadbalancer was used, 'address' should be set to loadbalancer's ip.
    domain: lb.kubesphere.local
    address: ""
    port: 6443
  kubernetes:
    version: v1.22.10
    clusterName: cluster.local
    proxyMode: ipvs
    masqueradeAll: false
    maxPods: 110
    nodeCidrMaskSize: 24
  network:
    plugin: calico
    kubePodsCIDR: 10.233.64.0/18

只要设置hostsroleGroups的参数就可以

第三步:执行安装命令

执行以下命令进行安装

代码语言:javascript
复制
./kk add nodes -f sample.yaml

第四步:等待安装

代码语言:javascript
复制
`此次安装过程较长,摸个鱼吧`

第五步:完成核验

安装完成后,可以在 KubeSphere 的控制台上查看新节点及其信息。在集群管理页面,选择左侧菜单节点下的集群节点,或者执行命令 kubectl get node 以检查更改。

  • 命令核验:
在这里插入图片描述
在这里插入图片描述
  • 页面核验:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D8vrhyS2-1659427998474)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7aa1a9f6321b416a92d8c27dc190806d~tplv-k3u1fbpfcp-watermark.image?)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D8vrhyS2-1659427998474)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7aa1a9f6321b416a92d8c27dc190806d~tplv-k3u1fbpfcp-watermark.image?)]

在页面及命令中都可以看到三个节点已经组成了集群,但是我实际配置了三台工作节点。 有一台因为是非同区域外网导致iptable无法映射没有加入成功到集群节点中,后面我尝试配置内外网映射将外网服务器加入到集群中

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • node节点环境配置
    • 第一步: 关闭防火墙
      • 第二步:关闭swap分区
        • 第三步:配置epel源
          • 第四步:更新yum
            • 第五步:安装依赖组件
              • 第六步:修改hostaname
              • master节点配置集群
                • 第一步:创建配置文件
                  • 第二步:修改配置文件
                    • 第三步:执行安装命令
                      • 第四步:等待安装
                        • 第五步:完成核验
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档