@@ -74,3 +74,115 @@ Take the first IP address from the serviceClusterIPRange for the kube-dns servic
74
74
{ {- $octetsList := splitList " ." .Values.apiServer.serviceClusterIPRange -} }
75
75
{ {- printf " %d.%d.%d.%d" (index $octetsList 0 | int) (index $octetsList 1 | int) (index $octetsList 2 | int) 1 -} }
76
76
{ {- 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