基于kubeadm搭建k8s集群

kubeadm是官方社区推出的一个用于快速部署 kubernetes 集群的工具,这个工具能通过两条指令完成一个kubernetes集群的部署

1、创建一个Master节点:

kubeadm init

2、将Node节点加入到Master集群中:

kubeadm join <Master节点的IP和端口>
  • Kubernetes部署环境要求
  • (1)一台或多台机器,操作系统CentOS 7.x-86_x64
    (2)硬件配置:内存2GB或2G+,CPU 2核或CPU 2核+
    (3)集群内各个机器之间能相互通信
    (4)集群内各个机器可以访问外网,需要拉取镜像
    (5)禁止swap分区
  • Kubernetes部署环境要求
  • 关闭防火墙
    systemctl stop firewalld
    systemctl disable firewalld
    

    关闭selinux

    sed -i 's/enforcing/disabled/' /etc/selinux/config  #永久
    setenforce 0  #临时
    

    关闭swap(k8s禁止虚拟内存以提高性能)

    sed -ri 's/.*swap.*/#&/' /etc/fstab #永久
    swapoff -a #临时
    

    在master添加hosts(node不需要添加)

    cat >> /etc/hosts << EOF
    192.168.172.134 k8smaster
    192.168.172.135 k8snode
    EOF
    

    设置网桥参数

    cat > /etc/sysctl.d/k8s.conf << EOF
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
    sysctl --system  #生效
    

    时间同步(centos8以上是另一种方式)

    yum install ntpdate -y
    ntpdate time.windows.com
    
  • Kubernetes安装具体步骤
  • Kubernetes 默认容器运行环境是Docker,因此首先需要安装Docker
    更新docker的yum源
    wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
    

    安装指定版本的docker

    yum install docker-ce-19.03.13 -y
    

    配置加速器加速下载

    /etc/docker/daemon.json
    {
    "registry-mirrors": ["https://registry.docker-cn.com"]
    }
    https://gg3gwnry.mirror.aliyuncs.com
    
    systemctl enable docker.service # 一定要执行,不然kubeadm init的时候会报错
    systemctl start docker.service
    



    添加k8s的阿里云YUM源

    cat > /etc/yum.repos.d/kubernetes.repo << EOF
    [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
    EOF
    

    安装 kubeadm,kubelet 和 kubectl

    yum install kubelet-1.19.4 kubeadm-1.19.4 kubectl-1.19.4 -y
    systemctl enable kubelet.service
    systemctl start kubelet.service
    

    部署Kubernetes Master主节点

    kubeadm init --apiserver-advertise-address=${master节点IP} --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.19.4 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
    # --service-cidr=10.96.0.0/12(集群地址) --pod-network-cidr=10.244.0.0/16(pod地址)
    

    在master机器上执行(kubeadm init成功后,配置和节点加入会有提示)

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

    向集群添加新节点,执行的命令就是kubeadm init最后输出的kubeadm join命令

    # 在节点中执行
    kubeadm join ${master节点IP}:6443 --token wa5bif.zfuvbesevdfvf4of \
        --discovery-token-ca-cert-hash sha256:87cf5828d54dd80da13c4b57c57360370ea0267a7cc3991989ca3006cf3e44d8 
    


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

    应用kube-flannel.yml文件得到运行时容器

    kubectl apply -f kube-flannel.yml # 在master机器上执行
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值