blob: 89dbf50eaf7850b51cc20de695d5347a074616ef [file] [log] [blame]
# Copyright 2019-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: core-net
spec:
config: '{
"cniVersion": "0.3.1",
"type": "simpleovs",
"ipam": {
"type": "static"
}
}'
---
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: access-net
spec:
config: '{
"cniVersion": "0.3.1",
"type": "simpleovs",
"ipam": {
"type": "static"
}
}'
---
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: enb-net
spec:
config: '{
"cniVersion": "0.3.1",
"type": "simpleovs",
"ipam": {
"type": "static"
}
}'
---
apiVersion: v1
kind: Pod
metadata:
name: router
labels:
app: router
annotations:
k8s.v1.cni.cncf.io/networks: '[
{ "name": "core-net", "interface": "core-rtr", "ips": ["192.168.250.1/24"] },
{ "name": "enb-net", "interface": "enb-rtr", "ips": ["192.168.251.1/24"] },
{ "name": "access-net", "interface": "access-rtr", "ips": ["192.168.252.1/24"] }
]'
spec:
containers:
- name: quagga
command: ["/bin/bash", "-c"]
args:
- >
sysctl -w net.ipv4.ip_forward=1;
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
trap : TERM INT; sleep infinity & wait
image: opencord/quagga
securityContext:
privileged: true
capabilities:
add:
- NET_ADMIN
ports:
- containerPort: 2601