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
安装完成