布署K8S环境

1.布署kubernetes环境
 
修改源配置文件 vim /etc/yum.repos.d/CentOS-Base.repo  增加以下内容:
[virt7-docker-common-release]
name=virt7-docker-common-release
gpgcheck=0
修改yum缓存配置:
$ cat /etc/yum.conf 
keepcache=1
安装etcd:
2.1.1版本
rpm -ivh etcd-2.1.1-2.el7.x86_64.rpm
安装kubernetes:
yum -y install --enablerepo=virt7-docker-common-release kubernetes
然后去yum缓存文件目录寻找rpm安装包
/var/cache/yum/x86_64/7/virt7-docker-common-release/packages
把这5个安装包拷贝到集群的其他node主机上并安装
rpm -ivh etcd-0.4.6-7.el7.centos.x86_64.rpm
出现此提示,则安装socat
在所有主机上安装flannel
yum -y install flannel
在所有主机上安装ntp服务并启动
yum install -y ntp
systemctl start ntpd
systemctl enable ntpd


配置hostname: (在master以及所有node上执行)
echo"192.168.121.9 centos-master192.168.121.65 centos-minion" >> /etc/hosts
修改/etc/kubernetes/config文件 (master以及所有node)

修改/etc/kubernetes/apiserver文件  (仅master)

修改/etc/etcd/etcd.conf 文件(仅master)

修改 /etc/kubernetes/kubelet文件 (所有node主机)

注:这里因为用到了pause:0.8.0这个镜像,所以请把这个镜像上传到私有仓库。

修改 /etc/sysconfig/flanneld (master和所有node)

关闭防火墙 (master以及所有node)
systemctl stop iptables.service
systemctl disable iptables.service
systemctl stop firewalld.service
systemctl disable firewalld.service

在master上执行 etcdctl mk /coreos.com/network/config '{"Network":"172.17.0.0/16"}'

启动master上的服务:
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done

启动node上的服务 (每一台node主机)
for SERVICES in kube-proxy kubelet docker flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done

在node上都进行以下几部操作:
ip a | grep flannel | grep inet 查看flannel的IP

然后设置docker的IP
sudo ifconfig docker0 172.17.87.1 netmask 255.255.255.0
重起docker: service docker restart
查看路由:

路由信息为上面的结果,则node配置结束。
如果查看路由时flannel0的路由不存在则先把docker0的IP设置为172.17.42.1然后重起docker,重起flannel
则flaanel0和docker0的路由都有了。但是他们的路由一样,需要把行上面的设置docker的IP然后重启docker则正常

master和node上的服务均启动成功后,在master上执行:
kubectl get nodes

所有node主机均显示Ready状态,则kubernetes布署成功。

2.布署成功后,创建replication和service进行测试
vim replication.yaml

执行命令创建 kubectl create -f replication.yaml
创建成功后,执行kubectl get rc 进行查看:
执行命令创建 kubectl create -f service.yaml
创建成功后,执行kubectl get service 进行查看:
在node主机上执行命令验证:
出现类似html的返回结果,证明创建rc和service正确!
 
因为安装并配置启动了flannel,所以现在容器间的访问是可行的。
在一台minion主机的容器中 尝试PING另一台minion主机的容器IP
能PING通则证明flannel服务配置成功。
posted @ 2016-01-14 15:34  chi++  阅读(690)  评论(0编辑  收藏  举报