kubeadm安装部署kubernetes

送分小仙女□ 提交于 2020-08-06 23:24:40

使用kubeadm安装部署kubernetes集群
    难点:kubeadm部署kubernetes集群 是把kubernetes的各个组件(kube-apiserver kube-controller-manager kube-scheduler kube-proxy etcd coredns)作为容器运行在docker中,安装部署相对简单很多。
    由于某些不可描述的原因,国内无法从k8s.gcr.io拉取所需镜像,因此很多人无法用这种方式完成安装。

准备
    每台机器2 GB或更多的RAM 2个或更多CPU
    192.168.19.11 Master
    192.168.19.12 Node01
    192.168.19.13 Node02
    关闭防火墙
        systemctl status firewalld.service
        systemctl stop firewalld.service
        systemctl disable firewalld.service
    禁用Swap
        swapoff -a
        vi /etc/fstab 注释swap

    让iptables查看桥接流量
        cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
        net.bridge.bridge-nf-call-ip6tables = 1
        net.bridge.bridge-nf-call-iptables = 1
        EOF
        sudo sysctl --system
    准备安装包
        设置yum仓库,阿里云镜像仓库地址:https://developer.aliyun.com/mirror/
        cd /etc/yum.repos.d/
        wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
        vi kubernetes.repo
[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enabled=1

    安装
         yum repolist

        yum install docker-ce kubelet kubeadm kubectl 
        提示公钥未安装:
            wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
            rpm --import yum-key.gpg
            wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
            rpm --import rpm-package-key.gpg

    启动docker服务
        systemctl enable docker.service
        systemctl start docker.service
        配置阿里云加速镜像
        vi /etc/docker/daemon.json
{
 "registry-mirrors": ["https://******.mirror.aliyuncs.com"]
}
        systemctl daemon-reload
        systemctl restart docker.service
        docker info

配置主节点(Master)
    kubeadm 初始化Master
        直接初始化会因为镜像拉取失败 而导致无法进行,需要镜像的可以私信博主
        准备所需镜像
            kubeadm config images list    查看所需镜像
                k8s.gcr.io/kube-apiserver:v1.18.3
                k8s.gcr.io/kube-controller-manager:v1.18.3
                k8s.gcr.io/kube-scheduler:v1.18.3
                k8s.gcr.io/kube-proxy:v1.18.3
                k8s.gcr.io/pause:3.2
                k8s.gcr.io/etcd:3.4.3-0
                k8s.gcr.io/coredns:1.6.7
            ......
            docker images

        
        kubeadm init --help
        kubeadm init --kubernetes-version=v1.18.3 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
            使用flannel网络组件 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12

            看到以上信息说明安装成功

    systemctl enable kubelet.service
    初始化kubectl
            mkdir -p $HOME/.kube
            cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
            sudo chown $(id -u):$(id -g) $HOME/.kube/config
            kubectl get cs 获取组件状态信息

            kubectl get nodes 获取节点信息

            可以看到 处于NotReady状态,因为没有安装网络组件
    添加flannel网络附件
            kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
            注:raw.githubusercontent.com 不可访问,请手动准备kube-flannel.yml或私信博主
            kubectl apply -f kube-flannel.yml
            kubectl get nodes 获取节点信息

配置Node
    yum install docker-ce kubelet kubeadm
    启动docker服务
    Node所需镜像
        k8s.gcr.io/kube-proxy:v1.18.3
        k8s.gcr.io/pause:3.2
        quay.io/coreos/flannel:v0.12.0-amd64
    启用kubelet
        systemctl enable kubelet.service
    kubeadm 加入节点到集群中
kubeadm join 192.168.19.11:6443 --token zc3pe7.6n3vjomutolfwvfi \
    --discovery-token-ca-cert-hash sha256:348e8e47efb084f4a02db1c560e2efa5b29f74ae5a75b7909da17b53e1b51ec3

    kubectl get nodes (Master节点)

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!