美文网首页k8s技术社区
Kubernetes(二)之安装部署

Kubernetes(二)之安装部署

作者: frederickhou | 来源:发表于2020-03-13 14:35 被阅读0次
kubernetes-card.png

Kubernetes 安装部署

1.环境准备

1.1 部署机器准备

机器IP 主机名 角色 系统版本 备注
192.168.3.120 kube-master master CentOS 7.4.1708 内存2G
192.168.3.122 kube-node01 node CentOS 7.4.1708 内存2G
192.168.3.123 kube-node02 node CentOS 7.4.1708 内存2G

1.2 基础配置安装(每台机器都需执行)

1.2.1 配置节点信息

  • 修改对应节点主机hostname

      hostnamectl set-hostname kube-master
    
  • 配置DNS

      cat <<EOF >>/etc/hosts
      192.168.3.120 kube-master
      192.168.3.123 kube-node01
      192.168.3.122 kube-node02
      EOF
    

1.2.2 配置国内yum源

mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum makecache

yum -y update

1.2.3 关闭防火墙、selinux和swap

  • 1 关闭防火墙

      systemctl stop firewalld & systemctl disable firewalld
    
  • 2 关闭selinux

      setenforce 0
      sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
    
  • 3 关闭swap

      swapoff -a
      yes | cp /etc/fstab /etc/fstab_bak
      cat /etc/fstab_bak |grep -v swap > /etc/fstab
      echo vm.swappiness=0 >>/etc/sysctl.conf
      sysctl -p
    
  • 4 设置路由

      yum install -y bridge-utils.x86_64
      
      cat << EOF >  /etc/sysctl.d/k8s.conf
      net.bridge.bridge-nf-call-ip6tables = 1
      net.bridge.bridge-nf-call-iptables = 1
      EOF
    
      sysctl --system  # 重新加载所有配置文件
    

1.2.4 安装docker

  • 配置docker源

      yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      yum makecache
    
  • 安装对应版本docker

      本次安装笔者选用:V18.09.9
      yum -y install docker-ce-18.09.9
    
  • 安装版本查看如图所示

    docker_version.jpg
  • 启动docker服务并设置服务开机自启动

      systemctl start docker & systemctl enable docker
    
  • 修改docker cgroup驱动,与k8s一致

      # 修改docker cgroup驱动:native.cgroupdriver=systemd
      cat > /etc/docker/daemon.json <<EOF
      {
      "exec-opts": ["native.cgroupdriver=systemd"],
      "log-driver": "json-file",
      "log-opts": {
          "max-size": "100m"
      },
      "storage-driver": "overlay2",
      "storage-opts": [
          "overlay2.override_kernel_check=true"
      ]
      }
      EOF
    
      # 重启使配置生效
      systemctl restart docker  
    

1.2.4 k8s组件

  • 配置k8s yum源

      cat <<EOF > /etc/yum.repos.d/kubernetes.repo
      [kubernetes]
      name=Kubernetes
      baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
      enabled=1
      gpgcheck=0
      repo_gpgcheck=0
      gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
          http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
      EOF
      #更新yum
      yum makecache
    
  • master节点安装kubelet kubeadm kubectl

      #指定版本安装V1-.17.3
      yum install -y kubelet-1.17.3 kubeadm-1.17.3 kubectl-1.17.3 --disableexcludes=kubernetes
    
  • 安装结果如图所示

    k8sversion.jpg
  • 设置开机自启动kubelet

      systemctl enable --now kubelet 
    

2.部署集群

2.1 master节点安装

2.1.1 master节点k8s集群初始化

  • 安装相应版本的k8s:V1.17.3

      kubeadm init --kubernetes-version=1.17.3 --apiserver-advertise-address=192.168.3.120 --image-repository registry.aliyuncs.com/google_containers --service-cidr=192.1.0.0/16 --pod-network-cidr=192.244.0.0/16
    
  • 安装结果如图所示:

    1584073519(1).jpg
  • 记录安装终端末尾显示的内容,此内容需要在其它节点加入k8s集群时执行。

      kubeadm join 192.168.3.120:6443 --token 76d8po.jgo5pniao8pomjwc \
          --discovery-token-ca-cert-hash sha256:69f401a7aabcc841b5dd857a66b753a6df4133f280bd7560903f2433144a99ec
    
  • 配置kubectl工具

      #此文件用来连接集群
      mkdir -p $HOME/.kube
      cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      chown $(id -u):$(id -g) $HOME/.kube/config
    
  • 设置master节点为工作节点,可调度

      kubectl taint nodes --all node-role.kubernetes.io/master-
    
  • master节点部署flannel网络

      kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    
  • 查看节点状态

2.1.2 node节点加入

  • 执行加入集群命令

      kubeadm join 192.168.3.120:6443 --token 76d8po.jgo5pniao8pomjwc \
          --discovery-token-ca-cert-hash sha256:69f401a7aabcc841b5dd857a66b753a6df4133f280bd7560903f2433144a99ec
    
  • 执行结果如图所示

    node_join.jpg

3.集群状态查看

3.1 集群节点状态如图所示

1584081461(1).jpg

博客著作权归本作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关文章

网友评论

    本文标题:Kubernetes(二)之安装部署

    本文链接:https://www.haomeiwen.com/subject/mvxkshtx.html