阿里云容器服务跨主机互联的容器网络

容器服务为容器创建全局的网络,集群中的容器都可以通过容器的 eth0 的网络接口访问其它容器。

编排示例

例如:分别在两台机器上创建容器,并记录它们的 IP 地址、容器名、hostname,登录容器远程终端,通过 ping 命令测试这两个容器跨节点网络通信情况。

network-test1:
        image: busybox
        hostname: server1   
        command: sh -c 'ifconfig eth0; sleep 100000'
        tty: true
        environment:
            - 'constraint:aliyun.node_index==1'  
network-test2:
        image: busybox
        hostname: server2    
        command: sh -c 'ifconfig eth0; sleep 100000'
        tty: true
        environment:
            - 'constraint:aliyun.node_index==2'

容器跨主机互联测试方法

可以看到这两个服务的容器分布在不同的节点上,如下图所示。


阿里云容器服务跨主机互联的容器网络阿里云容器服务跨主机互联的容器网络

通过容器 IP 进行测试

通过容器服务管理控制台或者通过 test_network-test1_1 容器输出的ifconfig eth0日志,您可以看到 test_network-test1_1 容器的 IP 地址为172.18.0.4。您可以通过连接远程终端在 test_network-test2_1 容器内访问 test_network-test1_1 容器的 IP 地址,来测试网络是否通信。

在 shell 输入栏执行 sh 命令,然后输入
ping 172.18.0.4 命令。如下图所示。


阿里云容器服务跨主机互联的容器网络阿里云容器服务跨主机互联的容器网络

通过容器名进行测试

您可以在对应容器的详情页面查看容器名,默认的容器名为
{project-name}_{service-name}_{container-index}。本示例的容器名如下图所示。


阿里云容器服务跨主机互联的容器网络阿里云容器服务跨主机互联的容器网络

在 shell 输入栏执行
sh 命令,然后输入
ping test_network_test1_1 ,通过容器名进行网络连通性测试。如下图所示。


阿里云容器服务跨主机互联的容器网络阿里云容器服务跨主机互联的容器网络

通过 hostname 进行测试

在本示例中,在编排模板中指定了 hostname,因此您可以也通过 hostname 进行网络连通性测试。如下图所示。


阿里云容器服务跨主机互联的容器网络阿里云容器服务跨主机互联的容器网络

原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/33456.html

发表评论

登录后才能评论