1.  禁用防火墙

systemctl stop firewalld
systemctl disable firewalld

2. 禁用SELINUX

执行如下命令:
    vim /etc/sysconfig/selinux
修改文件中的SELINUX为: 
    SELINUX=disabled

3. 关闭swap内存

 swapoff -a

4. 安装docker

yum install docker

5. 启动docker

systemctl enable docker;system start docker 

6. 编辑生成kubernetes的yum源

vim  /etc/yum.repos.d/kubernetes.repo

  添加如下内容: 

[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0

7. 安装kubelet,kubectl,kubenetes-cni,kubeadm

yum install kubectl kubelet kubernetes-cni kubeadm
sysctl net.bridge.bridge-nf-call-iptables=1

8. 启动kubelet

systemctl enable kubelet
systemctl start kubelet

查看状态和日志:

systemctl staus kubelet
journalctl -xefu kubelet

可能会出现异常【kubelet cgroup driver:cgroupfs跟docker cgroup driver:systemd不一致】

查看 docker cgroupfs:

docker info |grep Cgroup 

kubelet文件驱动默认cgroupfs, 而我们安装的docker使用的文件驱动是systemd, 造成不一致, 导致镜像无法启动。
现在有两种方式, 一种是修改docker, 另一种是修改kubelet。
我这里采用修改docker的方式:

# 修改docker.service vi /lib/systemd/system/docker.service

找到 --exec-opt native.cgroupdriver=systemd \ 修改为: --exec-opt native.cgroupdriver=cgroupfs \

# 重启docker systemctl daemon-reload systemctl restart docker

9. Master初始化

(1)创建kubeadm配置文件

vim  ~/kubeadm-config.yaml 

添加如下内容: 

apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
kubernetesVersion: v1.13.1
networking:
  serviceSubnet: 10.96.0.0/12
  podSubnet: 10.244.0.0/16

(2)初始化

kubeadm init --config kubeadm-config.yaml  --ignore-preflight-errors=NumCPU

安装完成

kubeadm安装k8s

相关文章: