Openshift的网络之一:概览和基本配置

本文介绍了Openshift作为Kubernetes的高级封装,提供了包括镜像构建、服务部署、基于OVS SDN的网络隔离等功能。重点讨论了 Openshift SDN 的三种模式:ovs-subnet、ovs-multitenant 和 ovs-networkpolicy,以及在节点上的配置和运行,包括节点如何响应网络和项目变化,以及相关服务、配置文件和设备的设置。

一、前言

Openshift可以看作是对于kubernetes和docker解决方案的更高级别封装,提供了PAAS解决方案级别的基础设施,包括:

  • 镜像构建和registry存储
  • 服务部署和暴露(Router)
  • 基于OVS SDN的overlay CNI实现
  • 更细粒度的权限控制(RABC)


在我们的lagecy应用向容器云解决方案迁移的过程中,在使用kubernetes方案作为过度之后,最终使用了Openshift Origin作为容器云平台。

载自https://blog.csdn.net/cloudvtech

二、Openshift SDN基本概念


Openshift SDN CNI的三种模式:
  • ovs-subnet:这种模式提供一个flat的POD网络,所有POD直接都可以相互通信。
  • ovs-multitenant:这种模式通过Virtual Network ID在Openshift project层面提供网络隔离,不同project之间的POD不能相互通信。
  • ovs-networkpolicy:这种模式由管理员自定义网络控制策略进行网络隔离。

Openshift SDN CNI的节点:

  • master节点:监控节点加入事件,为新加入的node分配网络,在etcd进行注册;如果是ovs-multitenant模式,还需要监控Openshift project的建立和删除来分配和删除VxLAN VNID。
  • worker节点:向master节点注册并从etcd获取分配到的网络,并建立网桥br0、OVS端口tun0和OVS VXLAN设备vxlan0三个设备;POD将veth对的一端绑定到br0,tun0提供POD访问外网的能力,vxlan0通过over layer方式提供不同node之间POD的互联互通。节点还要监控新的节点和项目的增删事件,进行相应SDN的改变(加减subnet、加减VNID等)



载自https://blog.csdn.net/cloudvtech

三、Openshift网络在node上的配置和运行

2.1 CentOS systemd service

systemctl | grep origin-node
origin-node.service   

/etc/systemd/system/multi-user.target.wants/origin-node.service 
EnvironmentFile=/etc/sysconfig/origin-node

/etc/sysconfig/origin-node
CONFIG_FILE=/etc/origin/node/node-config.yaml

/etc/origin/node/node-config.yaml

networkConfig:
  mtu: 1450
  networkPluginName: redhat/openshift-ovs-multitenant

2.2 Openshift CNI相关文件

[root@ic-node8 ~]# find / -name openshift-sdn

/run/openshift-sdn
/var/lib/cni/networks/openshift-sdn
/opt/cni/bin/openshift-sdn
[root@ic-node8 ~]# find / -name openshift-sdn-ovs
/usr/bin/openshift-sdn-ovs

2.3 相关日志


2.4 建立的设备和OVS端口


ovs-vsctl show
24cd14ca-c514-4e29-b34c-abfe07153dfd
    Bridge "br0"
        fail_mode: secure
        Port "veth19fec9f8"
            Interface "veth19fec9f8"
        Port "veth2077d807"
            Interface "veth2077d807"
        Port "br0"
            Interface "br0"
                type: internal
        Port "vethb7628dde"
            Interface "vethb7628dde"
        Port "vethad35e0c4"
            Interface "vethad35e0c4"
        Port "veth8f7c9229"
            Interface "veth8f7c9229"
        Port "tun0"
            Interface "tun0"
                type: internal
        Port "vxlan0"
            Interface "vxlan0"
                type: vxlan
                options: {key=flow, remote_ip=flow}
        Port "veth1d066b09"
            Interface "veth1d066b09"
                error: "could not open network device veth1d066b09 (No such device)"
    ovs_version: “2.6.1" 



载自https://blog.csdn.net/cloudvtech






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值