• 47-准备 Overlay 网络实验环境


    为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络。VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 VLAN 相同的以太网二层服务,但是拥有更强的扩展性和灵活性。有关 VxLAN 更详细的内容可参考 CloudMan 在《每天5分钟玩转 OpenStack》中的相关章节

    Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都是 Docker 支持的 key-vlaue 软件,我们这里使用 Consul。

    实验环境描述

    我们会直接使用上一章 docker-machine 创建的实验环境。在 docker 主机 host1(192.168.0.44)和 host2(192.168.0.45)上实践各种跨主机网络方案,在 192.168.0.43 上部署支持的组件,比如 Consul。

    最简单的方式是以容器方式运行 Consul:

    docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap

    容器启动后,可以通过 http://192.168.56.101:8500 访问 Consul。

    容器启动后,可以通过 http://192.168.0.43:8500 访问 Consul。

    接下来修改 host1 和 host2 的 docker daemon 的配置文件/etc/systemd/system/docker.service.d/10-machine.conf。

    --cluster-store 指定 consul 的地址。
    --cluster-advertise 告知 consul 自己的连接地址。

    重启 docker daemon。

    systemctl daemon-reload  

    systemctl restart docker.service

    host1 和 host2 将自动注册到 Consul 数据库中。

    http://192.168.0.43:8500/ui/#/dc1/kv/docker/nodes/

    下一节创建 overlay 网络。

  • 相关阅读:
    Linux命令应用大词典-第11章 Shell编程
    Kubernetes 学习12 kubernetes 存储卷
    linux dd命令
    Kubernetes 学习11 kubernetes ingress及ingress controller
    Kubernetes 学习10 Service资源
    Kubernetes 学习9 Pod控制器
    Kubernetes 学习8 Pod控制器
    Kubernetes 学习7 Pod控制器应用进阶2
    Kubernetes 学习6 Pod控制器应用进阶
    Kubernetes 学习5 kubernetes资源清单定义入门
  • 原文地址:https://www.cnblogs.com/mkxfs/p/10973823.html
Copyright © 2020-2023  润新知