按照《kubernetes集群部署(一):二进制方法部署》的安装步骤,到目前为止,k8s已经能正常调度pod,但访问上还存在问题:k8s不同节点之间的pod网络是不能互通的,即,只能访问被分配到当前节点上的pod。
可以安装flannel
组件以解决这个问题。
集群中每一个节点(master
和node
)都需要安装flannel
。flannel
以etcd
作为数据库。
1.确保当前节点能访问etcd
如果是单节点安装etcd
,默认访问地址是http://127.0.0.1:2379
,仅能在本机访问。
需要设置etcd
启动参数:
--listen-client-urls=http://10.0.2.5:2379 #etcd的ip:port
--advertise-client-urls=http://10.0.2.5:2379 #如果配置了上一条,也必须配置这一条
设置分配给docker
的地址段
etcdctl set /coreos.com/network/config '{ "Network": "172.16.0.0/16", "Backend":{"Type":"vxlan"}}' # 地址段自己随便写,可能不能和节点ip在同一网段。