cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

commit 2b583f8ea8bee5f65f5ce0b32328ad1126f49ac2
parent 0dfe744c0962b0807e9953d24fde2a600c61a507
Author: MTRNord <mtrnord1@gmail.com>
Date:   Mon, 10 Apr 2023 00:57:48 +0200

Disable kube-router and make volume larger for pg

Diffstat:
Minfrastructure/configs/postgres-clusters.yaml | 2+-
Minfrastructure/controllers/kube-router.yaml | 128+++++++++++++++++++++++++++++++++++++++++++++++++------------------------------
Cinfrastructure/controllers/kube-router.yaml -> infrastructure/controllers/kube-router_old.yaml | 0
Minfrastructure/controllers/kustomization.yaml | 3+--
4 files changed, 82 insertions(+), 51 deletions(-)

diff --git a/infrastructure/configs/postgres-clusters.yaml b/infrastructure/configs/postgres-clusters.yaml @@ -71,7 +71,7 @@ spec: signal_bridge: [] instagram_bridge: [] volume: - size: 10Gi + size: 50Gi patroni: ttl: 30 loop_wait: 10 diff --git a/infrastructure/controllers/kube-router.yaml b/infrastructure/controllers/kube-router.yaml @@ -1,17 +1,36 @@ --- +apiVersion: v1 +kind: ConfigMap +metadata: + name: kube-router-cfg + namespace: kube-system + labels: + tier: node + k8s-app: kube-router +data: + cni-conf.json: | + { + "cniVersion":"0.3.0", + "name":"mynet", + "plugins":[ + { + "name":"kubernetes", + "type":"bridge", + "bridge":"kube-bridge", + "isDefaultGateway":true, + "ipam":{ + "type":"host-local" + } + } + ] + } +--- apiVersion: apps/v1 kind: DaemonSet metadata: labels: k8s-app: kube-router tier: node - annotations: - checkov.io/skip1: CKV_K8S_20=The container needs to modify host network rules. - checkov.io/skip2: CKV_K8S_19=The container needs to modify host network rules. - checkov.io/skip3: CKV_K8S_38=The container needs to know values from the node. - checkov.io/skip4: CKV_K8S_28=The container does bgp. - prometheus.io/scrape: "true" - prometheus.io/port: "8081" name: kube-router namespace: kube-system spec: @@ -27,47 +46,35 @@ spec: spec: priorityClassName: system-node-critical serviceAccountName: kube-router + serviceAccount: kube-router containers: - name: kube-router - image: docker.io/cloudnativelabs/kube-router:v2.0.0-rc3 + image: docker.io/cloudnativelabs/kube-router imagePullPolicy: Always args: - - "--run-router=true" - - "--run-firewall=false" - - "--run-service-proxy=false" - - "--enable-cni=false" - - "--enable-pod-egress=false" + - --run-router=true + - --run-firewall=true + - --run-service-proxy=true + - --bgp-graceful-restart=true + - --advertise-cluster-ip - "--enable-ipv4=true" - "--enable-ipv6=true" - "--service-cluster-ip-range=10.96.0.0/16" - "--service-cluster-ip-range=fc00:1::/112" - - "--enable-ibgp=true" - - "--enable-overlay=true" - - "--advertise-cluster-ip=true" - - "--advertise-external-ip=true" - - "--advertise-loadbalancer-ip=true" - - "--overlay-type=full" - #- "--bgp-graceful-restart=true" - - "-v=3" - #- "--peer-router-ips=<CHANGE ME>" - #- "--peer-router-asns=<CHANGE ME>" - #- "--cluster-asn=<CHANGE ME>" - # Metrics - - "--metrics-port=8081" + #- --kubeconfig=/var/lib/kube-router/kubeconfig env: - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName + - name: KUBE_ROUTER_CNI_CONF_FILE + value: /etc/cni/net.d/10-kuberouter.conflist livenessProbe: httpGet: path: /healthz port: 20244 initialDelaySeconds: 10 periodSeconds: 3 - ports: - - containerPort: 8081 - name: monitoring resources: requests: cpu: 250m @@ -75,9 +82,38 @@ spec: securityContext: privileged: true volumeMounts: + - name: lib-modules + mountPath: /lib/modules + readOnly: true + - name: cni-conf-dir + mountPath: /etc/cni/net.d + #- name: kubeconfig + # mountPath: /var/lib/kube-router + # readOnly: true - name: xtables-lock mountPath: /run/xtables.lock readOnly: false + initContainers: + - name: install-cni + image: docker.io/cloudnativelabs/kube-router + imagePullPolicy: Always + command: + - /bin/sh + - -c + - set -e -x; + if [ ! -f /etc/cni/net.d/10-kuberouter.conflist ]; then + if [ -f /etc/cni/net.d/*.conf ]; then + rm -f /etc/cni/net.d/*.conf; + fi; + TMP=/etc/cni/net.d/.tmp-kuberouter-cfg; + cp /etc/kube-router/cni-conf.json ${TMP}; + mv ${TMP} /etc/cni/net.d/10-kuberouter.conflist; + fi + volumeMounts: + - name: cni-conf-dir + mountPath: /etc/cni/net.d + - name: kube-router-cfg + mountPath: /etc/kube-router hostNetwork: true tolerations: - effect: NoSchedule @@ -87,6 +123,21 @@ spec: - effect: NoExecute operator: Exists volumes: + - name: lib-modules + hostPath: + path: /lib/modules + - name: cni-conf-dir + hostPath: + path: /etc/cni/net.d + - name: kube-router-cfg + configMap: + name: kube-router-cfg + #- name: kubeconfig + # configMap: + # name: kube-proxy + # items: + # - key: kubeconfig.conf + # path: kubeconfig - name: xtables-lock hostPath: path: /run/xtables.lock @@ -97,7 +148,6 @@ kind: ServiceAccount metadata: name: kube-router namespace: kube-system - --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 @@ -133,7 +183,6 @@ rules: - get - list - watch - --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 @@ -147,20 +196,3 @@ subjects: - kind: ServiceAccount name: kube-router namespace: kube-system ---- -apiVersion: monitoring.coreos.com/v1 -kind: PodMonitor -metadata: - name: kube-router - namespace: kube-system -spec: - namespaceSelector: - matchNames: - - "kube-system" - podMetricsEndpoints: - - interval: 5s - path: /metrics - port: monitoring - selector: - matchLabels: - k8s-app: kube-router diff --git a/infrastructure/controllers/kube-router.yaml b/infrastructure/controllers/kube-router_old.yaml diff --git a/infrastructure/controllers/kustomization.yaml b/infrastructure/controllers/kustomization.yaml @@ -5,4 +5,4 @@ resources: - cert-manager.yaml - weave-gitops.yaml - image-updater.yaml - - kube-router.yaml -\ No newline at end of file + #- kube-router.yaml