docker:okd_macvlan
MAC VLAN
- nmstate-og.yaml
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: nmstate-operator-group namespace: openshift-nmstate spec: targetNamespaces: - openshift-nmstate
- nmstate-sub.yaml
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: kubernetes-nmstate-operator namespace: openshift-nmstate spec: channel: stable name: kubernetes-nmstate-operator source: redhat-operators sourceNamespace: openshift-marketplace
- nmstate.yaml
apiVersion: nmstate.io/v1 kind: NMState metadata: name: nmstate namespace: openshift-nmstate
- macvlan-enp7s0-vlan222.yaml
apiVersion: k8s.cni.cncf.io/v1 kind: NetworkAttachmentDefinition metadata: name: macvlan-enp7s0-vlan222 namespace: default spec: config: | { "cniVersion": "0.3.1", "type": "macvlan", "master": "enp7s0.222", "mode": "bridge", "ipam": { "type": "static", "routes": [ { "dst": "0.0.0.0/0", "gw": "10.194.22.1" } ] } }
oc apply -f nmstate-og.yaml oc apply -f nmstate-sub.yaml oc apply -f nmstate.yaml
- validation
jonathan@jonathan-VirtualBox:~/ocp1$ ./oc get nncp NAME STATUS REASON vlan201 Available SuccessfullyConfigured vlan202 Available SuccessfullyConfigured vlan216 Available SuccessfullyConfigured vlan219 Available SuccessfullyConfigured vlan222 Available SuccessfullyConfigured jonathan@jonathan-VirtualBox:~/ocp1$ ./oc get nnce NAME STATUS STATUS AGE REASON ocp1-wk01.ocp1.int.example.com.vlan201 Available 52m SuccessfullyConfigured ocp1-wk01.ocp1.int.example.com.vlan202 Available 64m SuccessfullyConfigured ocp1-wk01.ocp1.int.example.com.vlan216 Available 52m SuccessfullyConfigured ocp1-wk01.ocp1.int.example.com.vlan219 Available 52m SuccessfullyConfigured ocp1-wk01.ocp1.int.example.com.vlan222 Available 52m SuccessfullyConfigured ocp1-wk02.ocp1.int.example.com.vlan201 Available 52m SuccessfullyConfigured ocp1-wk02.ocp1.int.example.com.vlan202 Available 69m SuccessfullyConfigured ocp1-wk02.ocp1.int.example.com.vlan216 Available 52m SuccessfullyConfigured ocp1-wk02.ocp1.int.example.com.vlan219 Available 52m SuccessfullyConfigured ocp1-wk02.ocp1.int.example.com.vlan222 Available 52m SuccessfullyConfigured ocp1-wk03.ocp1.int.example.com.vlan201 Available 52m SuccessfullyConfigured ocp1-wk03.ocp1.int.example.com.vlan202 Available 76m SuccessfullyConfigured ocp1-wk03.ocp1.int.example.com.vlan216 Available 52m SuccessfullyConfigured ocp1-wk03.ocp1.int.example.com.vlan219 Available 52m SuccessfullyConfigured ocp1-wk03.ocp1.int.example.com.vlan222 Available 52m SuccessfullyConfigured ocp1-wk04.ocp1.int.example.com.vlan201 Available 52m SuccessfullyConfigured ocp1-wk04.ocp1.int.example.com.vlan202 Available 72m SuccessfullyConfigured ocp1-wk04.ocp1.int.example.com.vlan216 Available 52m SuccessfullyConfigured ocp1-wk04.ocp1.int.example.com.vlan219 Available 52m SuccessfullyConfigured ocp1-wk04.ocp1.int.example.com.vlan222 Available 52m SuccessfullyConfigured
- pod1.yaml
apiVersion: v1 kind: Pod metadata: name: pod1 annotations: k8s.v1.cni.cncf.io/networks: | [{ "name": "macvlan-enp7s0-vlan222", "ips": [ "10.194.22.200/24" ] }] spec: containers: - name: test image: nicolaka/netshoot command: ["sleep","3600"] securityContext: privileged: true
oc apply -f pod1.yaml
MAC VLAN within project/namespace
oc create sa netshoot -n lab-infra oc get sa netshoot -n lab-infra oc adm policy add-scc-to-user privileged system:serviceaccount:lab-infra:netshoot
- macvlan-enp7s0-vlan222-lab_infra.yaml
apiVersion: k8s.cni.cncf.io/v1 kind: NetworkAttachmentDefinition metadata: name: macvlan-enp7s0-vlan222 namespace: lab-infra spec: config: | { "cniVersion": "0.3.1", "type": "macvlan", "master": "enp7s0.222", "mode": "bridge", "ipam": { "type": "static", "routes": [ { "dst": "0.0.0.0/0", "gw": "10.194.22.1" } ] } }
- deployment-lab10e-pod1.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: pod1 namespace: lab-infra spec: replicas: 1 selector: matchLabels: app: pod1 template: metadata: labels: app: pod1 annotations: k8s.v1.cni.cncf.io/networks: | [{ "name": "macvlan-enp7s0-vlan222", "ips": [ "10.194.22.201/24" ] }] spec: serviceAccountName: netshoot containers: - name: test image: nicolaka/netshoot command: ["sleep","3600"] securityContext: privileged: true
oc label ns lab-infra \ pod-security.kubernetes.io/enforce=privileged \ pod-security.kubernetes.io/warn=privileged \ pod-security.kubernetes.io/audit=privileged \ --overwrite
docker/okd_macvlan.txt · Last modified: by jonathan
