欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一步安装k8s集群——5分钟在CentOS安装k8s集群——非常简单一看就会

程序员文章站 2022-03-07 11:12:36
...

学习k8s,必须得安装一台集群,去敲命令才能更加明白知识点,比如集群的网络,pvc等
由于百度出来的前几页的安装教程,有点难懂,图片丢失或者没有文件可以下载。因此整理出这篇超级简单安装集群的方式。
本文采用看kubeadm安装

k8s安装

安装包下载地址:qsm-k8s-安装包

规划:

192.168.180.130     master
192.168.180.131     node1
192.168.180.129     node2
1、环境配置
  1. 关闭防火墙、关闭selinux、关闭swap。三台机器都需要执行

    # 关闭防火墙
    systemctl stop firewalld
    
    # 暂时关闭,不用重启,
    setenforce 0 
    # 永久关闭,需要重启机器,。所以2个操作一起做
    vim /etc/selinux/config #将SELINUX=enforcing改为SELINUX=disabled
    
    # 临时关闭swap 
    swapoff  -a
    # 永久关闭swap分区,2个操作一起做
    sed -ri 's/.*swap.*/#&/' /etc/fstab
    
  2. 修改为规划中的hostname名;修改hosts文件。三台机器都需要执行

    # 查看主机名hostname
    hostname
    # CentOS7修改主机名hostname的方法为hostnamectl  set-hostname NEW_NAME
    # 三台机器分别master,node1,node2
    hostnamectl set-hostname master
    # 追加hosts文件,ip为用户自己的电脑的ip。三台机器都需要执行
    vim /etc/hosts
    192.168.180.130     master
    192.168.180.131     node1
    192.168.180.129     node2
    
  3. 同步时间。三台机器均执行

    yum install ntpdate -y
    ntpdate time7.aliyun.com
    
  4. 设置内核,打开转发。三台机器均执行

    vim /etc/sysctl.d/k8s.conf
    
    net.ipv4.ip_forward = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    
2、安装master
  1. 上传文件,并解压

    # 上传文件到/root/k8s 没有就新建文件夹。上传可以直接使用工具
    [[email protected] k8s]# ll
    total 1141760
    -rw-r--r--. 1 root root       527 Sep 11  2018 create.token.for.k8s.dashboard
    -rw-r--r--. 1 root root 123058176 Sep 17  2018 k8s.gcr.io-kubernetes-dashboard-amd64-v1.10.0.tar.gz
    -rw-r--r--. 1 root root     10819 Sep 14  2018 kube-flannel.yml
    -rw-r--r--. 1 root root 807703552 Sep 14  2018 master-docker-images.tar.gz
    -rw-r--r--. 1 root root 145690624 Sep 14  2018 node-docker-images.tar.gz
    -rw-r--r--. 1 root root       100 Sep 13  2018 NodePort-Kube-Dashboard
    -rw-r--r--. 1 root root  92678675 Sep 14  2018 NodeRPM.tar.gz
    # 新建文件夹rpm
    mkdir rpm
    # 解压NodeRPM.tar.gz到/root/k8s/rpm
    tar zxvf NodeRPM.tar.gz -C rpm/
    
  2. 安装docker、kubelet等

    # 进入rpm文件夹
    cd rpm/
    # 执行安装命令 --nodeps忽略依赖
    rpm -ivh * --force --nodeps
    
  3. 设置docker镜像等

    #设置docker和kubelet开机启动
    systemctl enable docker kubelet
    #修改kubelet文件中设置KUBELET_EXTRA_ARGS="--fail-swap-on=false"。这里可以设置ipvs(可选)
    vim /etc/sysconfig/kubelet
    
    #docker启动
    systemctl start docker
    #load上传的文件,创建为镜像
    cd /root/k8s
    docker load < master-docker-images.tar.gz
    
  4. 启动k8s主节点

    #启动k8s
    kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
    #若上面报错 /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
    echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables
    
    #启动完成之后,看最后几条日志
    #记录一下最后一句,其他node加入集群需要执行这个条命令,主节点不需要 。kubeadm join 192.168.180.130:6443 --token n3099h.d1ddg2lrmkerwqmi --discovery-token-ca-cert-hash sha256:fc1449dc677e6ab9bcd5d09afdfb1944c9ddfdac6d310621e9630d8c9ea07a34
    #再往上还有日志,若启动需要执行三个操作
    [[email protected] k8s]# mkdir -p $HOME/.kube
    [[email protected] k8s]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    [[email protected] k8s]# chown $(id -u):$(id -g) $HOME/.kube/config
    
    #安装集群网络flannel
    kubectl apply -f kube-flannel.yml
    #查看k8s主节点,能看到则主节点成功安装
    [[email protected] k8s]# kubectl get node
    NAME      STATUS    ROLES     AGE       VERSION
    master    Ready     master    6m        v1.11.1
    
3、安装node节点

切记第一个步骤【环境配置】的所有操作在node上已经都执行了一遍,才能继续在node节点执行一下命令

  1. 上传文件,并解压

    # 上传文件到/root/k8s
    [[email protected] k8s]# ll
    total 232788
    -rw-r--r--. 1 root root 145690624 Sep 14  2018 node-docker-images.tar.gz
    -rw-r--r--. 1 root root  92678675 Sep 14  2018 NodeRPM.tar.gz
    #新建rpm目录,并解压NodeRPM.tar.gz到/root/k8s/rpm
    [[email protected] k8s]# mkdir rpm
    [[email protected] k8s]# tar zxvf NodeRPM.tar.gz -C rpm/
    
  2. 安装docker、kubelet等

    # 进入rpm文件夹
    cd rpm/
    # 执行安装命令 --nodeps忽略依赖
    rpm -ivh * --force --nodeps
    
  3. 设置docker镜像等

    # 执行安装命令 --nodeps忽略依赖
    rpm -ivh * --force --nodeps
    
    #设置docker和kubelet开机启动
    systemctl enable docker kubelet
    #修改kubelet文件中设置KUBELET_EXTRA_ARGS="--fail-swap-on=false"。注意有引号。这里可以设置ipvs(可选)
    vim /etc/sysconfig/kubelet
    
    #docker启动
    systemctl start docker
    #load上传的文件,创建为镜像
    cd /root/k8s
    docker load < node-docker-images.tar.gz
    
  4. 启动k8s的node节

    #启动k8s,并加入主节点的集群中,下面的命令就是安装主节点复制的
    kubeadm join 192.168.180.130:6443 --token n3099h.d1ddg2lrmkerwqmi --discovery-token-ca-cert-hash sha256:fc1449dc677e6ab9bcd5d09afdfb1944c9ddfdac6d310621e9630d8c9ea07a34
    
    #去【主节点】执行kubectl get nodes,可以看到node1加入进来了
    [[email protected] k8s]# kubectl get nodes
    NAME      STATUS    ROLES     AGE       VERSION
    master    Ready     master    38m       v1.11.1
    node1     Ready     <none>    20s       v1.11.1
    
  5. 安装另外一台node

    #安装另外一台node也是上面相同的操作
    #把命令执行完成之后就可以去【主节点】执行kubectl get nodes,可以看到node2也加入进来了
    [[email protected] k8s]# kubectl get nodes
    NAME      STATUS     ROLES     AGE       VERSION
    master    Ready      master    44m       v1.11.1
    node1     Ready      <none>    5m        v1.11.1
    node2     NotReady   <none>    4s        v1.11.1
    

至此,k8s集群安装完成了。

除了使用kubeadm安装方式还有MicroK8s等简单方式。

4、后记

以上安装教程完成之后,可以查看Kubernetes(k8s)学习笔记-先导版——一看就会
该笔记均是先导知识较为简单,可以作为入门知识。

【暂完】






【正在去BAT的路上修行!!!】