Rexy-Ray 支持多种 backend,上一节我们已经安装配置了 Rex-Ray,今天演示如何配置 VirtualBox backend. 在 VirtualBox 宿主机,即我的笔记本上启动 vboxwebsrv 服务:vboxwebsrv -H 0.0.0.0 执行如下命令关闭 VirtualBox 的登录认证:VBoxManage setproperty websrvauthlibrary null 在关机状态下修改虚拟机 docker1 和 docker2 的 Storage 配置:…
flannel 支持多种 backend,前面我们讨论的是 vxlan,host-gw 是 flannel 的另一个 backend,本节会将前面的 vxlan backend 切换成 host-gw. 与 vxlan 不同,host-gw 不会封装数据包,而是在主机的路由表中创建到其他主机 subnet 的路由条目,从而实现容器跨主机通信.要使用 host-gw 首先修改 flannel 的配置 flannel-config.json: { "Network": "10.2…
上一节我们部署了 etcd,本节安装和配置 flannel. build flannel flannel 没有现成的执行文件可用,必须自己 build,最可靠的方法是在 Docker 容器中 build.不过用于做 build 的 docker 镜像托管在 gcr.io,国内可能无法直接访问,为方便大家,我把它 mirror 到了 docker hub,构建步骤如下: 下载并重命名 image. docker pull cloudman6/kube-cross:v1.6.2-2 docker t…
flannel 是 CoreOS 开发的容器网络解决方案.flannel 为每个 host 分配一个 subnet,容器从此 subnet 中分配 IP,这些 IP 可以在 host 间路由,容器间无需 NAT 和 port mapping 就可以跨主机通信. 每个 subnet 都是从一个更大的 IP 池中划分的,flannel 会在每个主机上运行一个叫 flanneld 的 agent,其职责就是从池子中分配 subnet.为了在各个主机间共享信息,flannel 用 etcd(与 cons…
上一节我们在 flannel 网络中部署了容器,本节讨论 flannel 的连通和隔离特性. flannel 网络连通性 测试 bbox1 和 bbxo2 的连通性: bbox1 能够 ping 到位于不同 subnet 的 bbox2,通过 traceroute 分析一下 bbox1 到 bbox2 的路径. bbox1 与 bbox2 不是一个 subnet,数据包发送给默认网关 10.2.40.1(docker0). 根据 host1 的路由表(下图),数据包会发给 flannel.1.…
本章开始讨论 Docker 网络. 我们会首先学习 Docker 提供的几种原生网络,以及如何创建自定义网络.然后探讨容器之间如何通信,以及容器与外界如何交互. Docker 网络从覆盖范围可分为单个 host 上的容器网络和跨多个 host 的网络,本章重点讨论前一种.对于更为复杂的多 host 容器网络,我们会在后面进阶技术章节单独讨论. Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看: 下面我们分别讨论它们. none 网络…
上一节我们安装和配置了 flannel,本节在 Docker 中使用 flannel. 配置 Docker 连接 flannel 编辑 host1 的 Docker 配置文件 /etc/systemd/system/docker.service,设置 --bip 和 --mtu. 这两个参数的值必须与 /run/flannel/subnet.env 中 FLANNEL_SUBNET 和FLANNEL_MTU 一致. 重启 Docker daemon. systemctl daemon-reloa…
1 阿里云ecs不支持keepalived vip 1.1 场景描述 本来计划用keepalived配合nginx做VIP漂移,用以反代多台master的apiserver的6443端口,结果部署了vip后,该VIP在其他ecs上访问不到,以为是自己的问题搞了好久搞不定,经工单咨询阿里云工程师,明确告知ecs不支持vip 截图如下: 所以只能只用SLB来实现了,但是slb也有坑,详见解决办法 1.2 解决办法和结论 阿里云不能使用vip,要用vip只能走slb slb已经没有免费的了,都要收费,…
https://blog.inovex.de/docker-a-comparison-of-minimalistic-operating-systems https://github.com/rvykydal/anaconda-kickstarts/tree/master/atomic 1. CoreOS 2. Project Atomic 3. Ubuntu Snappy 4. RancherOS 5. Photon https://github.com/CentOS/sig-atomic-b…
大家都知道,两个docker container互连的时候可以用link,但是,我们也知道,container可以将自己的端口映射到宿主机上,比如一个container A上的tomcat将端口暴露给宿主机(0.0.0.0:58080->8080),另一个container B上的mysql将端口也暴露给宿主机(0.0.0.0:53306->3306),那么问题来了,是否可以将A上的jdbc连接改成jdbc:mysql://192.168.1.10:53306xxxxxx(假设192.168.…