Last active
May 13, 2021 17:02
-
-
Save killcity/78707e83d811d13037e874b948489500 to your computer and use it in GitHub Desktop.
sample kube-router config for talos - adjust args to desired blend - also match cidr block and endpoint accordingly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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: | |
| name: kube-router | |
| namespace: kube-system | |
| labels: | |
| k8s-app: kube-router | |
| spec: | |
| selector: | |
| matchLabels: | |
| k8s-app: kube-router | |
| template: | |
| metadata: | |
| labels: | |
| k8s-app: kube-router | |
| spec: | |
| priorityClassName: system-node-critical | |
| serviceAccountName: kube-router | |
| containers: | |
| - name: kube-router | |
| image: docker.io/cloudnativelabs/kube-router | |
| args: | |
| - '--run-router=True' | |
| - '--run-firewall=True' | |
| - '--run-service-proxy=True' | |
| - '--kubeconfig=/var/lib/kube-router/kubeconfig' | |
| - '--advertise-cluster-ip' | |
| - '--advertise-external-ip' | |
| - '--advertise-loadbalancer-ip' | |
| - '--nodes-full-mesh=false' | |
| - '--enable-overlay=false' | |
| - '--enable-pod-egress=false' | |
| securityContext: | |
| privileged: true | |
| imagePullPolicy: Always | |
| 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 | |
| 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 | |
| - name: install-cni-talos | |
| image: ghcr.io/talos-systems/install-cni:v0.3.0 | |
| imagePullPolicy: IfNotPresent | |
| command: | |
| - /install-cni.sh | |
| resources: {} | |
| terminationMessagePath: /dev/termination-log | |
| terminationMessagePolicy: File | |
| volumeMounts: | |
| - mountPath: /host/opt/cni/bin/ | |
| name: host-cni-bin | |
| hostNetwork: true | |
| tolerations: | |
| - effect: NoSchedule | |
| operator: Exists | |
| - key: CriticalAddonsOnly | |
| operator: Exists | |
| - 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: kubeconfig | |
| - name: xtables-lock | |
| hostPath: | |
| path: /run/xtables.lock | |
| type: FileOrCreate | |
| - name: host-cni-bin | |
| hostPath: | |
| path: /opt/cni/bin | |
| type: "" | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: kube-router | |
| namespace: kube-system | |
| --- | |
| kind: ClusterRole | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| metadata: | |
| name: kube-router | |
| namespace: kube-system | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - namespaces | |
| - pods | |
| - services | |
| - nodes | |
| - endpoints | |
| verbs: | |
| - list | |
| - get | |
| - watch | |
| - apiGroups: | |
| - "networking.k8s.io" | |
| resources: | |
| - networkpolicies | |
| verbs: | |
| - list | |
| - get | |
| - watch | |
| - apiGroups: | |
| - extensions | |
| resources: | |
| - networkpolicies | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| --- | |
| kind: ClusterRoleBinding | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| metadata: | |
| name: kube-router | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: kube-router | |
| subjects: | |
| - kind: ServiceAccount | |
| name: kube-router | |
| namespace: kube-system | |
| --- | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| name: kubeconfig | |
| namespace: kube-system | |
| labels: | |
| tier: node | |
| data: | |
| kubeconfig: | | |
| apiVersion: v1 | |
| kind: Config | |
| clusterCIDR: 10.17.16.0/20 | |
| clusters: | |
| - name: cluster | |
| cluster: | |
| certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca. | |
| crt | |
| server: https://10.16.170.155:6443 | |
| users: | |
| - name: kube-router | |
| user: | |
| tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| contexts: | |
| - context: | |
| cluster: cluster | |
| user: kube-router | |
| name: kube-router-context | |
| current-context: kube-router-context |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment