版本说明
kubernetes1.6
docker1.12.6
环境准备
192.168.0.51 master
192.168.0.52 minion1
192.168.0.53 minion2
安装docker
安装yum-utils 管理yum repository及扩展包的工具
yum install -y yum-utils
增加docker repository
yum-config-manager
--add-repo
https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo
下载包信息到本地
yum makecache fast
安装docker-1.12.6
yum install -y docker-engine-1.12.6
启动docker服务
systemctl start docker
开机启动docker
systemctl enable docker
系统配置
创建/etc/sysctl.d/k8s.conf文件,内容为:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
执行
sysctl -p /etc/sysctl.d/k8s.conf
在/etc/hostname中修改各节点的hostname,在/etc/hosts中设置hostname对应非lo回环网卡ip:
192.168.0.51 master
192.168.0.52 minion1
192.168.0.53 minion2
安装kubeadm和kubelet
安装kubeadm和kubelet需要技术*,或者通过以下两种方法
1、通过修改/etc/hosts文件添加IP *.google.com,比如
216.58.200.33 gcr.io
216.58.200.33 www.gcr.io
216.58.200.33 cloud.google.com
216.58.200.33 packages.cloud.google.com
216.58.200.33 console.cloud.google.com
216.58.200.33 status.cloud.google.com
216.58.200.33 ssh.cloud.google.com
2、或者使用此方法:
cat <
输入如下内容:
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
EOF
安装kubelet,kubeadm,kubectl
yum -y install socat kubelet-1.6.1 kubeadm-1.6.1 kubectl-1.6.1
systemctl enable kubelet.service
初始化集群
上面的步骤每个node都需要执行,此步骤只在Master Node 执行。选择192.168.0.51这台作为Master Node,在此机器上
kubeadm init --kubernetes-version=v1.6.1 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.0.51
选择flannel作为网络插件,所以上面的命令指定–pod-network-cidr=10.244.0.0/16。初始化遇到问题时,使用下面的命令清理然后再初始化:
kubeadm reset
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
rm -rf /var/lib/cni/
不出意外Master Node 已初始化成功。此时查看节点状态 kubectl get nodes 会报 The connection to the server localhost:8080 was refused - did you specify the right host or port? 我们查看kube-apiserver的监听端口
[root@kube-master ~]# netstat -nltp | grep apiserver
tcp6 0 0 :::6443 ::