• OpenShift 4.10环境中的Multus静态ip


    mutus支持的网络模式

     整体的架构图如下

    在ip分配上,既支持静态ip也支持动态ip的模式

     OpenShift 4的版本中已经开启Multus的多网络平面组件,因此只需要配置就可以使用

    oc edit  networks.operator.openshift.io cluster

    加入一段

    spec:
      additionalNetworks:
      - name: static-net
        namespace: myproject
        rawCNIConfig: |-
          {
            "name": "static-net",
            "cniVersion": "0.3.1",
            "type": "ipvlan",
            "ipam": {
              "type": "static"
            }
          }
        type: Raw

    静态ip可以在cluster的addionalNetwork里面指定也可以在Deployment里面指定,完成后确认生成了network attachment definition

    [root@bastion ~]oc get network-attachment-definition
    NAME         AGE
    static-net   32m

    修改Deployment

    [root@bastion ~]# cat tomcat.yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: tomcat
        app.kubernetes.io/component: tomcat
        app.kubernetes.io/instance: tomcat
      name: tomcat
      namespace: myproject
    spec:
      replicas: 1
      selector:
        matchLabels:
          deployment: tomcat
      template:
        metadata:
          annotations:
            k8s.v1.cni.cncf.io/networks: |-
              [
               {
                 "name": "static-net",
                 "namespace": "myproject",
                 "ips": ["192.168.12.77/24"] 
               }
              ]
            openshift.io/generated-by: OpenShiftNewApp
          labels:
            deployment: tomcat
        spec:
          containers:
          - command:
            - /sbin/init
            image: docker.io/centos/tools:latest
            imagePullPolicy: IfNotPresent
            name: samplepod
            ports:
            - containerPort: 8080
              protocol: TCP
    "ips": ["192.168.12.77/24"] 意思是供应一个固定ip为192.168.12.77,掩码为255.255.255.0

    创建完成后,进入Pod查看ip

    sh-4.2$ ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 8951
            inet 10.129.2.25  netmask 255.255.254.0  broadcast 10.129.3.255
            inet6 fe80::cc0:8bff:fe3b:1696  prefixlen 64  scopeid 0x20<link>
            ether 0a:58:0a:81:02:19  txqueuelen 0  (Ethernet)
            RX packets 8  bytes 816 (816.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 16  bytes 1216 (1.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    net1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001
            inet 192.168.12.77  netmask 255.255.255.0  broadcast 192.168.12.255
            inet6 fe80::685:7d00:116:e3b4  prefixlen 64  scopeid 0x20<link>
            ether 06:85:7d:16:e3:b4  txqueuelen 0  (Ethernet)
            RX packets 72  bytes 3082 (3.0 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 15  bytes 1146 (1.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    sh-4.2$ 
  • 相关阅读:
    机器学习Python包
    Linux网卡的相关配置总结
    [转]Ajax跨域请求
    [转]git在eclipse中的配置
    java代码运行linux shell操作
    虚拟机NAT模式无法上网问题的解决办法
    [转]关于网络通信,byte[]和String的转换问题
    ARP协议工作流程
    pycharm常用快捷键总结
    数据挖掘主要解决的四类问题
  • 原文地址:https://www.cnblogs.com/ericnie/p/16301269.html
Copyright © 2020-2023  润新知