暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

全网最详细 k8s v1.25 安装部署文档

大侠之运维 2022-09-22
5281

点击上方蓝字  关注大侠之运维

后台回复99.99% 获取运维干货物


之前介绍了1.24版本的安装部署,今天带来1.25的完整部署文档

♦️

前期主机环境准备


1.主机资源准备


ip

主机名

内存

CPU

硬盘

系统

192.168.78.20

master

4G

4C

50G

centos7

192.168.78.21

node1

4G

4C

50G

centos7

192.168.78.22

node2

4G

4C

50G

centos7

2.主机名修改
    #master节点
    hostnamectl set-hostname master

    #node1节点
    hostnamectl set-hostname node1

    #node2节点
    hostnamectl set-hostname node2

     

    3.主机host配置

      vim etc/hosts
      192.168.78.20 master
      192.168.78.21 node1
      192.168.78.22 node2

      4.关闭防火墙


        systemctl disable firewalld
        systemctl stop firewalld
        firewall-cmd --state


        5.修改selinux设置


          sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' etc/selinux/config

          6.时间同步 ,设置定时任务


            crontab -l
            */5 * * * * ntpdate ntp1.aliyun.com


            7.升级内核


            centos7默认的内核是

              uname -r
              3.10.0-1160.el7.x86_64


              下面操作每台都需要执行


                导入elrepo gpg key
                rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

                安装elrepo YUM源仓库
                yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

                安装kernel-ml版本,ml为长期稳定版本,lt为长期维护版本
                yum --enablerepo="elrepo-kernel" -y install kernel-ml.x86_64

                设置grub2默认引导为0
                # grub2-set-default 0

                重新生成grub2引导文件
                # grub2-mkconfig -o boot/grub2/grub.cfg

                更新后,需要重启,使用升级的内核生效。
                # reboot


                升级后内核版本

                  uname -r
                  5.19.10-1.el7.elrepo.x86_64

                   

                  8.修改内核参数,设置网桥过滤


                   

                  添加网桥过滤及内核转发配置文件
                    # cat etc/sysctl.d/k8s.conf
                    net.bridge.bridge-nf-call-ip6tables = 1
                    net.bridge.bridge-nf-call-iptables = 1
                    net.ipv4.ip_forward = 1
                    vm.swappiness = 0

                    加载br_netfilter模块


                      # modprobe br_netfilter

                      查看是否加载


                        # lsmod | grep br_netfilter
                        br_netfilter           22256  0

                        9.安装ipset ipvsadm

                         

                          yum -y install ipset ipvsadm

                          配置ipvsadm模块加载方式
                          添加需要加载的模块
                            # cat > etc/sysconfig/modules/ipvs.modules <<EOF
                            #!/bin/bash
                            modprobe -- ip_vs
                            modprobe -- ip_vs_rr
                            modprobe -- ip_vs_wrr
                            modprobe -- ip_vs_sh
                            modprobe -- nf_conntrack
                            EOF
                            授权、运行、检查是否加载
                              # chmod 755 etc/sysconfig/modules/ipvs.modules && bash etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack
                               

                              10.关闭swap


                              swapoff -a 临时

                               二、


                              ♦️

                              docker环境准备



                              1.docker yum源 使用阿里镜像源


                                wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O etc/yum.repos.d/docker-ce.repo

                                2.docker安装启动


                                  yum -y install docker-ce

                                  systemctl start docker

                                   

                                  3.修改cgroup方式

                                    vim etc/docker/daemon.json
                                    {
                                    "exec-opts": ["native.cgroupdriver=systemd"]
                                    }

                                     

                                    4.cri-dockerd 安装

                                     

                                      wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.2.5/cri-dockerd-0.2.5-3.el7.x86_64.rpm

                                      systemctl start cri-docker

                                       



                                      ♦️

                                      k8s 1.25环境部署


                                      1.配置yum源


                                        vim etc/yum.repos.d/k8s.repo
                                        [kubernetes]
                                        name=Kubernetes
                                        baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
                                        enabled=1
                                        gpgcheck=0
                                        repo_gpgcheck=0
                                        gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg



                                        2.kubeadm、kubelet、kubectl版本均为1.25


                                          yum -y install  kubeadm  kubelet kubectl


                                          3.修改kubelet配置


                                            # vim etc/sysconfig/kubelet
                                            KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"

                                            4.集群初始化


                                              kubeadm init   --apiserver-advertise-address=192.168.78.20   --image-repository registry.aliyuncs.com/google_containers   --kubernetes-version=v1.25.0   --service-cidr=10.96.0.0/12   --pod-network-cidr=10.244.0.0/16   --ignore-preflight-errors=all   --cri-socket unix:///var/run/cri-dockerd.sock
                                               

                                              初始化过程中有报错的话,可以如下查看


                                                journalctl -xeu kubelet | grep Failed

                                                 

                                                遇到一个报错是pull的pause镜像是3.8,但是需要的是3.6,重新pull了一个

                                                 

                                                初始化成功后是这样的


                                                 

                                                执行如下:

                                                  mkdir -p $HOME/.kube
                                                  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
                                                  sudo chown $(id -u):$(id -g) $HOME/.kube/config

                                                   

                                                  5.node加入集群


                                                    kubeadm join 192.168.78.20:6443 --token mqpnuk.cwzgxt46up16uc01         --discovery-token-ca-cert-hash sha256:85e687d139427eee877f88d587d5bf95b47cafbbacfc6128ac504bdae8078ef9  --cri-socket unix:///var/run/cri-dockerd.sock
                                                     

                                                    6.安装网络插件 calico

                                                      wget https://projectcalico.docs.tigera.io/archive/v3.24/manifests/calico.yaml --no-check-certificate
                                                       

                                                      修改如下配置,注意格式对齐

                                                                   - name: CALICO_IPV4POOL_CIDR
                                                        value: "10.224.0.0/16"


                                                        查看需要镜像


                                                          grep image calico.yaml |grep 3.24
                                                          image: docker.io/calico/cni:v3.24.1
                                                          image: docker.io/calico/cni:v3.24.1
                                                          image: docker.io/calico/node:v3.24.1
                                                          image: docker.io/calico/node:v3.24.1
                                                          image: docker.io/calico/kube-controllers:v3.24.1下载镜像


                                                          下载镜像


                                                            for i in calico/cni:v3.24.1 calico/node:v3.24.1 calico/kube-controllers:v3.24.1calico/kube-controllers:v3.24.1 ; do docker pull $i ; done
                                                             

                                                            然后apply


                                                              kubectl apply -f calico.yaml
                                                               

                                                              然后就完成啦


                                                              ♦️

                                                               验证



                                                              查看所有的节点
                                                                [root@master ~]# kubectl get nodes
                                                                NAME STATUS ROLES AGE VERSION
                                                                k8s-master01 Ready control-plane 1h v1.25.0
                                                                k8s-worker01 Ready <none> 1h v1.25.0
                                                                k8s-worker02 Ready <none> 1h v1.25.0

                                                                 

                                                                 

                                                                 

                                                                 

                                                                 





                                                                👆点击查看更多内容👆


                                                                推荐阅读

                                                                神器,代码画架构图,部署图,yyds

                                                                生产elasticsearch 8.0部署文档

                                                                elastalert2-ELK日志关键字监控实践

                                                                kubernetes安装参考这篇就好了!!


                                                                记得星标记一下,下次更容易找到我

                                                                       



                                                                文章转载自大侠之运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                                评论