k8s master节点部署

发布于:2025-04-12 ⋅ 阅读:(34) ⋅ 点赞:(0)

一、环境准备

        1.主机准备

                192.168.10.100 master.com master

                192.168.10.101 node1.com node1

                192.168.10.102 node2.com node2

                互信

                时间同步

                关闭防火墙

                关闭selinux       

        2.创建/etc/sysctl.d/k8s.conf,添加如下内容 

                cat > /etc/sysctl.d/k8s.conf <<EOF

                net.bridge.bridge-nf-call-ip6tables = 1

                net.bridge.bridge-nf-call-iptables = 1

                net.ipv4.ip_forward = 1

                EOF

        3.执行如下命令

                modprobe br_netfilter

        4.安装系统工具

                yum install -y yum-utils device-mapper-persistent-data lvm2

        5.添加软件源信息

                yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

        6.查看docker软件版本,安装指定版本

                yum install docker-ce

        7.安装完毕,启动docker

        systemctl restart docker && systemctl enable docker

二、安装k8s

        1.下载镜像

                docker pull cloudnil/etcd-amd64:3.2.18

                docker pull cloudnil/pause-amd64:3.1

                docker pull cloudnil/kube-proxy-amd64:v1.11.1

                docker pull cloudnil/kube-scheduler-amd64:v1.11.1

                docker pull cloudnil/kube-controller-manager-amd64:v1.11.1

                docker pull cloudnil/kube-apiserver-amd64:v1.11.1

                docker pull cloudnil/k8s-dns-sidecar-amd64:1.14.4

                docker pull cloudnil/k8s-dns-kube-dns-amd64:1.14.4

                docker pull cloudnil/k8s-dns-dnsmasq-nanny-amd64:1.14.4

                docker pull cloudnil/kube-discovery-amd64:1.0

                docker pull cloudnil/dnsmasq-metrics-amd64:1.0

                docker pull cloudnil/exechealthz-amd64:1.2

                docker pull cloudnil/coredns:1.1.3

        2.1在确保docker安装完成后,下面的相关环境配置也完成了,对应所需要的镜像也下载完成了,现在我们就可以安装Kubeadm了,我们这里是通过指定yum源的方式来进行安装的

                cat <<EOF > /etc/yum.repos.d/kubernetes.repo

                [kubernetes] name=Kubernetes

                baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64

                enabled=1

                gpgcheck=1

                repo_gpgcheck=1

                gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg

                https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

                EOF

        2.2当然了,上面的yum源也是需要科学上网的,如果不能科学上网的话,我们可以使用阿里云的源进行安装:

                cat <<EOF > /etc/yum.repos.d/kubernetes.repo

                [kubernetes]

                name=Kubernetes

                baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

                enabled=1

                gpgcheck=0

                repo_gpgcheck=0

                gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

                http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

                EOF

     2.3安装kubelet

        yum install kubelet-1.11.1-0.x86_64

        yum install -y kubelet-1.11.1 kubeadm-1.11.1 kubectl-1.11.1

        systemctl enable kubelet.service && systemctl start kubelet.service

   3.集群安装(master主机要给到4G)

        (1关闭交换分区

                [root@master ~]# swapoff -a

                vim /etc/fastab 注释swap

       (2初始化:在master节点kubeadm命令来初始化集群

                kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=SystemVerification

        (3token:初始化集群获得

                kubeadm join 192.168.10.100:6443 --token abo0d1.z3vniz0n4pej7ztf --discovery-token-ca-cert-hash sha256:215a432766f079dc6aa8476574aefa5f0836e2db4405684106f449974025d3b6

                token创建以及使用

                [root@master ~]# kubeadm token list

                token用于机器加入Kubernetes集群时用到,默认token24小时就会过期,后续的机器要加入集群需要重新生成token

                24小时失效重新创建需要如下命令

                kubeadm token create --print-join-command

                kubectl访问集群的方式

                非root用户

                        mkdir -p $HOME/.kube

                        cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

                        chown $(id -u):$(id -g) $HOME/.kube/config

                root用户

                        export KUBECONFIG=/etc/kubernetes/admin.conf

                        echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

                        source ~/.bash_profile

                kubectl版本测试

                        kubectl version

        (4安装网络,可是使用flannel/calico/weave/macvlan。这里我们使用flannel

                wget https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml

                若要修改网段,需要kubeadm –pod-network-cidr=和这里同步

                vim kube-flannel.yml

                修改network项

                "Network": "10.244.0.0/16",

                kubectl create -f kube-flannel.yml

                删除节点

                kubectl delete node node2.com                


网站公告

今日签到

点亮在社区的每一天
去签到