From cb606f81aec92dccd5b648102d58a9002657fc4e Mon Sep 17 00:00:00 2001 From: Gaurav Mehta Date: Thu, 21 Mar 2024 13:56:22 +1100 Subject: [PATCH] working baseline of minimal tinkerbell chart without lb --- chart/tinkerbell-stack/charts/hegel-0.3.3.tgz | Bin 1388 -> 1390 bytes chart/tinkerbell-stack/charts/rufio-0.2.6.tgz | Bin 4536 -> 4538 bytes chart/tinkerbell-stack/charts/smee-0.3.1.tgz | Bin 3191 -> 4050 bytes chart/tinkerbell-stack/charts/tink-0.2.2.tgz | Bin 4817 -> 4818 bytes .../smee/templates/deployment.yaml | 106 +++++------ .../smee/templates/nginx-configmap.yaml | 52 +++++ .../smee/templates/nginx-deploy.yaml | 87 +++++++++ .../dependency_charts/smee/values.yaml | 1 + chart/tinkerbell-stack/templates/hook.yaml | 4 +- chart/tinkerbell-stack/templates/kubevip.yaml | 92 --------- .../templates/nginx-configmap.yaml | 83 -------- chart/tinkerbell-stack/templates/nginx.yaml | 178 ------------------ chart/tinkerbell-stack/values.yaml | 35 +--- 13 files changed, 198 insertions(+), 440 deletions(-) create mode 100644 chart/tinkerbell-stack/dependency_charts/smee/templates/nginx-configmap.yaml create mode 100644 chart/tinkerbell-stack/dependency_charts/smee/templates/nginx-deploy.yaml delete mode 100644 chart/tinkerbell-stack/templates/kubevip.yaml delete mode 100644 chart/tinkerbell-stack/templates/nginx-configmap.yaml delete mode 100644 chart/tinkerbell-stack/templates/nginx.yaml diff --git a/chart/tinkerbell-stack/charts/hegel-0.3.3.tgz b/chart/tinkerbell-stack/charts/hegel-0.3.3.tgz index 5ea81cb3b35d7fb8352020afdec3866c4bec5d21..a79bcb7e54ac42a5a27665e9ddd3089d91e4e79e 100644 GIT binary patch delta 1165 zcmV;81akZA3hoM!OMl5xYk+A-t~8Mc;TPYlJ-HtwNJihFR8;U7=6@ZJWLez|gD46jFGZC| znrYkjlmq2T6P_T zO3^x7f$}F>XP!hQa+#nq`Haq}w!Z+9EVrdI+nV7_$Yl&s=kY7*0Z9CiqiW-mz1Ld0*opR;u21WAS66H zeSQv-@G&aT6QY4g1j3kDUwH6QyX z|NFf?|9|f%uC9Ebmk_)uz5vDRhfkk8*BFp2Q%Cd2n^K;}@Vs6kUS$C+6Uhi!$u5#* zFg38hIgjbSB#WxsiH3#un|S$}n(RjEnQ;!iST5Wq*^l&8ow44N6p z)1sqdVF}cEwkB8u^ET9*ao-C0M(mHBK>YZ496|*ga^x8BFn{1n#ve!Pt(o8t-&-ScIa-BpweRZu_SWjgW6$&Gv+OM%*qeE*t zZo9hH-m+D3b`3$pwXDMRFRQTbq#$a(4e*1T0`g?;O<=Z_z4 z|7RTSuJ?i4&VP=(?fqXbI_~fN-+jcb{GS|=Bp|t-2uc67r#Zp&u`=7j+7zCfU6N~A zt|?@-uljtiCv#TFrVk{eFQmw`TB&@;-~>XBy|r5F!-U9mK_p)5I8vJEyzm@zlq08R zjJp19HYjj)V_`hxm*H6mIlW|Jp|1Db9nl?>aUK859qrC!U>pAjQJeq$erJ=T1SJFB zW1^GG1R^YSyDk0?y8H8=`-xlezh-%h3^x+}Zs$7R0VV!dv4Q_P-2!amf4|#n`~Sg{ f83iK?5iEv_XG7bgi5#PoM+F@Sdh?l;044wcHfKF( delta 1161 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 Bf;#{J delta 4331 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 BK%M{q diff --git a/chart/tinkerbell-stack/charts/tink-0.2.2.tgz b/chart/tinkerbell-stack/charts/tink-0.2.2.tgz index c844ed3d5312768ca27a929089cdbf7a3d086d04..bb61884d51a8b9cedf03b7dedd93fef4764be768 100644 GIT binary patch delta 4290 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%0Dx`Rg zh(mYp!>71<)C-O9#QlG$lmLCWH&1){kvvs2b109_)n?v3Pvupb%1Saa2SCzH)3~a2 zpbc|MUhCdwY(=!Dka-u(ORRLrYVh@YFX1}0ZR88&q>gy&Q{&-pqeO?o)uT;`6Xxgj zFWbw;k@G1!-z{IB{``M(|3h>M%&G5x7>qB5hCuUC}8nfcO|T zrd}l%Kt!(#7eHih{4KiyLiiegas`A)+W50y0TJ=7;tGi9Gw<$z=9Kxr9WogbDE5T_Z&?go%ej-zSLuc#Q%?e2H@2G|8O)O z4GR8$_xpdRfyaO7|HnUAaSH!GI)It;|D)Fh|3CZt8fE_fW|4FMH%Sx6aQ}T|_oGST zJz5k(fJ}r_Gh;m5pduQKil8F;+yxb&3o5#x;t>WFkp?#h6;a7HPI#1mehW+Qt1(}e zYgkdsbm;}~pzlkmlhz>e;lr&AQiWGgC&fKzM@Obm*{Xj+?fOvEHG_-u^u=GwG^MWM zgq%|wOTp7W0iwiuQ^Dj$9;BwBR^-H4qeGIjPhc1eq)A}7i%c$EI)|?GfM`&7*IjMd?5I7i3akq?`A0w<}f)Y^*|tT@+^jizNO zwVtcOXZ3$1s5G%Q^?VnJ(rfMZyZlVHnZ5UnBk6pqIbQvQv9 znq3-AdswoTOrgv6E*?&Sz|_t$#G5dDP=F3 z4faOqUo$eoX3(&QI6ovllWlCq$o%H*iROn5kxhSz(>P{rw!oQhep82bkn^HZ%%bL{ z<7ibF{vrt`-7lRXcSa|wr@1s7hns5|JvXc0ec2VWO^J=DjEqxTvt-m+gAUZIxj`$9 zW7s%)ExJ<2W<4?Q(UX`#~20 zn(}}D!*TBS--egtLHGMlCxOSD|CbG(atYv7v~#n#3?M&ME(OFpKFe1FlFx+|f$)>b zsz8@e?-J@=LOlarLcMA)gAO`)c<}E400960OVb8?>j1_80Bee0yZ`_I delta 4289 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/etc/nginx/nginx.conf + exec nginx -g 'daemon off;' + ports: + - containerPort: 50061 + hostPort: 50061 + protocol: TCP + name: hegel-port + - containerPort: 42113 + hostPort: 42113 + protocol: TCP + name: tink-server + - containerPort: 8080 + hostPort: 8080 + protocol: TCP + name: hook-http + resources: + limits: + cpu: 500m + memory: 128Mi + requests: + cpu: 10m + memory: 64Mi + volumeMounts: + - mountPath: /tmp + readOnly: true + name: nginx-conf + - mountPath: /usr/share/nginx/html + name: hook-artifacts + volumes: + - name: nginx-conf + configMap: + name: nginx-conf + items: + - key: nginx.conf + path: nginx.conf.template + - name: hook-artifacts + hostPath: + path: /opt/hook + type: DirectoryOrCreate + serviceAccountName: {{ .Values.name }} +{{- end }} diff --git a/chart/tinkerbell-stack/dependency_charts/smee/values.yaml b/chart/tinkerbell-stack/dependency_charts/smee/values.yaml index 732d621..d47ca60 100644 --- a/chart/tinkerbell-stack/dependency_charts/smee/values.yaml +++ b/chart/tinkerbell-stack/dependency_charts/smee/values.yaml @@ -128,3 +128,4 @@ additionalArgs: [] additionalEnv: [] trustedProxies: - "10.42.0.0/24" +nginxImage: nginx:1.25.1 \ No newline at end of file diff --git a/chart/tinkerbell-stack/templates/hook.yaml b/chart/tinkerbell-stack/templates/hook.yaml index c5103ea..90f12df 100644 --- a/chart/tinkerbell-stack/templates/hook.yaml +++ b/chart/tinkerbell-stack/templates/hook.yaml @@ -13,14 +13,12 @@ data: cd /output rm -f *.tar.gz checksum.txt vmlinuz* initramfs* base_loc="{{ .Values.stack.hook.downloadURL }}" - files="$base_loc/hook_aarch64.tar.gz $base_loc/hook_x86_64.tar.gz $base_loc/checksum.txt" + files="$base_loc/hook_aarch64.tar.gz $base_loc/hook_x86_64.tar.gz" tmp_dir=$(mktemp -d) for f in ${files}; do echo "${f}" wget -P "${tmp_dir}" "${f}" done - (cd "${tmp_dir}" && sha512sum -c checksum.txt) - mv "${tmp_dir}"/checksum.txt . for f in ${tmp_dir}/*.tar.gz; do tar --no-same-permissions --overwrite -ozxvf "${f}" && rm -f "${f}"; done rm -rf "${tmp_dir}" --- diff --git a/chart/tinkerbell-stack/templates/kubevip.yaml b/chart/tinkerbell-stack/templates/kubevip.yaml deleted file mode 100644 index 6941193..0000000 --- a/chart/tinkerbell-stack/templates/kubevip.yaml +++ /dev/null @@ -1,92 +0,0 @@ -{{- if and .Values.stack.enabled .Values.stack.kubevip.enabled }} -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: {{ .Values.stack.kubevip.name }} - namespace: {{ .Release.Namespace | quote }} - labels: - app.kubernetes.io/name: {{ .Values.stack.kubevip.name }} -spec: - selector: - matchLabels: - app.kubernetes.io/name: {{ .Values.stack.kubevip.name }} - template: - metadata: - labels: - app.kubernetes.io/name: {{ .Values.stack.kubevip.name }} - spec: - containers: - - args: - - manager - env: - - name: vip_arp - value: "true" - - name: svc_enable - value: "true" - - name: svc_election - value: "true" - - name: enableServicesElection - value: "true" - {{- with .Values.stack.kubevip.interface }} - - name: vip_interface - value: {{ . }} - {{- end }} - image: {{ .Values.stack.kubevip.image }} - imagePullPolicy: {{ .Values.stack.kubevip.imagePullPolicy }} - name: {{ .Values.stack.kubevip.name }} - securityContext: - capabilities: - add: - - NET_ADMIN - - NET_RAW - hostNetwork: true - serviceAccountName: {{ .Values.stack.kubevip.name }} ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ .Values.stack.kubevip.name }} - namespace: {{ .Release.Namespace | quote }} ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - annotations: - rbac.authorization.kubernetes.io/autoupdate: "true" - name: {{ .Values.stack.kubevip.roleName }} -rules: - - apiGroups: [""] - resources: - - "services" - - "services/status" - - "nodes" - - "endpoints" - verbs: - - "list" - - "get" - - "watch" - - "update" - - apiGroups: - - "coordination.k8s.io" - resources: - - "leases" - verbs: - - "list" - - "get" - - "watch" - - "update" - - "create" ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: {{ .Values.stack.kubevip.roleBindingName }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: {{ .Values.stack.kubevip.roleName }} -subjects: -- kind: ServiceAccount - name: {{ .Values.stack.kubevip.name }} - namespace: {{ .Release.Namespace | quote }} -{{- end }} \ No newline at end of file diff --git a/chart/tinkerbell-stack/templates/nginx-configmap.yaml b/chart/tinkerbell-stack/templates/nginx-configmap.yaml deleted file mode 100644 index 9a8484b..0000000 --- a/chart/tinkerbell-stack/templates/nginx-configmap.yaml +++ /dev/null @@ -1,83 +0,0 @@ -# The NGINX ConfigMap is in a separate file because its checksum is used to trigger updates in -# the deployment. -{{ if .Values.stack.enabled -}} -apiVersion: v1 -kind: ConfigMap -metadata: - name: nginx-conf - namespace: {{ .Release.Namespace | quote }} -data: - nginx.conf: | - worker_processes 1; - events { - worker_connections 1024; - } - user root; - - http { - server { - listen {{ .Values.smee.http.port }}; - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - resolver $POD_NAMESERVER; - set $smee_dns {{ .Values.smee.name }}.{{ .Release.Namespace }}.svc.cluster.local.; # needed in Kubernetes for dynamic DNS resolution - - proxy_pass http://$smee_dns:{{ .Values.smee.http.port }}; - } - } - - server { - listen {{ .Values.hegel.service.port }}; - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - resolver $POD_NAMESERVER; - set $hegel_dns {{ .Values.hegel.name }}.{{ .Release.Namespace }}.svc.cluster.local.; # needed in Kubernetes for dynamic DNS resolution - - proxy_pass http://$hegel_dns:{{ .Values.hegel.service.port }}; - } - } - - server { - listen {{ .Values.tink.server.service.port }}; - http2 on; - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - resolver $POD_NAMESERVER; - set $tink_dns {{ .Values.tink.server.name }}.{{ .Release.Namespace }}.svc.cluster.local.; # needed in Kubernetes for dynamic DNS resolution - - grpc_pass grpc://$tink_dns:{{ .Values.tink.server.service.port }}; - } - } - - server { - listen {{ .Values.stack.hook.port }}; - location / { - sendfile on; - sendfile_max_chunk 1m; - root /usr/share/nginx/html; - } - } - } - - stream { - log_format logger-json escape=json '{"source": "nginx", "time": $msec, "address": "$remote_addr", "status": $status, "upstream_addr": "$upstream_addr"}'; - - server { - listen {{ .Values.smee.tftp.port }} udp; - resolver $POD_NAMESERVER; - set $smee_dns {{ .Values.smee.name }}.{{ .Release.Namespace }}.svc.cluster.local.; # needed in Kubernetes for dynamic DNS resolution - proxy_pass $smee_dns:{{ .Values.smee.tftp.port }}; - access_log /dev/stdout logger-json; - } - server { - listen {{ .Values.smee.syslog.port }} udp; - resolver $POD_NAMESERVER; - set $smee_dns {{ .Values.smee.name }}.{{ .Release.Namespace }}.svc.cluster.local.; # needed in Kubernetes for dynamic DNS resolution - proxy_pass $smee_dns:{{ .Values.smee.syslog.port }}; - access_log /dev/stdout logger-json; - } - } -{{- end }} diff --git a/chart/tinkerbell-stack/templates/nginx.yaml b/chart/tinkerbell-stack/templates/nginx.yaml deleted file mode 100644 index 89297f3..0000000 --- a/chart/tinkerbell-stack/templates/nginx.yaml +++ /dev/null @@ -1,178 +0,0 @@ -{{- if .Values.stack.enabled }} -{{- $sourceInterface := .Values.stack.relay.sourceInterface -}} -{{- $macvlanInterfaceName := printf "%s%s" "macvlan" (randNumeric 2) -}} -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ .Values.stack.name}} - namespace: {{ .Release.Namespace | quote }} -spec: - selector: - matchLabels: - {{- with .Values.stack.selector }} - {{- toYaml . | nindent 6 }} - {{- end }} - replicas: 1 - template: - metadata: - annotations: - checksum/config: {{ include (print $.Template.BasePath "/nginx-configmap.yaml") . | sha256sum }} - labels: - {{- with .Values.stack.selector }} - {{- toYaml . | nindent 8 }} - {{- end }} - spec: - {{- if not .Values.stack.service.enabled }} - hostNetwork: true - dnsPolicy: ClusterFirstWithHostNet - {{- end }} - hostPID: true - containers: - - name: {{ .Values.stack.relay.name }} - image: {{ .Values.stack.relay.image }} - args: ["-m", "append", "-c", "{{ .Values.stack.relay.maxHopCount }}", "-id", "{{ $macvlanInterfaceName }}", "-iu", "eth0", "-U", "eth0", "smee.{{ .Release.Namespace }}.svc.cluster.local."] - ports: - - containerPort: 67 - protocol: UDP - name: dhcp - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 10m - memory: 64Mi - securityContext: - capabilities: - add: - - NET_RAW - - name: {{ .Values.stack.name }} - image: {{ .Values.stack.image }} - command: ["/bin/bash", "-xeuc"] - args: - - | - POD_NAMESERVER=$(awk '/nameserver/ {print $2}' /etc/resolv.conf) \ - envsubst '$POD_NAMESERVER' \ - /etc/nginx/nginx.conf - exec nginx -g 'daemon off;' - ports: - - containerPort: {{ .Values.hegel.deployment.port }} - protocol: TCP - name: {{ .Values.hegel.deployment.portName }} - - containerPort: {{ .Values.tink.server.deployment.port }} - protocol: TCP - name: {{ .Values.tink.server.deployment.portName }} - - containerPort: {{ .Values.stack.hook.port }} - protocol: TCP - name: hook-http - - containerPort: {{ .Values.smee.http.port }} - protocol: TCP - name: {{ .Values.smee.http.name }} - - containerPort: {{ .Values.smee.tftp.port }} - protocol: UDP - name: {{ .Values.smee.tftp.name }} - - containerPort: {{ .Values.smee.syslog.port }} - protocol: UDP - name: {{ .Values.smee.syslog.name }} - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 10m - memory: 64Mi - volumeMounts: - - mountPath: /tmp - readOnly: true - name: nginx-conf - {{- if .Values.stack.hook.enabled }} - - mountPath: /usr/share/nginx/html - name: hook-artifacts - {{- end }} - volumes: - - name: nginx-conf - configMap: - name: nginx-conf - items: - - key: nginx.conf - path: nginx.conf.template - {{- if .Values.stack.hook.enabled }} - - name: hook-artifacts - hostPath: - path: {{ .Values.stack.hook.downloadsDest }} - type: DirectoryOrCreate - {{- end }} - initContainers: - - name: relay-macvlan-interface - command: - - /bin/sh - - -c - - | - # This script allows us to listen and respond to DHCP requests on a host network interface and interact with Boots properly. - # This is used instead of `hostNetwork: true` because the dhcp relay requires clear paths for listening for broadcast traffic - # and sending/receiving unicast traffic to/from Boots. - set -xe - # if sourceInterface is not set use the interface from the default route - srcInterface="{{ $sourceInterface }}" - if [ -z "$srcInterface" ]; then - srcInterface=$(nsenter -t1 -n ip route | awk '/default/ {print $5}' | head -n1) - fi - # Create a macvlan interface. TODO: If this fails, try again with a different name? - nsenter -t1 -n ip link add {{ $macvlanInterfaceName }} link ${srcInterface} type macvlan mode bridge - # Move the interface into the POD. - pid=$(echo $$) - nsenter -t1 -n ip link set {{ $macvlanInterfaceName }} netns ${pid} || nsenter -t1 -n ip link delete {{ $macvlanInterfaceName }} - # Set the macvlan interface up - ip link set {{ $macvlanInterfaceName }} up - # Set the IP address - ip addr add {{ .Values.stack.loadBalancerIP }}/32 dev {{ $macvlanInterfaceName }} noprefixroute - image: alpine - securityContext: - privileged: true -{{- if .Values.stack.service.enabled }} ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app: {{ .Values.stack.name }} - name: {{ .Values.stack.name }} - namespace: {{ .Release.Namespace | quote }} -spec: - type: {{ .Values.stack.service.type }} - {{- if eq .Values.stack.service.type "LoadBalancer" }} - {{- if .Values.stack.lbClass }} - loadBalancerClass: {{ .Values.stack.lbClass }} - {{- end }} - loadBalancerIP: {{ .Values.stack.loadBalancerIP }} - externalTrafficPolicy: Local - {{- end }} - ports: - - name: {{ .Values.hegel.name }} - port: {{ .Values.hegel.deployment.port }} - protocol: TCP -# - name: {{ .Values.tink.server.name }} -# port: {{ .Values.tink.server.deployment.port }} -# protocol: TCP - - name: {{ .Values.stack.hook.name }} - port: {{ .Values.stack.hook.port }} - protocol: TCP -# - port: {{ .Values.smee.http.port }} -# protocol: TCP -# name: {{ .Values.smee.http.name }} -# - port: {{ .Values.smee.tftp.port }} -# protocol: UDP -# name: {{ .Values.smee.tftp.name }} -# - port: {{ .Values.smee.syslog.port }} -# protocol: UDP -# name: {{ .Values.smee.syslog.name }} -# - port: 67 -# protocol: UDP -# name: dhcp - selector: - {{- with .Values.stack.selector }} - {{- toYaml . | nindent 4 }} - {{- end }} -{{- end }} -{{- end }} diff --git a/chart/tinkerbell-stack/values.yaml b/chart/tinkerbell-stack/values.yaml index c7cea5f..103ee3b 100644 --- a/chart/tinkerbell-stack/values.yaml +++ b/chart/tinkerbell-stack/values.yaml @@ -1,13 +1,4 @@ stack: - enabled: true - name: tink-stack - service: - enabled: true - type: LoadBalancer - selector: - app: tink-stack - # Once the Kubernetes Gateway API is more stable, we will use that for all services instead of nginx. - image: nginx:1.25.1 hook: enabled: true name: hook-files @@ -16,28 +7,7 @@ stack: downloadsDest: /opt/hook # downloadURL only works with the > 0.8.1 Hook release because # previous Hook versions didn't provide a checksum file. - downloadURL: https://github.com/tinkerbell/hook/releases/download/latest - kubevip: - enabled: false - name: kube-vip - image: ghcr.io/kube-vip/kube-vip:v0.6.3 - imagePullPolicy: IfNotPresent - roleName: kube-vip-role - roleBindingName: kube-vip-rolebinding - # Customize the interface KubeVIP advertises on. When unset, KubeVIP will autodetect the interface. - # interface: enp0s8 - relay: # relay allows us to listen and respond to layer broadcast DHCP requests - name: dhcp-relay - enabled: false - # This image (ghcr.io/jacobweinstock/dhcrelay) is used because the other public dhcprelay images out there (`modem7/dhcprelay`) - # doesn't respect signals properly when run as PID 1. - image: ghcr.io/jacobweinstock/dhcrelay - maxHopCount: 10 - # sourceInterface is the Host/Node interface to use for listening for DHCP broadcast packets. - # When unset, the interface from the default route will be used. - # sourceInterface: eno1 - # TODO(jacobweinstock): add feature to be able to disable listening for broadcast traffic. - + downloadURL: https://github.com/tinkerbell/hook/releases/download/v0.8.1 # -- Overrides # The values defined here override those in the individual charts. Some of them require tweaking # before deployment as they are environment dependent; others are surfaced for convenience. @@ -51,6 +21,9 @@ smee: trustedProxies: *range publicIP: *publicIP hostNetwork: true + deployment: + strategy: + type: Recreate hegel: image: quay.io/tinkerbell/hegel:v0.11.1