From a258d14568e2efd7b6321e158cc83ca7576b3bc5 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 20:10:10 +0800 Subject: [PATCH 01/20] Update README.md --- README.md | 67 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 54 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index d717071..4137b2a 100644 --- a/README.md +++ b/README.md @@ -5,27 +5,68 @@ Repository to provision router and monitoring pods in OF@TEIN++ multiple Kuberne ## Requirements +Loki service should deployed in the cluster. + ## Configuration Example of router configuration for UM site worker node `um-router-pod.yaml` is shown below: ```yaml +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: um-sandbox-3-pvc + namespace: rpki +spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Mi +--- apiVersion: v1 kind: Pod metadata: - name: router-pod-um + name: quagga-bgp-um-sandbox-3 + namespace: rpki + labels: + app: quagga-bgp-um-sandbox-3 spec: - volumes: - - name: configDir - mountPath: "..." - containers: - - name: quagga - image: - command: - volumeMounts: - - mountPath: "/config" - name: configDir - nodeName: k8s-worker-um-1 + nodeName: um-sandbox-3 + containers: + - name: quagga + image: osrg/quagga + ports: + - containerPort: 179 + - containerPort: 2605 + - containerPort: 2601 + securityContext: + capabilities: + add: + - NET_ADMIN + - NET_BROADCAST + - NET_RAW + - SYS_ADMIN + volumeMounts: + - name: um-sandbox-3-storage + mountPath: /etc/quagga/ + - name: ovs + image: globocom/openvswitch + ports: + - containerPort: 22 + - containerPort: 5566 + protocol: UDP + securityContext: + capabilities: + add: + - NET_ADMIN + volumes: + - name: um-sandbox-3-storage + persistentVolumeClaim: + claimName: um-sandbox-3-pvc + ``` ## Usage @@ -36,4 +77,4 @@ To apply the configuration please use this `kubectl` command: kubectl apply -f um-router-pod.yaml ``` -## Troubleshooting \ No newline at end of file +## Troubleshooting From e6c7fbf5fca0adab4a64b70d6b324796f2e49d3e Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 20:11:51 +0800 Subject: [PATCH 02/20] Add files via upload --- router-pod/1-um-sandbox-3.yaml | 54 ++++++++++++++++ router-pod/2-smartx-microbox-drukren-1.yaml | 70 +++++++++++++++++++++ router-pod/3-smartx-microbox-itb-1.yaml | 70 +++++++++++++++++++++ router-pod/4-smartx-microbox-monash-1.yaml | 70 +++++++++++++++++++++ router-pod/5-smartx-microbox-rub-1.yaml | 70 +++++++++++++++++++++ router-pod/6-um-ncku-worker1.yaml | 70 +++++++++++++++++++++ router-pod/7-um-ncu-worker1.yaml | 69 ++++++++++++++++++++ router-pod/8-smartx-microbox-ucsm-1.yaml | 70 +++++++++++++++++++++ 8 files changed, 543 insertions(+) create mode 100644 router-pod/1-um-sandbox-3.yaml create mode 100644 router-pod/2-smartx-microbox-drukren-1.yaml create mode 100644 router-pod/3-smartx-microbox-itb-1.yaml create mode 100644 router-pod/4-smartx-microbox-monash-1.yaml create mode 100644 router-pod/5-smartx-microbox-rub-1.yaml create mode 100644 router-pod/6-um-ncku-worker1.yaml create mode 100644 router-pod/7-um-ncu-worker1.yaml create mode 100644 router-pod/8-smartx-microbox-ucsm-1.yaml diff --git a/router-pod/1-um-sandbox-3.yaml b/router-pod/1-um-sandbox-3.yaml new file mode 100644 index 0000000..e0068f0 --- /dev/null +++ b/router-pod/1-um-sandbox-3.yaml @@ -0,0 +1,54 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: um-sandbox-3-pvc + namespace: rpki +spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Mi +--- +apiVersion: v1 +kind: Pod +metadata: + name: quagga-bgp-um-sandbox-3 + namespace: rpki + labels: + app: quagga-bgp-um-sandbox-3 +spec: + nodeName: um-sandbox-3 + containers: + - name: quagga + image: osrg/quagga + ports: + - containerPort: 179 + - containerPort: 2605 + - containerPort: 2601 + securityContext: + capabilities: + add: + - NET_ADMIN + - NET_BROADCAST + - NET_RAW + - SYS_ADMIN + volumeMounts: + - name: um-sandbox-3-storage + mountPath: /etc/quagga/ + - name: ovs + image: globocom/openvswitch + ports: + - containerPort: 22 + - containerPort: 5566 + protocol: UDP + securityContext: + capabilities: + add: + - NET_ADMIN + volumes: + - name: um-sandbox-3-storage + persistentVolumeClaim: + claimName: um-sandbox-3-pvc diff --git a/router-pod/2-smartx-microbox-drukren-1.yaml b/router-pod/2-smartx-microbox-drukren-1.yaml new file mode 100644 index 0000000..b8e0514 --- /dev/null +++ b/router-pod/2-smartx-microbox-drukren-1.yaml @@ -0,0 +1,70 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: smartx-microbox-drukren-1-pvc + namespace: rpki +spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Mi +--- +apiVersion: v1 +kind: Pod +metadata: + name: quagga-bgp-smartx-microbox-drukren-1 + namespace: rpki + labels: + app: quagga-bgp-smartx-microbox-drukren-1 +spec: + nodeName: smartx-microbox-drukren-1 + containers: + - name: quagga + image: osrg/quagga + ports: + - containerPort: 179 + - containerPort: 2605 + - containerPort: 2601 + securityContext: + capabilities: + add: + - NET_ADMIN + - NET_BROADCAST + - NET_RAW + - SYS_ADMIN + volumeMounts: + - name: smartx-microbox-drukren-1-storage + mountPath: /etc/quagga/ + - name: ovs + image: globocom/openvswitch + ports: + - containerPort: 22 + - containerPort: 5566 + protocol: UDP + securityContext: + capabilities: + add: + - NET_ADMIN + volumes: + - name: smartx-microbox-drukren-1-storage + persistentVolumeClaim: + claimName: smartx-microbox-drukren-1-pvc +--- +# +#apiVersion: v1 +#kind: Service +#metadata: +# name: quagga-bgp-smartx-microbox-drukren-1-service +# namespace: rpki +#spec: +# selector: +# app: quagga-bgp-smartx-microbox-drukren-1 +# ports: +# - protocol: TCP +# port: 179 +# targetPort: 179 +# + diff --git a/router-pod/3-smartx-microbox-itb-1.yaml b/router-pod/3-smartx-microbox-itb-1.yaml new file mode 100644 index 0000000..c78d10d --- /dev/null +++ b/router-pod/3-smartx-microbox-itb-1.yaml @@ -0,0 +1,70 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: smartx-microbox-itb-1-pvc + namespace: rpki +spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Mi +--- +apiVersion: v1 +kind: Pod +metadata: + name: quagga-bgp-smartx-microbox-itb-1 + namespace: rpki + labels: + app: quagga-bgp-smartx-microbox-itb-1 +spec: + nodeName: smartx-microbox-itb-1 + containers: + - name: quagga + image: osrg/quagga + ports: + - containerPort: 179 + - containerPort: 2605 + - containerPort: 2601 + securityContext: + capabilities: + add: + - NET_ADMIN + - NET_BROADCAST + - NET_RAW + - SYS_ADMIN + volumeMounts: + - name: smartx-microbox-itb-1-storage + mountPath: /etc/quagga/ + - name: ovs + image: globocom/openvswitch + ports: + - containerPort: 22 + - containerPort: 5566 + protocol: UDP + securityContext: + capabilities: + add: + - NET_ADMIN + volumes: + - name: smartx-microbox-itb-1-storage + persistentVolumeClaim: + claimName: smartx-microbox-itb-1-pvc +--- +# +#apiVersion: v1 +#kind: Service +#metadata: +# name: quagga-bgp-smartx-microbox-itb-1-service +# namespace: rpki +#spec: +# selector: +# app: quagga-bgp-smartx-microbox-itb-1 +# ports: +# - protocol: TCP +# port: 179 +# targetPort: 179 +# + diff --git a/router-pod/4-smartx-microbox-monash-1.yaml b/router-pod/4-smartx-microbox-monash-1.yaml new file mode 100644 index 0000000..3c20a97 --- /dev/null +++ b/router-pod/4-smartx-microbox-monash-1.yaml @@ -0,0 +1,70 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: smartx-microbox-monash-1-pvc + namespace: rpki +spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Mi +--- +apiVersion: v1 +kind: Pod +metadata: + name: quagga-bgp-smartx-microbox-monash-1 + namespace: rpki + labels: + app: quagga-bgp-smartx-microbox-monash-1 +spec: + nodeName: smartx-microbox-monash-1 + containers: + - name: quagga + image: osrg/quagga + ports: + - containerPort: 179 + - containerPort: 2605 + - containerPort: 2601 + securityContext: + capabilities: + add: + - NET_ADMIN + - NET_BROADCAST + - NET_RAW + - SYS_ADMIN + volumeMounts: + - name: smartx-microbox-monash-1-storage + mountPath: /etc/quagga/ + - name: ovs + image: globocom/openvswitch + ports: + - containerPort: 22 + - containerPort: 5566 + protocol: UDP + securityContext: + capabilities: + add: + - NET_ADMIN + volumes: + - name: smartx-microbox-monash-1-storage + persistentVolumeClaim: + claimName: smartx-microbox-monash-1-pvc +--- +# +#apiVersion: v1 +#kind: Service +#metadata: +# name: quagga-bgp-smartx-microbox-monash-1-service +# namespace: rpki +#spec: +# selector: +# app: quagga-bgp-smartx-microbox-monash-1 +# ports: +# - protocol: TCP +# port: 179 +# targetPort: 179 +# +# diff --git a/router-pod/5-smartx-microbox-rub-1.yaml b/router-pod/5-smartx-microbox-rub-1.yaml new file mode 100644 index 0000000..eb85c18 --- /dev/null +++ b/router-pod/5-smartx-microbox-rub-1.yaml @@ -0,0 +1,70 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: smartx-microbox-rub-1-pvc + namespace: rpki +spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Mi +--- +apiVersion: v1 +kind: Pod +metadata: + name: quagga-bgp-smartx-microbox-rub-1 + namespace: rpki + labels: + app: quagga-bgp-smartx-microbox-rub-1 +spec: + nodeName: smartx-microbox-rub-1 + containers: + - name: quagga + image: osrg/quagga + ports: + - containerPort: 179 + - containerPort: 2605 + - containerPort: 2601 + securityContext: + capabilities: + add: + - NET_ADMIN + - NET_BROADCAST + - NET_RAW + - SYS_ADMIN + volumeMounts: + - name: smartx-microbox-rub-1-storage + mountPath: /etc/quagga/ + - name: ovs + image: globocom/openvswitch + ports: + - containerPort: 22 + - containerPort: 5566 + protocol: UDP + securityContext: + capabilities: + add: + - NET_ADMIN + volumes: + - name: smartx-microbox-rub-1-storage + persistentVolumeClaim: + claimName: smartx-microbox-rub-1-pvc +--- +# +#apiVersion: v1 +#kind: Service +#metadata: +# name: quagga-bgp-smartx-microbox-rub-1-service +# namespace: rpki +#spec: +# selector: +# app: quagga-bgp-smartx-microbox-rub-1 +# ports: +# - protocol: TCP +# port: 179 +# targetPort: 179 +# + diff --git a/router-pod/6-um-ncku-worker1.yaml b/router-pod/6-um-ncku-worker1.yaml new file mode 100644 index 0000000..d13193a --- /dev/null +++ b/router-pod/6-um-ncku-worker1.yaml @@ -0,0 +1,70 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: um-ncku-worker1-pvc + namespace: rpki +spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Mi +--- +apiVersion: v1 +kind: Pod +metadata: + name: quagga-bgp-um-ncku-worker1 + namespace: rpki + labels: + app: quagga-bgp-um-ncku-worker1 +spec: + nodeName: um-ncku-worker1 + containers: + - name: quagga + image: osrg/quagga + ports: + - containerPort: 179 + - containerPort: 2605 + - containerPort: 2601 + securityContext: + capabilities: + add: + - NET_ADMIN + - NET_BROADCAST + - NET_RAW + - SYS_ADMIN + volumeMounts: + - name: um-ncku-worker1-storage + mountPath: /etc/quagga/ + - name: ovs + image: globocom/openvswitch + ports: + - containerPort: 22 + - containerPort: 5566 + protocol: UDP + securityContext: + capabilities: + add: + - NET_ADMIN + volumes: + - name: um-ncku-worker1-storage + persistentVolumeClaim: + claimName: um-ncku-worker1-pvc +--- +# +#apiVersion: v1 +#kind: Service +#metadata: +# name: quagga-bgp-um-ncku-worker1-service +# namespace: rpki +#spec: +# selector: +# app: quagga-bgp-um-ncku-worker1 +# ports: +# - protocol: TCP +# port: 179 +# targetPort: 179 +# +# diff --git a/router-pod/7-um-ncu-worker1.yaml b/router-pod/7-um-ncu-worker1.yaml new file mode 100644 index 0000000..d3d81bd --- /dev/null +++ b/router-pod/7-um-ncu-worker1.yaml @@ -0,0 +1,69 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: um-ncu-worker1-pvc + namespace: rpki +spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Mi +--- +apiVersion: v1 +kind: Pod +metadata: + name: quagga-bgp-um-ncu-worker1 + namespace: rpki + labels: + app: quagga-bgp-um-ncu-worker1 +spec: + nodeName: um-ncu-worker1 + containers: + - name: quagga + image: osrg/quagga + ports: + - containerPort: 179 + - containerPort: 2605 + - containerPort: 2601 + securityContext: + capabilities: + add: + - NET_ADMIN + - NET_BROADCAST + - NET_RAW + - SYS_ADMIN + volumeMounts: + - name: um-ncu-worker1-storage + mountPath: /etc/quagga/ + - name: ovs + image: globocom/openvswitch + ports: + - containerPort: 22 + - containerPort: 5566 + protocol: UDP + securityContext: + capabilities: + add: + - NET_ADMIN + volumes: + - name: um-ncu-worker1-storage + persistentVolumeClaim: + claimName: um-ncu-worker1-pvc +--- +# +#apiVersion: v1 +#kind: Service +#metadata: +# name: quagga-bgp-um-ncu-worker1-service +# namespace: rpki +#spec: +# selector: +# app: quagga-bgp-um-ncu-worker1 +# ports: +# - protocol: TCP +# port: 179 +# targetPort: 179 + diff --git a/router-pod/8-smartx-microbox-ucsm-1.yaml b/router-pod/8-smartx-microbox-ucsm-1.yaml new file mode 100644 index 0000000..7582810 --- /dev/null +++ b/router-pod/8-smartx-microbox-ucsm-1.yaml @@ -0,0 +1,70 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: smartx-microbox-ucsm-1-pvc + namespace: rpki +spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Mi +--- +apiVersion: v1 +kind: Pod +metadata: + name: quagga-bgp-smartx-microbox-ucsm-1 + namespace: rpki + labels: + app: quagga-bgp-smartx-microbox-ucsm-1 +spec: + nodeName: smartx-microbox-ucsm-1 + containers: + - name: quagga + image: osrg/quagga + ports: + - containerPort: 179 + - containerPort: 2605 + - containerPort: 2601 + securityContext: + capabilities: + add: + - NET_ADMIN + - NET_BROADCAST + - NET_RAW + - SYS_ADMIN + volumeMounts: + - name: smartx-microbox-ucsm-1-storage + mountPath: /etc/quagga/ + - name: ovs + image: globocom/openvswitch + ports: + - containerPort: 22 + - containerPort: 5566 + protocol: UDP + securityContext: + capabilities: + add: + - NET_ADMIN + volumes: + - name: smartx-microbox-ucsm-1-storage + persistentVolumeClaim: + claimName: smartx-microbox-ucsm-1-pvc +--- +# +#apiVersion: v1 +#kind: Service +#metadata: +# name: quagga-bgp-smartx-microbox-ucsm-1-service +# namespace: rpki +#spec: +# selector: +# app: quagga-bgp-smartx-microbox-ucsm-1 +# ports: +# - protocol: TCP +# port: 179 +# targetPort: 179 +# +# From 612c485010d729e6d2baad6dd74823d8cec38864 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 20:12:28 +0800 Subject: [PATCH 03/20] Delete um-router-pod.yaml --- router-pod/um-router-pod.yaml | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 router-pod/um-router-pod.yaml diff --git a/router-pod/um-router-pod.yaml b/router-pod/um-router-pod.yaml deleted file mode 100644 index 73e8e7e..0000000 --- a/router-pod/um-router-pod.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: router-pod-um -spec: - volumes: - - name: configDir - mountPath: "./router-pod/config/" - containers: - - name: quagga - image: - command: - volumeMounts: - - mountPath: "/config" - name: configDir - nodeName: k8s-worker-um-1 From fedbd9d7639583e46f7447923679dfe6b8a8e106 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 20:33:48 +0800 Subject: [PATCH 04/20] Add files via upload --- .../config/smartx-microbox-drukren-1.conf | 16 ++++++++++++++ router-pod/config/smartx-microbox-itb-1.conf | 16 ++++++++++++++ .../config/smartx-microbox-monash-1.conf | 16 ++++++++++++++ router-pod/config/smartx-microbox-rub-1.conf | 16 ++++++++++++++ router-pod/config/smartx-microbox-ucsm-1.conf | 16 ++++++++++++++ router-pod/config/um-ncku-worker1.conf | 16 ++++++++++++++ router-pod/config/um-ncu-worker1.conf | 16 ++++++++++++++ router-pod/config/um-sandbox-3.conf | 21 +++++++++++++++++++ 8 files changed, 133 insertions(+) create mode 100644 router-pod/config/smartx-microbox-drukren-1.conf create mode 100644 router-pod/config/smartx-microbox-itb-1.conf create mode 100644 router-pod/config/smartx-microbox-monash-1.conf create mode 100644 router-pod/config/smartx-microbox-rub-1.conf create mode 100644 router-pod/config/smartx-microbox-ucsm-1.conf create mode 100644 router-pod/config/um-ncku-worker1.conf create mode 100644 router-pod/config/um-ncu-worker1.conf create mode 100644 router-pod/config/um-sandbox-3.conf diff --git a/router-pod/config/smartx-microbox-drukren-1.conf b/router-pod/config/smartx-microbox-drukren-1.conf new file mode 100644 index 0000000..334346f --- /dev/null +++ b/router-pod/config/smartx-microbox-drukren-1.conf @@ -0,0 +1,16 @@ +! +! Zebra configuration saved from vty +! 2021/03/22 06:40:51 +! +hostname bgpd +password zebra +log file /etc/quagga/bgpd.log informational +log stdout +! +router bgp 65031 + bgp router-id 10.144.22.196 + network 172.16.6.0/23 + neighbor 192.168.100.1 remote-as 65012 +! +line vty +! diff --git a/router-pod/config/smartx-microbox-itb-1.conf b/router-pod/config/smartx-microbox-itb-1.conf new file mode 100644 index 0000000..8484a15 --- /dev/null +++ b/router-pod/config/smartx-microbox-itb-1.conf @@ -0,0 +1,16 @@ +! +! Zebra configuration saved from vty +! 2021/03/23 03:23:22 +! +hostname bgpd +password zebra +log file /etc/quagga/bgpd.log informational +log stdout +! +router bgp 65021 + bgp router-id 10.144.227.2 + network 172.16.4.0/23 + neighbor 192.168.100.1 remote-as 65012 +! +line vty +! diff --git a/router-pod/config/smartx-microbox-monash-1.conf b/router-pod/config/smartx-microbox-monash-1.conf new file mode 100644 index 0000000..899d0c7 --- /dev/null +++ b/router-pod/config/smartx-microbox-monash-1.conf @@ -0,0 +1,16 @@ +! +! Zebra configuration saved from vty +! 2021/03/22 06:40:51 +! +hostname bgpd +password zebra +log file /etc/quagga/bgpd.log informational +log stdout +! +router bgp 65011 + bgp router-id 10.144.17.196 + network 172.16.0.0/23 + neighbor 192.168.100.1 remote-as 65012 +! +line vty +! diff --git a/router-pod/config/smartx-microbox-rub-1.conf b/router-pod/config/smartx-microbox-rub-1.conf new file mode 100644 index 0000000..eb5e3f9 --- /dev/null +++ b/router-pod/config/smartx-microbox-rub-1.conf @@ -0,0 +1,16 @@ +! +! Zebra configuration saved from vty +! 2021/03/22 06:40:51 +! +hostname bgpd +password zebra +log file /etc/quagga/bgpd.log informational +log stdout +! +router bgp 65032 + bgp router-id 10.144.226.193 + network 172.16.8.0/23 + neighbor 192.168.100.1 remote-as 65012 +! +line vty +! diff --git a/router-pod/config/smartx-microbox-ucsm-1.conf b/router-pod/config/smartx-microbox-ucsm-1.conf new file mode 100644 index 0000000..c13dc88 --- /dev/null +++ b/router-pod/config/smartx-microbox-ucsm-1.conf @@ -0,0 +1,16 @@ +! +! Zebra configuration saved from vty +! 2021/03/22 06:40:51 +! +hostname bgpd +password zebra +log file /etc/quagga/bgpd.log informational +log stdout +! +router bgp 65041 + bgp router-id 10.144.20.196 + network 172.16.10.0/23 + neighbor 192.168.100.1 remote-as 65012 +! +line vty +! diff --git a/router-pod/config/um-ncku-worker1.conf b/router-pod/config/um-ncku-worker1.conf new file mode 100644 index 0000000..4310a5c --- /dev/null +++ b/router-pod/config/um-ncku-worker1.conf @@ -0,0 +1,16 @@ +! +! Zebra configuration saved from vty +! 2021/03/22 06:40:51 +! +hostname bgpd +password zebra +log file /etc/quagga/bgpd.log informational +log stdout +! +router bgp 65052 + bgp router-id 10.144.145.193 + network 172.16.14.0/23 + neighbor 192.168.100.1 remote-as 65012 +! +line vty +! diff --git a/router-pod/config/um-ncu-worker1.conf b/router-pod/config/um-ncu-worker1.conf new file mode 100644 index 0000000..94b29c6 --- /dev/null +++ b/router-pod/config/um-ncu-worker1.conf @@ -0,0 +1,16 @@ +! +! Zebra configuration saved from vty +! 2021/03/22 06:40:51 +! +hostname bgpd +password zebra +log file /etc/quagga/bgpd.log informational +log stdout +! +router bgp 65051 + bgp router-id 10.144.23.130 + network 172.16.12.0/23 + neighbor 192.168.100.1 remote-as 65012 +! +line vty +! diff --git a/router-pod/config/um-sandbox-3.conf b/router-pod/config/um-sandbox-3.conf new file mode 100644 index 0000000..80c9e61 --- /dev/null +++ b/router-pod/config/um-sandbox-3.conf @@ -0,0 +1,21 @@ +! +! Zebra configuration saved from vty +! 2021/03/11 05:36:14 +! +hostname bgpd +password zebra +log stdout +! +router bgp 65012 + bgp router-id 10.144.227.165 + network 172.16.2.0/23 + neighbor 192.168.100.2 remote-as 65031 + neighbor 192.168.100.3 remote-as 65021 + neighbor 192.168.100.4 remote-as 65011 + neighbor 192.168.100.5 remote-as 65032 + neighbor 192.168.100.6 remote-as 65051 + neighbor 192.168.100.7 remote-as 65052 + neighbor 192.168.100.8 remote-as 65041 +! +line vty +! From fe522cbf0eb8f514f01be00445285995e4a7f50a Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 20:34:08 +0800 Subject: [PATCH 05/20] Delete um-quagga.conf --- router-pod/config/um-quagga.conf | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 router-pod/config/um-quagga.conf diff --git a/router-pod/config/um-quagga.conf b/router-pod/config/um-quagga.conf deleted file mode 100644 index e69de29..0000000 From e9f043cd812cc6dfafb8e5eedcf8ca0968de3d81 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 20:52:09 +0800 Subject: [PATCH 06/20] Update README.md --- README.md | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4137b2a..09dd680 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Repository to provision router and monitoring pods in OF@TEIN++ multiple Kuberne ## Requirements -Loki service should deployed in the cluster. +For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this. ## Configuration @@ -67,6 +67,56 @@ spec: persistentVolumeClaim: claimName: um-sandbox-3-pvc +``` +Access the pod for initial configuration. +``` +kubectl exec --stdin --tty -n rpki quagga-bgp-um-sandbox-3 -- /bin/bash +``` + +After applying the router pod yaml file, copy daemons.txt and debian.conf from /companion-files into /etc/quagga/.Because of using persistent volume to store the configuration file, the original files in the directory is wipe out during mounting the persistent volume, so we need to manually move the 2 files into the directory. + +``` +chown quagga.quaggavty /etc/quagga/*.conf +chmod 640 /etc/quagga/*.conf +/etc/init.d/quagga start +apt-get install ssh -y +ssh localhost +ovs-vsctl add-br switch + +ovs-vsctl add-port switch vxlan-um-sandbox -- set interface vxlan-um-sandbox type=vxlan \ +options:remote_ip=10.144.227.165 options:dst_port=5566 + +ifconfig switch 192.168.100.7 netmask 255.255.255.0 up +cd /usr/local/bin +apt-get install nano curl -y +sudo curl -fSL -o promtail.gz "https://github.com/grafana/loki/releases/download/v1.6.1/promtail-linux-amd64.zip" +sudo gunzip promtail.gz +sudo chmod a+x promtail +sudo nano config-promtail.yml +``` + +```yaml +#config-promtail.yaml template https://sbcode.net/grafana/install-promtail-service/ +server: + http_listen_port: 9080 + grpc_listen_port: 0 + +positions: + filename: /tmp/positions.yaml + +clients: + - url: http://loki:3100/loki/api/v1/push + +scrape_configs: + - job_name: quagga + entry_parser: raw + static_configs: + - targets: + - localhost + labels: + job: quagga-um-sandbox-3 + __path__: /etc/quagga/bgpd.log + ``` ## Usage From aea939ee53bc6898bb0116f462ff91916b11c67f Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 20:57:51 +0800 Subject: [PATCH 07/20] Create 123 --- router-pod/companion-files/123 | 1 + 1 file changed, 1 insertion(+) create mode 100644 router-pod/companion-files/123 diff --git a/router-pod/companion-files/123 b/router-pod/companion-files/123 new file mode 100644 index 0000000..d72af31 --- /dev/null +++ b/router-pod/companion-files/123 @@ -0,0 +1 @@ +asd From d98995a637d2f9b34d0749bdb94764669b06ed82 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:08:23 +0800 Subject: [PATCH 08/20] Add files via upload --- router-pod/companion-files/daemons | 31 ++++++++++++++++++++++++++ router-pod/companion-files/debian.conf | 24 ++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 router-pod/companion-files/daemons create mode 100644 router-pod/companion-files/debian.conf diff --git a/router-pod/companion-files/daemons b/router-pod/companion-files/daemons new file mode 100644 index 0000000..c2c0ccc --- /dev/null +++ b/router-pod/companion-files/daemons @@ -0,0 +1,31 @@ +# This file tells the quagga package which daemons to start. +# +# Entries are in the format: =(yes|no|priority) +# 0, "no" = disabled +# 1, "yes" = highest priority +# 2 .. 10 = lower priorities +# Read /usr/share/doc/quagga/README.Debian for details. +# +# Sample configurations for these daemons can be found in +# /usr/share/doc/quagga/examples/. +# +# ATTENTION: +# +# When activation a daemon at the first time, a config file, even if it is +# empty, has to be present *and* be owned by the user and group "quagga", else +# the daemon will not be started by /etc/init.d/quagga. The permissions should +# be u=rw,g=r,o=. +# When using "vtysh" such a config file is also needed. It should be owned by +# group "quaggavty" and set to ug=rw,o= though. Check /etc/pam.d/quagga, too. +# +# The watchquagga daemon is always started. Per default in monitoring-only but +# that can be changed via /etc/quagga/debian.conf. +# +zebra=yes +bgpd=yes +ospfd=no +ospf6d=no +ripd=no +ripngd=no +isisd=no +babeld=no diff --git a/router-pod/companion-files/debian.conf b/router-pod/companion-files/debian.conf new file mode 100644 index 0000000..91ca7dd --- /dev/null +++ b/router-pod/companion-files/debian.conf @@ -0,0 +1,24 @@ +# +# If this option is set the /etc/init.d/quagga script automatically loads +# the config via "vtysh -b" when the servers are started. +# Check /etc/pam.d/quagga if you intend to use "vtysh"! +# +vtysh_enable=yes +zebra_options=" --daemon -A 127.0.0.1" +bgpd_options=" --daemon -A 127.0.0.1" +ospfd_options=" --daemon -A 127.0.0.1" +ospf6d_options=" --daemon -A ::1" +ripd_options=" --daemon -A 127.0.0.1" +ripngd_options=" --daemon -A ::1" +isisd_options=" --daemon -A 127.0.0.1" +babeld_options=" --daemon -A 127.0.0.1" +# +# Please note that watchquagga_options is an array and not a string so that +# quotes can be used. +# +# The list of daemons to watch is automatically generated by the init script +# from daemons.conf and appended to the watchquagga_options. +# Example: +# watchquagga_options=("-Adz" "-r" '/sbin/service %s restart' -s '/sbin/service %s start' -k '/sbin/service %s st$ +watchquagga_enable=yes +watchquagga_options=(--daemon) From 7e9e048c74197c6f29101ac71b9de35119df7b3c Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:08:43 +0800 Subject: [PATCH 09/20] Delete 123 --- router-pod/companion-files/123 | 1 - 1 file changed, 1 deletion(-) delete mode 100644 router-pod/companion-files/123 diff --git a/router-pod/companion-files/123 b/router-pod/companion-files/123 deleted file mode 100644 index d72af31..0000000 --- a/router-pod/companion-files/123 +++ /dev/null @@ -1 +0,0 @@ -asd From d44a2db9a1dcc51927fcbbb3414ecc975a59bf42 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:10:27 +0800 Subject: [PATCH 10/20] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 09dd680..5cc3544 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ Access the pod for initial configuration. kubectl exec --stdin --tty -n rpki quagga-bgp-um-sandbox-3 -- /bin/bash ``` -After applying the router pod yaml file, copy daemons.txt and debian.conf from /companion-files into /etc/quagga/.Because of using persistent volume to store the configuration file, the original files in the directory is wipe out during mounting the persistent volume, so we need to manually move the 2 files into the directory. +After applying the router pod yaml file, copy daemons.txt and debian.conf from [/companion-files](https://github.com/skywood123/OFTEIN-Router-and-Monitoring-Pod/tree/temporary/router-pod/companion-files) into /etc/quagga/.Because of using persistent volume to store the configuration file, the original files in the directory is wipe out during mounting the persistent volume, so we need to manually move the 2 files into the directory. ``` chown quagga.quaggavty /etc/quagga/*.conf @@ -94,6 +94,7 @@ sudo gunzip promtail.gz sudo chmod a+x promtail sudo nano config-promtail.yml ``` +Paste the promtail yaml configuration below. ```yaml #config-promtail.yaml template https://sbcode.net/grafana/install-promtail-service/ From e6de36170dbf09535e0caf8d8935bc41120a9325 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:11:00 +0800 Subject: [PATCH 11/20] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5cc3544..be9dc35 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ Access the pod for initial configuration. kubectl exec --stdin --tty -n rpki quagga-bgp-um-sandbox-3 -- /bin/bash ``` -After applying the router pod yaml file, copy daemons.txt and debian.conf from [/companion-files](https://github.com/skywood123/OFTEIN-Router-and-Monitoring-Pod/tree/temporary/router-pod/companion-files) into /etc/quagga/.Because of using persistent volume to store the configuration file, the original files in the directory is wipe out during mounting the persistent volume, so we need to manually move the 2 files into the directory. +After applying the router pod yaml file, copy daemons and debian.conf from [/companion-files](https://github.com/skywood123/OFTEIN-Router-and-Monitoring-Pod/tree/temporary/router-pod/companion-files) into /etc/quagga/.Because of using persistent volume to store the configuration file, the original files in the directory is wipe out during mounting the persistent volume, so we need to manually move the 2 files into the directory. ``` chown quagga.quaggavty /etc/quagga/*.conf From 3ee598ff7a6af000e070f9893a2463ae4f159bbd Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:26:07 +0800 Subject: [PATCH 12/20] Update README.md --- README.md | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index be9dc35..43f7b36 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-c ## Configuration -Example of router configuration for UM site worker node `um-router-pod.yaml` is shown below: +Example of router configuration for UM site worker node `um-sandbox-3.yaml` is shown below. In this yaml file, it contains 2 containers which is quagga router container and openvswitch(OVS) container. Quagga container bind with a persistent volume for configuration storage. ```yaml --- @@ -68,7 +68,7 @@ spec: claimName: um-sandbox-3-pvc ``` -Access the pod for initial configuration. +Access the pod for initial configuration. In this case, we are accessing the quagga container. ``` kubectl exec --stdin --tty -n rpki quagga-bgp-um-sandbox-3 -- /bin/bash ``` @@ -80,13 +80,10 @@ chown quagga.quaggavty /etc/quagga/*.conf chmod 640 /etc/quagga/*.conf /etc/init.d/quagga start apt-get install ssh -y -ssh localhost -ovs-vsctl add-br switch - -ovs-vsctl add-port switch vxlan-um-sandbox -- set interface vxlan-um-sandbox type=vxlan \ -options:remote_ip=10.144.227.165 options:dst_port=5566 +``` -ifconfig switch 192.168.100.7 netmask 255.255.255.0 up +Install the promtail binary to scrape the static log file from the quagga software. +``` cd /usr/local/bin apt-get install nano curl -y sudo curl -fSL -o promtail.gz "https://github.com/grafana/loki/releases/download/v1.6.1/promtail-linux-amd64.zip" @@ -120,6 +117,22 @@ scrape_configs: ``` +Run the promtail binary +``` +sudo ./promtail -config.file ./config-promtail.yml +``` +Next, configure the Overlay Vxlan connection between the router pods. If using hub-and-spoke topology, hub router pod need to point to all spoke routers and spoke point back to hub router pod. +The openvswitch container image comes with ssh only. Access the ovs container using ssh. + +``` +ssh localhost +ovs-vsctl add-br switch + +ovs-vsctl add-port switch vxlan-drukren -- set interface vxlan-drukren type=vxlan \ + options:remote_ip=10.144.180.161 options:dst_port=5566 + +ifconfig switch 192.168.100.1 netmask 255.255.255.0 up +``` ## Usage To apply the configuration please use this `kubectl` command: From 017a709b5b483be3306fd3897a5e2eba76345a74 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:31:18 +0800 Subject: [PATCH 13/20] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 43f7b36..8c39503 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-c ## Configuration -Example of router configuration for UM site worker node `um-sandbox-3.yaml` is shown below. In this yaml file, it contains 2 containers which is quagga router container and openvswitch(OVS) container. Quagga container bind with a persistent volume for configuration storage. +Example of router configuration for UM site worker node `um-sandbox-3.yaml` is shown below. In this yaml file, it contains 2 containers which is quagga router container and openvswitch(OVS) container. Quagga container bind with a persistent volume for configuration storage. Quagga container doesn't allow changing the vxlan destination port(by default Kubernetes Calico CNI is blocking overlay traffic between pods), hence ovs is used here to form overlay VXLAN tunnels between router pods. ```yaml --- @@ -73,7 +73,7 @@ Access the pod for initial configuration. In this case, we are accessing the qua kubectl exec --stdin --tty -n rpki quagga-bgp-um-sandbox-3 -- /bin/bash ``` -After applying the router pod yaml file, copy daemons and debian.conf from [/companion-files](https://github.com/skywood123/OFTEIN-Router-and-Monitoring-Pod/tree/temporary/router-pod/companion-files) into /etc/quagga/.Because of using persistent volume to store the configuration file, the original files in the directory is wipe out during mounting the persistent volume, so we need to manually move the 2 files into the directory. +After applying the router pod yaml file, copy daemons and debian.conf from [/companion-files](https://github.com/skywood123/OFTEIN-Router-and-Monitoring-Pod/tree/temporary/router-pod/companion-files) into /etc/quagga/.Because of using persistent volume to store the configuration file, the original files in the directory is wipe out during mounting the persistent volume, so we need to manually move the 2 files into the directory during initial configuration. ``` chown quagga.quaggavty /etc/quagga/*.conf @@ -121,7 +121,7 @@ Run the promtail binary ``` sudo ./promtail -config.file ./config-promtail.yml ``` -Next, configure the Overlay Vxlan connection between the router pods. If using hub-and-spoke topology, hub router pod need to point to all spoke routers and spoke point back to hub router pod. +Next, configure the Overlay Vxlan connection between the router pods. If using hub-and-spoke topology, hub router pod need to point to all spoke routers and spoke router pods point back to hub router pod. The openvswitch container image comes with ssh only. Access the ovs container using ssh. ``` From e38627da6ed013feba80af5928bc924379c3832e Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:32:22 +0800 Subject: [PATCH 14/20] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8c39503..9a3dfb8 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ Access the pod for initial configuration. In this case, we are accessing the qua kubectl exec --stdin --tty -n rpki quagga-bgp-um-sandbox-3 -- /bin/bash ``` -After applying the router pod yaml file, copy daemons and debian.conf from [/companion-files](https://github.com/skywood123/OFTEIN-Router-and-Monitoring-Pod/tree/temporary/router-pod/companion-files) into /etc/quagga/.Because of using persistent volume to store the configuration file, the original files in the directory is wipe out during mounting the persistent volume, so we need to manually move the 2 files into the directory during initial configuration. +After applying the router pod yaml file with ```kubectl apply -f um-sandbox-3.yaml```, copy daemons and debian.conf from [/companion-files](https://github.com/skywood123/OFTEIN-Router-and-Monitoring-Pod/tree/temporary/router-pod/companion-files) into /etc/quagga/.Because of using persistent volume to store the configuration file, the original files in the directory is wipe out during mounting the persistent volume, so we need to manually move the 2 files into the directory during initial configuration. ``` chown quagga.quaggavty /etc/quagga/*.conf @@ -138,7 +138,7 @@ ifconfig switch 192.168.100.1 netmask 255.255.255.0 up To apply the configuration please use this `kubectl` command: ```shell script -kubectl apply -f um-router-pod.yaml +kubectl apply -f um-sandbox-3.yaml ``` ## Troubleshooting From fea6a2ec7efb6963728db665ccc85aa251114d62 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:34:44 +0800 Subject: [PATCH 15/20] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9a3dfb8..0babd1b 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ Repository to provision router and monitoring pods in OF@TEIN++ multiple Kuberne ## Requirements +This is tested in Kubernetes 1.19.3 with Calico as the network CNI. For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this. ## Configuration From c49a459b60e708cb0e6b7fe924068fe8969c9509 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:38:29 +0800 Subject: [PATCH 16/20] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0babd1b..2a9714e 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ Repository to provision router and monitoring pods in OF@TEIN++ multiple Kuberne This is tested in Kubernetes 1.19.3 with Calico as the network CNI. For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this. +For persistent volume, provisioner should deployed prior to this for dynamic persistent volume. For example, [nfs-client-provisioner](https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner) ## Configuration From 07b8b0aacba01f8f144d500bc4e051a360389393 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:40:12 +0800 Subject: [PATCH 17/20] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2a9714e..69f966a 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ Repository to provision router and monitoring pods in OF@TEIN++ multiple Kuberne ## Requirements This is tested in Kubernetes 1.19.3 with Calico as the network CNI. -For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this. -For persistent volume, provisioner should deployed prior to this for dynamic persistent volume. For example, [nfs-client-provisioner](https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner) +-- For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this. +-- For persistent volume, provisioner should deployed prior to this for dynamic persistent volume. For example, [nfs-client-provisioner](https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner) ## Configuration From 166b9f189369e360e1be0a57e7ab262797adfee2 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:41:16 +0800 Subject: [PATCH 18/20] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 69f966a..ccdbaf6 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,7 @@ Repository to provision router and monitoring pods in OF@TEIN++ multiple Kuberne ## Requirements -This is tested in Kubernetes 1.19.3 with Calico as the network CNI. --- For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this. --- For persistent volume, provisioner should deployed prior to this for dynamic persistent volume. For example, [nfs-client-provisioner](https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner) +This is tested in Kubernetes 1.19.3 with Calico as the network CNI. For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this. For persistent volume, provisioner should deployed prior to this for dynamic persistent volume. For example, [nfs-client-provisioner](https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner) ## Configuration From 0a02c752a9413740354d0c86415c9640082e5df2 Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:41:54 +0800 Subject: [PATCH 19/20] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ccdbaf6..7d40caa 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Repository to provision router and monitoring pods in OF@TEIN++ multiple Kuberne ## Requirements -This is tested in Kubernetes 1.19.3 with Calico as the network CNI. For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this. For persistent volume, provisioner should deployed prior to this for dynamic persistent volume. For example, [nfs-client-provisioner](https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner) +This is tested in Kubernetes 1.19.3 with Calico as the network CNI.\For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this.\For persistent volume, provisioner should deployed prior to this for dynamic persistent volume. For example, [nfs-client-provisioner](https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner) ## Configuration From 60f72fe68ffe292138960423778c9410f0e2b2be Mon Sep 17 00:00:00 2001 From: MENG HUI CHOI <49356439+skywood123@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:42:15 +0800 Subject: [PATCH 20/20] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d40caa..e327085 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,9 @@ Repository to provision router and monitoring pods in OF@TEIN++ multiple Kuberne ## Requirements -This is tested in Kubernetes 1.19.3 with Calico as the network CNI.\For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this.\For persistent volume, provisioner should deployed prior to this for dynamic persistent volume. For example, [nfs-client-provisioner](https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner) +This is tested in Kubernetes 1.19.3 with Calico as the network CNI.\ +For monitoring purpose, [Grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) and [Loki](https://grafana.com/docs/loki/latest/installation/helm/) should deployed prior to this.\ +For persistent volume, provisioner should deployed prior to this for dynamic persistent volume. For example, [nfs-client-provisioner](https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner) ## Configuration