IT技术之家 网络技术 Kubernetes v1.22/v1.23 企业级高可用集群Ansible自动部署教程

    Kubernetes v1.22/v1.23 企业级高可用集群Ansible自动部署教程

    环境准备

    操作系统要求:CentOS7.x_x64或者CentOS8.x_x64

    规划:

    IP 主机名 角色
    10.8.8.1 k8s-master1 K8S集群主节点1,Master和etcd
    10.8.8.2 k8s-master2 K8S集群主节点2,Master和etcd
    10.8.8.3 k8s-node1 K8S集群工作节点1,etcd
    10.8.8.5 k8s-node2 K8S集群工作节点2
    10.8.8.6 / HA VIP VIP,在k8s-master1和k8s-master2主机实现

    配置时间同步

    #更换yum(centos8官方源已下线,建议切换centos-vault源,)
    rm -rvf /etc/yum.repos.d/*
    #下载新的
    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
    #生成缓存
    yum makecache
    
    # 时间同步 
    wget -O ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm https://yun.ittel.cn:1443/f/c912e39829f841f4852a/?dl=1
    yum localinstall ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm -y
    ntpdate ntp3.aliyun.com

    找一台服务器安装Ansible

    yum install epel-release -y
    #下载ansible依赖,默认源没有以下包,已经下载好,直接镜像获取就行
    wget -O python38-resolvelib-0.5.4-5.el8.noarch.rpm https://yun.ittel.cn:1443/f/b2bae499d95f48069e3e/?dl=1
    wget -O ansible-core-2.12.7-1.el8.x86_64.rpm https://yun.ittel.cn:1443/f/bc254a69e3cf4f119c87/?dl=1
    wget -O sshpass-1.09-4.el8.x86_64.rpm https://yun.ittel.cn:1443/f/cabab3975d4d4326a5d0/?dl=1
    #安装ansible
    wget -O ansible-5.4.0-3.el8.noarch.rpm https://yun.ittel.cn:1443/f/8982f8ca86bd4892b251/?dl=1
    yum install -y python38-resolvelib-0.5.4-5.el8.noarch.rpm
    yum install -y sshpass-1.09-4.el8.x86_64.rpm 
    yum install -y ansible-core-2.12.7-1.el8.x86_64.rpm
    yum install -y ansible

    下载所需二进制文件和Ansible脚本

    下载Ansible部署文件:

    wget -O ansible-install-k8s.zip https://yun.ittel.cn:1443/f/c95c2b00e2594293a8e5/?dl=1 &&  unzip ansible-install-k8s.zip
    #切换到脚本目录
    cd ansible-install-k8s-maste

    下载准备好软件包(包含所有涉及文件和镜像,比较大),并解压到/root目录:

    cd /root/ && wget -O binary_pkg.tar.gz https://yun.ittel.cn:1443/f/c786ba9fc2cf4880b3c6/?dl=1 && tar zxvf binary_pkg.tar.gz

    修改Ansible文件

    修改hosts文件,根据规划修改对应IP和名称。

    #切换到脚本目录
    cd /root/ansible-install-k8s-master/
    vi hosts

    修改group_vars/all.yml文件,修改软件包目录和证书可信任IP。

    vi group_vars/all.yml

    #所有IP对应修改
    vi ./roles/tls/templates/k8s/server-csr.json.j2

    vi ./roles/addons/files/calico.yaml

    vi ./roles/addons/files/coredns.yaml

    一键部署K8S

    架构图

    单Master架构

    多Master架构

    部署命令

    Centos 8.X 执行,Centos 8使用的keeplived和nginx版本和Centos7不一致,适配配置文件

    #centos 7不需要做
    wget -O ./roles/ha/tasks/main.yml https://yun.ittel.cn:1443/f/bf09dd07aadd41868987/?dl=1
    wget -O ./roles/ha/templates/nginx.conf.j2 https://yun.ittel.cn:1443/f/008d926a9682492a88db/?dl=1

    单Master版:

    cd ansible-install-k8s-master/
    ansible-playbook -i hosts single-master-deploy.yml -uroot -k

    多Master版:

    cd ansible-install-k8s-master/
    ansible-playbook -i hosts multi-master-deploy.yml -uroot -k

    耐心等待,最后会提示kubernetes的dashboard访问地址和访问令牌。

    后面就可以登录dashboard进行管理K8S

    K8S

    安装到此结束,哎就很棒

    查看集群节点

    [root@k8s-master1 ansible-install-k8s-master]# kubectl get nodes
    NAME          STATUS   ROLES    AGE     VERSION
    k8s-master1   Ready    <none>   4m23s   v1.22.4
    k8s-master2   Ready    <none>   4m23s   v1.22.4
    k8s-node1     Ready    <none>   4m22s   v1.22.4
    k8s-node2     Ready    <none>   4m23s   v1.22.4

    故障排查

    部署控制

    如果安装某个阶段失败,可针对性测试.

    例如:只运行部署插件

    ansible-playbook -i hosts multi-master-deploy.yml -uroot -k --tags ha

    节点扩容

    1)修改hosts,添加新节点ip

     vi hosts
    ...
    [newnode]
    192.168.31.75 node_name=k8s-node3

    2)执行部署

    ansible-playbook -i hosts add-node.yml -uroot -k

    所有HTTPS证书存放路径

    部署产生的证书都会存放到目录“ansible-install-k8s-master/ssl”,一定要保存好,后面还会用到~

    如果要续签或者重新签发证书,你可以在里面修改证书,重新用cfssl命令生成。

     

    1、本站提供的软件均为 “试用版” 或者 “免费版”,仅供学习和研究使用
    2、友情提醒:内容全部搜集自网络,安装教程参照压缩包内的Readme.txt编写
    3、因使用本站软件产生的法律责任由使用者自行承担,本站不承担任何连带责任。
    4、如有内容不慎侵犯了您的权益,请速与我联系!
    如有转载请注明出处:https://www.ittel.cn/archives/11233.html
    guest
    0 评论
    内联反馈
    查看所有评论
    联系我们

    联系我们

    QQ:877196754

    在线咨询: QQ交谈

    邮箱: ittel@qq.com

    工作时间:周一至周日,8:00-21:00
    返回顶部
    0
    希望看到您的想法,请您发表评论x