目录

摘要:

参考:

部署:


摘要:

记录手动部署k8s集群

参考:

使用 kubeadm 创建集群 | Kubernetes

部署:

node-201虚机情况说明
    用户名/密码:  root/123456
    IP地址: 192.168.58.201/24
    VM网络模式: NAT


克隆虚机
    如果需要创建多节点的集群,可以在VMware Workstation里操作克隆node-201虚机。
    注意,应在node-201关机状态,进行克隆操作。
    举例,使用node-201克隆出node-202和node-203两个节点。


配置克隆的虚机
    虚机克隆出来后,IP地址和主机名是冲突的,需要手动修改。

    为此,分别启动并配置克隆出的node-202和node-203节点,操作如下(以node-202为例):
        1. 修改IP地址
            修改
                /etc/sysconfig/network-scripts/ifcfg-ens33
            中 IPADDR 为期望的地址,例如192.168.58.202
            重启ens33网卡,使配置生效
                ifdown ens33 && ifup ens33

        2. 修改主机名
            hostnamectl set-hostname node-202
            注意,ssh需要重连,才能看到新的主机名。

        3. 修改hosts文件
            每个节点的hosts文件确认有如下内容:
                192.168.58.201          node-201
                192.168.58.202          node-202
                192.168.58.203          node-203
                192.168.58.201          lb.apiserver.cluster.local
            用于实现节点间域名解析。
            注意,由于缺乏负载均衡器,因此lb.apiserver.cluster.local固定指到201节点。


部署K8s集群
    在节点准备就绪后,即可开始部署K8s集群,后续分场景介绍。

    场景1: 创建3控制节点的K8s集群
        在node-201上执行:
            kubeadm init --control-plane-endpoint lb.apiserver.cluster.local --pod-network-cidr "10.168.0.0/16" --upload-certs
        注意,--pod-network-cidr的网段需要和网络插件的配置保持一致。

        在剩余的两个节点上执行:
              kubeadm join lb.apiserver.cluster.local:6443 --token <token> \
                --discovery-token-ca-cert-hash <hash> \
                --control-plane --certificate-key <key>
        注意,上述<token>、<hash>和<key>可以从 node-201 上执行kubeadm的输出获取。

        安装网络插件(flannel),在任一节点上执行
            kubectl --kubeconfig /etc/kubernetes/admin.conf  apply -f /root/kube-flannel.yml
        注意,kube-flannle.yml中 net-conf.json 的 "Network" 网段配置必须同创建集群时 --pod-network-cidr 一致。
        注意,如果因没有kubeconfig,而无法使用kubectl命令,请执行:
              mkdir -p $HOME/.kube
              cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
              chown $(id -u):$(id -g) $HOME/.kube/config

    场景2: 创建1控制节点,2工作节点的K8s集群
        TODO

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐