Skip to content
SRE运维进阶之路SRE运维进阶之路
github icon
  • kubernetes

    • Kubernetes 学习笔记
      • 集群搭建

        • 使用 ansible 快速搭建 k8s 集群
          • 相关支持
            • 快速开始
              • Roles 介绍
                • preinstall:安装前准备
                  • docker:安装Docker
                    • master: 安装 master
                      • ha:使用 haproxy + keepalived 实现master高可用,负载均衡
                        • calico:安装配置 Calico BGP RR模型
                          • node:安装 node
                      • 常见应用安装配置

                        • Harbor 安装配置(k8s)
                          • Harbor 高可用搭建(docker-compose)
                            • Rancher 安装配置
                              • Helm 安装配置
                              • 容器运行时

                                • k8s 适配 GPU
                                  • Kata2 尝试
                                  • 存储

                                    • Longorn 安装配置
                                      • 使用 Rook 快速搭建 Ceph 集群
                                      • 服务发现与路由

                                        • ingress-nginx 安装配置
                                        • 集群网络

                                          • CNI
                                            • Calico
                                            • 监控告警

                                              • Prometheus Operator 安装配置
                                              • 实用技巧

                                                • 运维手册

                                                  • etcd 备份恢复
                                                    • velero 备份恢复
                                                      • k8s 开启审计日志
                                                        • 内核版本升级
                                                          • 使用 kubeadm 手动更新证书
                                                            • 为 k8s node 配置资源预留
                                                              • 利用LXCFS提升容器资源可见性
                                                              • 最佳实践

                                                                • k8s node 配置资源预留
                                                                  • 性能压测指标及方法
                                                                    • CPU 绑核
                                                                    • 集群排障

                                                                      • 如何更新Terminating状态的命名空间
                                                                        • 卸载 rancher 导致 node 被清空
                                                                          • lvs 健康检查 k8s apiserver
                                                                            • k8s 更改apiserver使用强加密算法
                                                                            • 教程|项目|博客|文章推荐
                                                                              • 附录

                                                                                • 快捷命令

                                                                              使用 ansible 快速搭建 k8s 集群

                                                                              author iconClaycalendar icon2023年1月19日category icon
                                                                              • 云原生
                                                                              tag icon
                                                                              • Kubernetes
                                                                              timer icon大约 2 分钟

                                                                              此页内容
                                                                              • 相关支持
                                                                              • 快速开始
                                                                              • Roles 介绍
                                                                                • preinstall:安装前准备
                                                                                • docker:安装Docker
                                                                                • master: 安装 master
                                                                                • ha:使用 haproxy + keepalived 实现master高可用,负载均衡
                                                                                • calico:安装配置 Calico BGP RR模型
                                                                                • node:安装 node

                                                                              # 使用 ansible 快速搭建 k8s 集群

                                                                              推荐:

                                                                              • kubeadm 安装用:kubesprayopen in new window
                                                                              • 二进制安装用:kubeaszopen in new window

                                                                              此安装方式参考上面两个项目创建,如果刚开始搭建,直接使用上面的安装方式即可,可根据实际情况微调

                                                                              项目地址:https://github.com/clay-wangzhi/ansible-collection-k8s

                                                                              # 相关支持

                                                                              相关版本信息 Centos7、k8s 1.18.10 、etcd 3.4.3 、docker 19.03.4、 calico 3.18.6、

                                                                              # 快速开始

                                                                              # 更换 yum 源,如果本来就是国内源,无需更换
                                                                              curl -fsSL "https://gitee.com/clay-wangzhi/shell/raw/master/repo_replace.sh" | bash
                                                                              
                                                                              # 安装 python3
                                                                              yum -y install python3
                                                                              
                                                                              # Install dependencies from ``requirements.txt``
                                                                              pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
                                                                              
                                                                              cd ansible-collection-k8s
                                                                              # 根据实际情况修改 主机列表 ``inventory/hosts``、全局变量 ``group_vars/all.yml``
                                                                              
                                                                              # 依次执行 playbook
                                                                              ansible-playbook 01-preinstall.yml
                                                                              ansible-playbook 02-docker.yml
                                                                              ansible-playbook 03-ha.yml
                                                                              ansible-playbook 04-master.yml
                                                                              ansible-playbook 05-calico.yml
                                                                              ansible-playbook 06-node.yml
                                                                              
                                                                              1
                                                                              2
                                                                              3
                                                                              4
                                                                              5
                                                                              6
                                                                              7
                                                                              8
                                                                              9
                                                                              10
                                                                              11
                                                                              12
                                                                              13
                                                                              14
                                                                              15
                                                                              16
                                                                              17
                                                                              18
                                                                              19

                                                                              # Roles 介绍

                                                                              # preinstall:安装前准备

                                                                              • 关闭 swap 分区
                                                                              • 更换 yum 源、安装 依赖包
                                                                              • 更新 系统版本 到 centos 7.9、内核版本 到 长期支持版本 kernel-lt 5.4.196
                                                                              • 如果硬件网卡驱动不支持新版本内核,升级 网卡驱动, 针对新内核重新编译
                                                                              • 调节 CPU 性能模式为高性能
                                                                              • 禁用防火墙、SELINUX
                                                                              • 修改内核参数、加载 br_netfilter、ip_conntrack、ipvs 等 modules
                                                                              • 配置时间同步
                                                                              • 重启服务器,使用内核生效
                                                                              • 检查 内核版本
                                                                              • 检查 hostname 是否符合 DNS 规范
                                                                              • 检查 kube_service_addresses 和 kube_pods_subnet 是否为正确的网络段
                                                                              • 检查 kube_service_addresses 和 kube_pods_subnet 的网段是否冲突
                                                                              • 检查时间是否同步
                                                                              • 检查 访问外网的连通性(DNS配置是否正确)

                                                                              # docker:安装Docker

                                                                              • 更换 yum 下载源
                                                                              • 安装 docker 和相关依赖
                                                                              • 新增配置目录,拷贝配置文件
                                                                              • 启动并加入开机自启

                                                                              # master: 安装 master

                                                                              • 更换 yum 下载源
                                                                              • 下载 kubelet、kubeadm、kubectl 等
                                                                              • 下载 kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、pause、etcd、coredns 等镜像
                                                                              • 启动 kubelet 服务
                                                                              • 配置 kubeadm-config.yml 初始化配置文件
                                                                              • 使用kubeadm init 进行初始化
                                                                              • master1 生产certificate key
                                                                              • 其余master 使用 kubeadm join 加入master集群

                                                                              # ha:使用 haproxy + keepalived 实现master高可用,负载均衡

                                                                              先申请vip

                                                                              • 安装 keepalived 、 haproxy
                                                                              • 重定向日志文件
                                                                              • keepalived 新增监控检查脚本
                                                                              • 配置keepalived、haproxy
                                                                              • 启动 keepalived、haproxy ,并配置开机自启

                                                                              # calico:安装配置 Calico BGP RR模型

                                                                              提前设置好 LOCAL_AS、AS_NUMBER、PEER_IP,安装好后还需要网络设置一下,BGP做宣告加邻居等

                                                                              • 拷贝官方 yaml 文件
                                                                              • 替换 PODSUBNET
                                                                              • 设置 NIC 为 bond4 或 eth0
                                                                              • apply calico yaml 文件
                                                                              • 安装 并配置 calicoctl 工具
                                                                              • 拷贝 设置 为 BGP RR 模式 的一些列 yaml 文件
                                                                              • 使用 calicoctl apply 上面的yaml文件

                                                                              # node:安装 node

                                                                              • 步骤和 master 2,3 安装类似,下镜像,生产凭证,kubeadm join
                                                                              edit icon编辑此页open in new window
                                                                              上次编辑于: 2023/2/2 16:22:20
                                                                              贡献者: clay-wangzhi
                                                                              备案号:冀ICP备2021007336号
                                                                              Copyright © 2023 Clay