vmware中搭建k8s

Docker

1、4台虚拟机 master-192.168.142.250   s1-192.168.142.251    s2-192.168.142.252    s3-192.168.142.253
2、禁用防火墙
$ systemctl stop firewalld
$ systemctl disable firewalld


下面先安装master
3、安装软件 yum -y install etcd kubernetes
4、/etc/etcd/etcd.conf 监听ip从127.0.0.1改为0.0.0.0
5、/etc/kubernetes/apiserver  监听ip从127.0.0.1改为0.0.0.0 KUBE_ADMISSION_CONTROL去掉鉴权,即serviceAccont
6、启动服务
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do
    systemctl restart $SERVICES
    systemctl enable $SERVICES
    systemctl status $SERVICES 
done


7、检查服务是否正常
kubectl get componentstatuses


8、etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'
  很多教程是写的是etcdctl mk /coreos.com/network/config '{"Network":"172.17.0.0/16"}'
  但是后面在slave中启动flannel时,启动失败,原因是找不到/atomic.io/network(其实这个前缀是可配的,在/etc/sysconfig/flanneld文件中  FLANNEL_ETCD_PREFIX="/atomic.io/network")

下面安装slave
1、yum -y install flannel kubernetes
2、/etc/sysconfig/flanneld 中的etcd的ip要修改
3、/etc/kubernetes/config 中的kube-master的ip也要修改
4、/etc/kubernetes/kubelet
KUBELET_ADDRESS 自身ip地址要修改
KUBELET_HOSTNAME 要修改为真实ip或其它不重名的机器名
KUBELET_API_SERVER 要修改
5、启动服务(注意次序,flanneld必须在docker之前,否则的docker的地址就会重复)
for SERVICES in kube-proxy kubelet flanneld docker; do
    systemctl restart $SERVICES
    systemctl enable $SERVICES
    systemctl status $SERVICES 
done


100、在master上,kubectl get nodes 应该可以看到每个node了。但是这次vmware上安装的k8s看不到。卡在这里了,还搞不清楚是为什么。(找到问题了,修改kubelet的配置文件时,KUBELET_HOSTNAME="--hostname-override=127.0.0.1"  这个要改为真实ip,而不能是主机名。主要是因我的dns服务器中没有配置这个主机名的记录)
(virtulbox上的可以看到,但是在创建控制器时,每次都要去访问docker.io,其实我本地已经有镜像了,另外,原来畅通的网络,安装了k8s后,也不通了。还没有找到原因)

(找到原因了,是路由表中多了记录,可以跑成功了,参见其它几篇文章)

101、k8s启动正常,例子也运行正常。通过http://192.168.56.241:30001/ http://192.168.56.242:30001/ http://192.168.56.243:30001/ 都可以访问,但是看到的内容不同步。

因为 redis 主从网络有问题。定位发现几个docker的ip地址是相同的,这是有问题的,flannel网络中,docker的地址应该是不同的。flannel启动时,会去查询etcd,获取一个没有使用的subnet,并记录在/run/flannel/subnet.env中,docker的启动文件也会修改/run/flannel/docker。

etcdctl ls /atomic.io/network/subnets
/atomic.io/network/subnets/172.17.20.0-24
/atomic.io/network/subnets/172.17.87.0-24
/atomic.io/network/subnets/172.17.59.0-24
/atomic.io/network/subnets/172.17.101.0-24

怀疑是我的虚拟机中有nat网卡导致的,把4个虚拟机的nat网卡都删掉。结果k8s启动失败。每台机器都要手工增加默认路由,k8s就可以启动了。(ip route add default via 192.168.56.240 dev enp0s8   ),每个docker也是不同的ip地址了。

然后再跑例子,三个页面同步了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值