搭建k8s集群(三)------k8s集群搭建

    使用之前安装的三个虚拟机,分别模拟一个主节点和两个工作节点。

接上一节,下面默认都是要在三个虚拟机上有同样的操作,在xshell中打开介入所有会话

1. 为三个虚拟机设置hostname

  1. 分别查看ip,因为要设置hostname与ip,复制到vim /etc/hosts
    #将每个虚拟机的ip和要修改的名字复制到 vim /etc/hosts
    192.168.43.199 master
    
    192.168.43.216 node01
    
    192.168.43.141 node02
    
  2. 重启虚拟机 reboot

2. 关闭防火墙

  1. 代码如下
    #临时关闭
     systemctl stop firewalld
    
    #永久关闭
    systemctl disable firewalld
    

3.关闭selinux

  1. 代码如下
    sed -i 's/enforcing/disabled/' /etc/selinux/config 
    
    setenforce 0
    

4. 关闭swap

  1. 代码如下
    #临时关闭
    setenforce 0
    
    #永久关闭
    sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
    

4. 将桥接的ipv4传递给 iptables链

  1. 代码如下
    #复制运行就可以
    cat <<EOF > /etc/sysctl.d/k8s.conf
    \> net.bridge.bridge-nf-call-ip6tables = 1
    \> net.bridge.bridge-nf-call-iptables = 1
    \> EOF
    

5.同步时间

  1. 先安装ntp
    yum -y install ntp
    
  2. 同步时间
    ntpdate time1.aliyun.com
    

6.安装依赖包

  1. 代码如下
    #安装wget
    yum install -y epel-release
    yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget
    
    #wget后面要用来下载flannel镜像
    

7.配置阿里云 yum 的软件源

  1. 代码如下,直接复制就可
    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
    

8. 安装kubeadm,kubelet和kubectl

由于版本更新频繁,这里指定版本号部署:

  1. 代码如下
    yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
    

9.设置开机启动

  1. 代码如下
    systemctl  enable  kubelet
    

开始部署 master ,先 把 键入到所有会话关闭 。只在 master 内写

10. 安装kubeadm ,在 master 内执行

  1. 代码如下
    kubeadm init \
    --apiserver-advertise-address=192.168.0.128 \
    --image-repository registry.aliyuncs.com/google_containers \
    --kubernetes-version v1.15.0 \
    --service-cidr=10.1.0.0/16 \
    --pod-network-cidr=10.244.0.0/16
    
    如果上面操作执行出现下面错误
    在这里插入图片描述
    具体操作:
    cd /var/lib/etcd
    rm -rf default.etcd/
    
    如果出现下面报错:
    在这里插入图片描述
    配置 镜像加速 :vi /etc/docker/daemon.json
    写入:
    {
      "registry-mirrors": ["https://l47we7ix.mirror.aliyuncs.com"],
      #添加下面两个就可以
      "live-restore": true, 
      "exec-opts": [ "native.cgroupdriver=systemd"]
    }
    

11.安装好后

安装好后,会自动出行这些内容,复制粘贴运行下面内容:
在这里插入图片描述
复制运行之后,运行代码:kubectl get nodes
在这里插入图片描述
说明成功

12. 安装Pod网络插件(CNI)

在集群上的所有虚拟机上运行

  1. 手动拉取flannel镜像
    docker pull easzlab/flannel:v0.11.0-amd64# 修改镜像名称
    docker tag easzlab/flannel:v0.11.0-amd64 quay.io/coreos/flannel:v0.11.0-amd64
    

下面只在master上操作

  1. 安装flannel
    先安装wget:
    yum -y  install wget
    
    尝试运行wget:
     wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    
    如果这个太慢或者失败的话,用xshell
    下载k8s.rar,解压后如下
    在这里插入图片描述
    通过 xshell 传到 master 节点上,移动到root下面
    在这里插入图片描述
    安装flannel
    kubectl apply -f kube-flannel.yml
    
    在这里插入图片描述

13. ndoe01和node02连接到master

  1. node节点加入集群
    在node节点内,复制安装kubeadm成功后的东西(复制的时候因为回车可能会出现一些问题,可以先复制到文本文档后再赋值到虚拟机上)
    在这里插入图片描述
  2. 进入 master,输入命令:kubectl get nodes,出现下面,说明集群连接成功
    在这里插入图片描述

14. 测试集群

  1. 在主节点 master 上运行
    kubectl create deployment nginx --image=nginx
    kubectl expose deployment nginx --port=80 --type=NodePort
    kubectl get pods,svc
    
    在这里插入图片描述
    在浏览器中输入:(查ip用ifconfig)
    master的ip:32555
    Node01的ip:32555
    Node02的ip:32555
    都可以访问 nginx





完……
发布了26 篇原创文章 · 获赞 2 · 访问量 789

猜你喜欢

转载自blog.csdn.net/id__39/article/details/104447335