calico实现docker容器内部的网络链接
calico官网
https://www.projectcalico.org//
calico介绍
http://www.sdnlab.com/17161.html
calico网络
环境
系统 centos 7.2
ip 10.0.0.51
IP 10.0.0.61
1.下载etcd
wget https://github.com/coreos/etcd/releases/download/v3.0.4/etcd-v3.0.4-linux-amd64.tar.gz
tar xf etcd-v3.0.4-linux-amd64.tar.gz
cd etcd-v3.0.4-linux-amd64
cp etcd /usr/bin/etcd && cp etcdctl /usr/bin/etcdctl
2.链接etcd集群
calico1执行
etcd --name infra0 --initial-advertise-peer-urls http://10.0.0.51:2380 --listen-peer-urls http://10.0.0.51:2380 --listen-client-urls http://10.0.0.51:2379,http://127.0.0.1:2379 --advertise-client-urls http://10.0.0.51:2379 --initial-cluster-token etcd-cluster-1 --initial-cluster infra0=http://10.0.0.51:2380,infra1=http://10.0.0.61:2380 --initial-cluster-state new &
calico2执行
etcd --name infra0 --initial-advertise-peer-urls http://10.0.0.61:2380 --listen-peer-urls http://10.0.0.61:2380 --listen-client-urls http://10.0.0.61:2379,http://127.0.0.1:2379 --advertise-client-urls http://10.0.0.61:2379 --initial-cluster-token etcd-cluster-1 --initial-cluster infra0=http://10.0.0.61:2380,infra1=http://10.0.0.51:2380 --initial-cluster-state new &
3.查看
etcdctl member list

docker配置
1.下载doker
yum install -y docker
2.修改docker的配置文件
calico1修改
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd $INSECURE_REGISTRY --cluster-store=etcd://10.0.0.51:2379

calico2修改
vim /usr/lib/systemd/system/docker.service

3.启动docker
systemctl daemon-reload
systemctl restart docker
三.calico
需要先下载calico/node 镜像
1.下载calico并授权
wget http://www.projectcalico.org/latest/calicoctl
chmod +x calicoctl && mv calicoctl /usr/local/bin
2.执行calico命令
1.在本机执行
calicoctl node run
2.在另一台执行
ETCD_ENDPOINTS=http://10.0.0.51:2379 calicoctl node run
3.查看
calicoctl node status

4.创建网络池
cat > calico_pool_minion5.conf <<EOF
apiVersion: v1kind: ipPoolmetadata: cidr: 10.1.0.0/16spec: ipip: enabled: false nat-outgoing: true disabled: falseEOF docker network create -d calico --ipam-driver calico-ipam --subnet=10.1.0.0/16 net1
docker network ls
7.测试


calico实现docker容器内部的网络链接的更多相关文章
- 从Docker容器内部,如何连接到本机的本地主机?
原文 从Docker容器内部,如何连接到本机的本地主机? 编辑:如果您使用的是Docker-for-mac或Docker-for-Windows 18.03+,只需使用主机连接到您的mysql服务即可 ...
- 在宿主机上执行docker容器内部的shell或程序
为了避免反复进入docker容器内部操作,可以将一系列容器内部的指令由宿主机来操作完成. 在宿主机(作者主机为windows7)上执行centos容器(name为centos-1)中/usr目录下的“ ...
- Jenkins(4)docker容器内部修改jenkins容器时间
前言 用docker搭建的Jenkins环境时间显示和我们本地时间相差8个小时,需修改容器内部的系统时间 查看时间 查看系统时间 date-R 进入docker容器内部,查看容器时间 docker e ...
- Docker容器内部端口映射到外部宿主机端口的方法小结
转自:https://www.cnblogs.com/kevingrace/p/9453987.html Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务.容器启动之后,容器中可以 ...
- Docker容器内部端口映射到外部宿主机端口 - 运维笔记
Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务.容器启动之后,容器中可以运行一些网络应用,通过-p或-P参数来指定端口映射. 注意:宿主机的一个端口只能映射到容器内部的某一个端口 ...
- Docker容器内部端口映射到外部宿主机端口
Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务.容器启动之后,容器中可以运行一些网络应用,通过-p或-P参数来指定端口映射. 注意:宿主机的一个端口只能映射到容器内部的某一个端口 ...
- docker容器跨主机网络overlay
前提:已部署好docker服务服务预计部署情况如下10.0.0.134 Consul服务10.0.0.135 host1 主机名mcw510.0.0.134 host2 主机名mcw6host1与 ...
- 如何进入到Docker容器内部
启动Docker容器后,对应的服务(例如tomcat启动)也通过dockerfile文件命令运行起来了,这个时候如何进行容器内部观察容器的运行状态. 1.docker attach 这个命令在创建一个 ...
- 【docker】 docker容器内部安装vi命令
有时会需要在docker容器内使用vi命令,但是新启动的docker容器内并没有vi命令,那就需要自己安装一个 1.使用命令 apt-get update 2.进行安装 apt-get install ...
随机推荐
- C中指针符*和取址符&
学习了C语言之后,关于指针部分看了无数遍,有时候明明觉得自己看懂了,指针就是地址,但是总是在看代码时候糊里糊涂的搞不明白,最近又关于指针强化了一把. 大部分情况下对于程序中指针糊涂是因为不明白指针符“ ...
- Linux安装consul
1.下载并解压consul # cd /opt/ # mkdir consul # chmod 777 consul #cd consul #wget https://releases.hashico ...
- MATLAB——神经网络pureline激活函数
- 初级算法-6.两个数组的交集 II
题目描述: 给定两个数组,编写一个函数来计算它们的交集. 示例 : 输入: nums1 = [,,,], nums2 = [,] 输出: [,] 示例 : 输入: nums1 = [,,], nums ...
- pacman详解及常见问题
安装软件包:软件包有很多可选依赖,是为软件提供额外功能, 安装软件时pacman 会输出可选依赖, 但不会在 pacman.log中,浏览安装软件的可选以来可用pacman -Si得到可选依赖的简短描 ...
- AI 朴素贝叶斯分类
1.条件概率 P(A|B)表示在事件B已经发生的条件下,事件A发生的概率.计算公式:P(A|B)=P(AB)/P(B). 2.相互独立事件 对于相互独立事件A和B,它们发生的概率互不影响,P(AB)= ...
- ESP32 I2S
I2S支持DMA; I2S可以直接利用DAC来输出模拟信号 (GPIO 25 & GPIO 26): 高精度时钟使能参数: .use_apll = true ESP32配置外设一般都是配置 ...
- spring-cloud-starter-feign 等jar无法reimport的解决方案
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> &l ...
- git log 的常用选项
- [转]The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
完整错误信息: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS"AS IS" AND ANY ...