您的位置:首页 > 其它

k8s集群的安装采坑记

2020-06-07 05:28 375 查看

k8s集群安装及踩坑记

  • node节点安装
  • 总结
  • 难度 #####5颗星
  • Author logn
  • biu~
  • 掌握如何安装k8s集群

    k8s集群作为云原生的基石。安装过程中也有着很多的坑。此次安装k8s分别为一个master节点和node1节点。

    master节点的安装与配置

    master节点是整个k8s集群中的核心,一般由一个主节点和两个从节点组成,以确保集群的高可用性。为了简单起见此次就采用一个节点安装。

    安装所需环境

    1.安装k8s集群需要修改本地解析hosts文件。并用scp传送到node1上。

    2.关闭iptables,selinux,以及swap,

    systemctl stop iptables
    setenforce 0
    swapoff -a

    也可以用如下方法关闭iptables并打开核心转发

    #编辑文件
    vim /etc/sysctl.conf
    #添加以下行
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_forward = 1
    #立即生效 执行以下指令
    sysctl -p

    3.关闭swap

    安装docker和k8s

    因为Google在国内被墙的原因所以安装k8s要用国内的镜像源推荐使用阿里云家的网速快也可以用清华大学开源镜像站或者中科大的。
    阿里云的开源镜像站链接:阿里云开源镜像站
    找到docker和k8s的repo文件

    然后yum安装docker和k8s

    yum install docker-ce kubelet kubeadm kubectl -y

    初始化配置k8s

    因为k8s手动安装及其复杂,以此可以用kubeadm init 命令配置所需参数。
    1.设置docker和k8s开机自启

    systemctl enable docker kubelet

    2.修改文件 /etc/sysconfig/kubelet

    #编辑文件
    vim /etc/sysconfig/kubelet
    #在后面添加 "--fail-swap-on=false"参数
    KUBELET_EXTRA_ARGS="--fail-swap-on=false"

    该选项用来忽略swap报警,关闭swap后也可以不用修改。
    3.执行以下命令,配置k8s。因为无法访问Google的仓库所以我们访问的是阿里云在国内的仓库【registry.aliyuncs.com/google_containers】也可以访问【registry.cn-hangzhou.aliyuncs.com/google_containers】

    kubeadm init --image-repository registry.aliyuncs.com/google_containers   --ignore-preflight-errors=Swap

    执行成功会出现success回显。复制kubeadm这串代码保存好。后续将node1节点加入k8s集群中会用到。官方推荐用一个非root账号启动k8s以此可以创建一个系统账户执行下列命令。

    官方推荐用一个非root账号启动k8s以此可以创建一个系统账户执行下列命令。

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

    执行如下命令:

    kubectl get nodes


    至此k8s集群master就安装好了!

    4.报错处理
    该命令会自动从仓库中pull我们所需要的镜像
    如果初始化出错可以执行该命令重新拉取。

    kubeadm reset
    rm -rf /var/lib/cni/ $HOME/.kube/config

    这是pull后的镜像文件。其中flannel还要通过执行以下命令pull。

    pull flannel 镜像。因为是国外网站速度极慢。慢慢等待。

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

    node节点安装

    环境准备

    1.关闭selinux,iptables,swap。
    yum安装docker和k8s

    yum install docker-ce kubelet kubeadm -y

    2.scp复制master上的文件kubelet

    scp /etc/sysconfig/kubelet root@node1:/etc/sysconfig/

    3.启动docker并设置为开机自启

    systemctl start docker
    systemctl enable docker kubelet

    4.将node节点添加到k8s集群中。

    kubeadm join 192.168.2.50:6443 --token 9u6kdm.nwhzsmvbl60thjvu     --discovery-token-ca-cert-hash sha256:b58cc2e25f9605637343a7f123cea218e272e6b6c58a402a18da14cfbc2ed056

    这段代码随机生成。应该按照你生成的代码为例。
    5.执行docker images

    执行成功会显示:

    6.在master节点上执行:

    kubectl get nodes

    总结

    k8s作为云原生的基石掌握k8s集群的安装及故障处理是云计算运维工程师必备的。安装的复杂度也是比较高的。其中还有很多很多的坑等着你去踩。

    难度 #####5颗星

    Author logn

    biu~

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: