为了账号安全,请及时绑定邮箱和手机立即绑定

Openshift网络插件动态切换

标签:
Kubernetes

webp

一个K8S相关的故事

Openshift 3.11版本

Openshift SDN网络插件ovs-subnet 与 ovs-multitenant切换

  1. 更改节点上的networkPluginName的配置

  • master节点:/etc/origin/master/master-config.yaml

  • node节点:/etc/origin/node/node-config.yaml

  • 将networkPluginName中的redhat/openshift-ovs-subnet换成redhat/openshift-ovs-multitenant,或者反过来。

$ ansible all -m shell -a 'sed -i "s/openshift-ovs-subnet/openshift-ovs-multitenant/g" /etc/origin/node/node-config.yaml'$ ansible masters  -m shell -a 'sed -i "s/openshift-ovs-subnet/openshift-ovs-multitenant/g" /etc/origin/master/master-config.yaml'
  1. 重启master节点上的origin-master-api和origin-master-controllers服务

$ ansible masters -m shell -a 'master-restart api' -f 1$ ansible masters -m shell -a 'master-restart controllers' -f 1
  1. 停止节点上的origin-node服务

$ ansible all -m service -a 'name=origin-node state=stopped'
  1. 在所有节点上重启Openshift SDN服务

$ oc delete pod --all -n openshift-sdn
  1. 在所有节点上重启origin-node服务

$ ansible all -m service -a 'name=origin-node state=started'
  1. 如果是从openshift sdn插件切换到第三方插件,需要清空将openshit sdn的特性

$ oc delete clusternetwork --all
$ oc delete hostsubnets --all
$ oc delete netnamespaces --all
  1. 检查VNIDs

$ oc get netnamespace

Openshift SDN网络插件ovs-multitenant 切换到 ovs-networkpolicy

  1. 下载切换脚本并更改执行权限

$ curl -O https://raw.githubusercontent.com/openshift/origin/master/contrib/migration/migrate-network-policy.sh$ chmod a+x migrate-network-policy.sh
  1. 执行脚本,openshift使用cluster-admin权限的用户

$ ./migrate-network-policy.sh

Openshift 3.9版本

Openshift SDN网络插件ovs-subnet 与 ovs-multitenant切换

  1. 更改节点上的networkPluginName的配置

  • master节点:/etc/origin/master/master-config.yaml

  • node节点:/etc/origin/node/node-config.yaml

  • 将networkPluginName中的redhat/openshift-ovs-subnet换成redhat/openshift-ovs-multitenant,或者反过来。

$ ansible all -m shell -a 'sed -i "s/openshift-ovs-subnet/openshift-ovs-multitenant/g" /etc/origin/node/node-config.yaml'$ ansible masters  -m shell -a 'sed -i "s/openshift-ovs-subnet/openshift-ovs-multitenant/g" /etc/origin/master/master-config.yaml'
  1. 重启master节点上的origin-master-api和origin-master-controllers服务

$ ansible masters -m service -a 'name=origin-master-api state=restarted' -f 1$ ansible masters -m service -a 'name=origin-master-controllers state=restarted' -f 1
  1. 停止节点上的origin-node服务

$ ansible all -m service -a 'name=origin-node state=stopped'
  1. 在所有节点上重启openvswitch服务

$ ansible all -m service -a 'name=openvswitch state=restarted'
  1. 在所有节点上重启origin-node服务

$ ansible all -m service -a 'name=origin-node state=started'
  1. 如果是从openshift sdn插件切换到第三方插件,需要清空将openshit sdn的特性

$ oc delete clusternetwork --all
$ oc delete hostsubnets --all
$ oc delete netnamespaces --all
  1. 检查VNIDs

$ oc get netnamespace

Openshift SDN网络插件ovs-multitenant 切换到 ovs-networkpolicy

  1. 下载切换脚本并更改执行权限

$ curl -O https://raw.githubusercontent.com/openshift/origin/master/contrib/migration/migrate-network-policy.sh$ chmod a+x migrate-network-policy.sh
  1. 执行脚本,openshift使用cluster-admin权限的用户

$ ./migrate-network-policy.sh



作者:潘晓华Michael
链接:https://www.jianshu.com/p/22ad366b2aad


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消