@@ -74,3 +74,115 @@ Take the first IP address from the serviceClusterIPRange for the kube-dns servic
7474 { {- $octetsList := splitList " ." .Values.apiServer.serviceClusterIPRange -} }
7575 { {- printf " %d.%d.%d.%d" (index $octetsList 0 | int) (index $octetsList 1 | int) (index $octetsList 2 | int) 1 -} }
7676{ {- end -} }
77+
78+ { {/*
79+ Template for konnectivityServer containers
80+ */} }
81+ { {- define " kubernetes.konnectivityServer.containers" -} }
82+ - command:
83+ - /proxy-server
84+ - --logtostderr=true
85+ - --server-count={ { .Values.konnectivityServer.replicaCount } }
86+ - --server-id=$(POD_NAME)
87+ - --cluster-cert=/pki/apiserver/tls.crt
88+ - --cluster-key=/pki/apiserver/tls.key
89+ { {- if eq .Values.konnectivityServer.mode " HTTPConnect" } }
90+ - --mode=http-connect
91+ - --server-port={ { .Values.konnectivityServer.ports.server } }
92+ - --server-ca-cert=/pki/konnectivity-server/ca.crt
93+ - --server-cert=/pki/konnectivity-server/tls.crt
94+ - --server-key=/pki/konnectivity-server/tls.key
95+ { {- else } }
96+ - --mode=grpc
97+ - --uds-name=/run/konnectivity-server/konnectivity-server.socket
98+ - --server-port=0
99+ { {- end } }
100+ - --agent-port={ { .Values.konnectivityServer.ports.agent } }
101+ - --admin-port={ { .Values.konnectivityServer.ports.admin } }
102+ - --health-port={ { .Values.konnectivityServer.ports.health } }
103+ - --agent-namespace=kube-system
104+ - --agent-service-account=konnectivity-agent
105+ - --kubeconfig=/etc/kubernetes/konnectivity-server.conf
106+ - --authentication-audience=system:konnectivity-server
107+ { {- range $key , $value := .Values.konnectivityServer.extraArgs } }
108+ - --{ { $key } }={ { $value } }
109+ { {- end } }
110+ ports:
111+ { {- if eq .Values.konnectivityServer.mode " HTTPConnect" } }
112+ - containerPort: { { .Values.konnectivityServer.ports.server } }
113+ name: server
114+ { {- end } }
115+ - containerPort: { { .Values.konnectivityServer.ports.agent } }
116+ name: agent
117+ - containerPort: { { .Values.konnectivityServer.ports.admin } }
118+ name: admin
119+ - containerPort: { { .Values.konnectivityServer.ports.health } }
120+ name: health
121+ { {- with .Values.konnectivityServer.image } }
122+ image: "{ { .repository } }{ { if .digest } }@{ { .digest } }{ { else } }:{ { .tag } }{ { end } }"
123+ imagePullPolicy: { { .pullPolicy } }
124+ { {- end } }
125+ livenessProbe:
126+ failureThreshold: 8
127+ httpGet:
128+ path: /healthz
129+ port: { { .Values.konnectivityServer.ports.health } }
130+ scheme: HTTP
131+ initialDelaySeconds: 30
132+ timeoutSeconds: 60
133+ name: konnectivity-server
134+ resources:
135+ { {- toYaml .Values.konnectivityServer.resources | nindent 10 } }
136+ env:
137+ - name: POD_NAME
138+ valueFrom:
139+ fieldRef:
140+ fieldPath: metadata.name
141+ { {- with .Values.konnectivityServer.extraEnv } }
142+ { {- toYaml . | nindent 8 } }
143+ { {- end } }
144+ volumeMounts:
145+ - mountPath: /pki/apiserver
146+ name: pki-apiserver
147+ { {- if eq .Values.konnectivityServer.mode " HTTPConnect" } }
148+ - mountPath: /pki/konnectivity-server
149+ name: pki-konnectivity-server
150+ { {- else } }
151+ - mountPath: /run/konnectivity-server
152+ name: konnectivity-uds
153+ { {- end } }
154+ - mountPath: /pki/konnectivity-server-client
155+ name: pki-konnectivity-server-client
156+ - mountPath: /etc/kubernetes/
157+ name: kubeconfig
158+ readOnly: true
159+ { {- with .Values.konnectivityServer.extraVolumeMounts } }
160+ { {- toYaml . | nindent 8 } }
161+ { {- end } }
162+ { {- end -} }
163+
164+ { {/*
165+ Template for konnectivityServer volumes
166+ */} }
167+ { {- define " kubernetes.konnectivityServer.volumes" -} }
168+ - secret:
169+ secretName: "{ { template " kubernetes.fullname" . } }-pki-apiserver-server"
170+ name: pki-apiserver
171+ { {- if eq .Values.konnectivityServer.mode " HTTPConnect" } }
172+ - secret:
173+ secretName: "{ { template " kubernetes.fullname" . } }-pki-konnectivity-server"
174+ name: pki-konnectivity-server
175+ { {- else } }
176+ - secret:
177+ secretName: "{ { template " kubernetes.fullname" . } }-pki-konnectivity-server-client"
178+ name: pki-konnectivity-server-client
179+ - emptyDir: { }
180+ name: konnectivity-uds
181+ { {- end } }
182+ - configMap:
183+ name: "{ { template " kubernetes.fullname" . } }-konnectivity-server-conf"
184+ name: kubeconfig
185+ { {- with .Values.konnectivityServer.extraVolumes } }
186+ { {- toYaml . | nindent 6 } }
187+ { {- end } }
188+ { {- end -} }
0 commit comments