作者:一盏烛光,贤牛特邀工程师。
防伪码:我已经过了餐桌上有只鸡就一定能吃到鸡腿的年纪了。
Kubernetes作为Docker生态圈中重要一员,是Google多年大规模容器管理技术的开源版本,是产线实践经验的最佳表现[G1]。
如Urs Hlzle所说,无论是公有云还是私有云甚至混合云,Kubernetes将作为一个为任何应用,任何环境的容器管理框架无处不在。
正因为如此, 目前受到各大巨头及初创公司的青睐,如Microsoft、VMWare、Red Hat、CoreOS、Mesos等,纷纷加入给Kubernetes贡献代码。
随着Kubernetes社区及各大厂商的不断改进、发展,Kuberentes将成为容器管理领域的领导者。
什么是 Kubernetes?
Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能如下:
-
使用Docker对应用程序包装(package)、实例化(instantiate)、运行(run)。
-
以集群的方式运行、管理跨机器的容器。
-
解决Docker跨机器容器之间的通讯问题。
-
Kubernetes的自我修复机制使得容器集群总是运行在用户期望的状态。
当前Kubernetes支持GCE、vShpere
实验过程:
一、 环境搭建:
3台centos7的主机:
master 192.168.1.140 部署etcd,kube-apiserver,kube-controller-manager,kube-scheduler 4个应用。
node01 192.168.1.31 部署docker,kubelet, kube-proxy 3个应用
node02 192.168.1.11 部署docker,kubelet, kube-proxy 3个应用
修改主机名和ip,三个主机网卡均设置为桥接模式,能够联网。
分别修改/etc/hosts文件:
三台均设置防火墙的默认区域为trusted。
三台均关闭selinux.
安装docker,并启动。因为master之后还需要做registry仓库,所以也需要安装docker.
开启路由转发功能:
二.实现node01和node02之间容器互通。
node01和node02新建网桥,并固定网桥ip。
node01上操作:
删除网桥docker0,新建网桥kbr0:
新建网桥的配置文件:
新建路由文件:route-eth0,eth0为node1上的网卡名。
修改docker配置文件,添加-b=kbr0参数