一、前言
Openshift可以看作是对于kubernetes和docker解决方案的更高级别封装,提供了PAAS解决方案级别的基础设施,包括:
- 镜像构建和registry存储
- 服务部署和暴露(Router)
- 基于OVS SDN的overlay CNI实现
- 更细粒度的权限控制(RABC)

在我们的lagecy应用向容器云解决方案迁移的过程中,在使用kubernetes方案作为过度之后,最终使用了Openshift Origin作为容器云平台。
载自https://blog.csdn.net/cloudvtech
二、Openshift SDN基本概念
- 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-multitenant2.2 Openshift CNI相关文件
[root@ic-node8 ~]# find / -name openshift-sdn
/run/openshift-sdn
/var/lib/cni/networks/openshift-sdn
/opt/cni/bin/openshift-sdn2.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

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

2137

被折叠的 条评论
为什么被折叠?



