• 单机K8s加入节点组成集群


    前言

    在这里插入图片描述

    在上一篇中搭建了单机的k8s和它的管理系统KubeSphere,但是在实际应用中肯定不是`All-in-One`形式的。
    
    所以要在目前单机的基础上添加工作节点形成集群,默认我们上一篇安装的就是master节点,在master节点的基础上增加node节点
    
    • 1
    • 2
    • 3

    node节点环境配置

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

    第一步: 关闭防火墙

    systemctl disable firewalld
    systemctl stop firewalld
    systemctl status firewalld
    
    • 1
    • 2
    • 3

    第二步:关闭swap分区

    swapoff -a
    echo "vm.swappiness=0" >> /etc/sysctl.conf
    sysctl -p /etc/sysctl.conf
    
    • 1
    • 2
    • 3

    第三步:配置epel源

    rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
    
    • 1

    第四步:更新yum

    yum -y update
    
    • 1

    第五步:安装依赖组件

    yum install -y ebtables socat ipset conntrack
    
    • 1

    第六步:修改hostaname

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

    hostnamectl --static set-hostname node1
    
    • 1

    master节点配置集群

    第一步:创建配置文件

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

    ./kk create config --from-cluster
    
    • 1

    第二步:修改配置文件

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

    编辑sample.yaml

    vim  sample.yaml
    
    • 1

    修改配置文件

    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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    只要设置hostsroleGroups的参数就可以

    第三步:执行安装命令

    执行以下命令进行安装

    ./kk add nodes -f sample.yaml
    
    • 1

    第四步:等待安装

    `此次安装过程较长,摸个鱼吧`
    
    • 1

    第五步:完成核验

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

    • 命令核验:

    在这里插入图片描述

    • 页面核验:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D8vrhyS2-1659427998474)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7aa1a9f6321b416a92d8c27dc190806d~tplv-k3u1fbpfcp-watermark.image?)]

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

  • 相关阅读:
    二维码智慧门牌管理系统:提升城市管理效率与服务水平
    springcloud-config git配置源加载(部署公钥问题)
    Qt资源使用的方式
    工业互联网企业身份与访问控制课题研究与探索
    2023-11 | 短视频批量下载/爬取某个用户的所有视频 | Python
    c 语言 log
    Vue监测数据的原理(对象、数组)、Vue.set()、vm.$set()
    在使用模方进行立面修整时,画折线双击结束后自动闭合,怎么不让它闭合?
    Java Story
    perf性能分析
  • 原文地址:https://blog.csdn.net/AnNanDu/article/details/126124698