* Add required blocks to Helm templates Signed-off-by: lucperkins <lucperkins@gmail.com> * Make CLI table border lighter Signed-off-by: lucperkins <lucperkins@gmail.com> * Change aesthetic of CLI table Signed-off-by: lucperkins <lucperkins@gmail.com> * Add admonition blocks Signed-off-by: lucperkins <lucperkins@gmail.com> * Fix wording Signed-off-by: lucperkins <lucperkins@gmail.com>
160 lines
5.6 KiB
YAML
160 lines
5.6 KiB
YAML
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ template "vk.fullname" . }}
|
|
{{ include "vk.labels" . | indent 2 }}
|
|
component: kubelet
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
{{ include "vk.labels" . | indent 6 }}
|
|
component: kubelet
|
|
annotations:
|
|
checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
|
|
spec:
|
|
containers:
|
|
{{- if eq .Values.trace.exporter "jaeger" }}
|
|
{{- with .Values.traceExporters.jaeger }}
|
|
{{- if eq .endpoint "" }}
|
|
- name: {{ tpl .name $ }}
|
|
image: {{ .image.repository}}:{{.image.tag}}
|
|
imagePullPolicy: {{ .image.pullPolicy }}
|
|
ports:
|
|
- containerPort: 16686
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
- name: {{ template "vk.fullname" . }}
|
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
env:
|
|
- name: KUBELET_PORT
|
|
value: "10250"
|
|
- name: APISERVER_CERT_LOCATION
|
|
value: /etc/virtual-kubelet/cert.pem
|
|
- name: APISERVER_KEY_LOCATION
|
|
value: /etc/virtual-kubelet/key.pem
|
|
- name: VKUBELET_POD_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: status.podIP
|
|
- name: VKUBELET_TAINT_KEY
|
|
value: {{ .Values.taint.key }}
|
|
- name: VKUBELET_TAINT_VALUE
|
|
value: {{ tpl .Values.taint.value $ }}
|
|
- name: VKUBELET_TAINT_EFFECT
|
|
value: {{ .Values.taint.effect }}
|
|
{{- if eq (required "You must specify a Virtual Kubelet provider" .Values.provider) "azure" }}
|
|
{{- with .Values.providers.azure }}
|
|
{{- if .loganalytics.enabled }}
|
|
- name: LOG_ANALYTICS_AUTH_LOCATION
|
|
value: /etc/virtual-kubelet/loganalytics.json
|
|
- name: CLUSTER_RESOURCE_ID
|
|
value: {{ .loganalytics.clusterResourceId }}
|
|
{{- end }}
|
|
{{- if .targetAKS }}
|
|
- name: ACS_CREDENTIAL_LOCATION
|
|
value: /etc/acs/azure.json
|
|
- name: AZURE_TENANT_ID
|
|
value: {{ .tenantId }}
|
|
- name: AZURE_SUBSCRIPTION_ID
|
|
value: {{ .subscriptionId }}
|
|
- name: AZURE_CLIENT_ID
|
|
value: {{ .clientId }}
|
|
- name: AZURE_CLIENT_SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ template "vk.fullname" $ }}
|
|
key: clientSecret
|
|
- name: ACI_RESOURCE_GROUP
|
|
value: {{ .aciResourceGroup }}
|
|
- name: ACI_REGION
|
|
value: {{ .aciRegion }}
|
|
- name: ACI_EXTRA_USER_AGENT
|
|
value: {{ printf "helm-chart/aks/%s/%s" $.Chart.Name $.Chart.Version }}
|
|
{{- else }}
|
|
- name: AZURE_AUTH_LOCATION
|
|
value: /etc/virtual-kubelet/credentials.json
|
|
- name: ACI_RESOURCE_GROUP
|
|
value: {{ required "aciResourceGroup is required" .aciResourceGroup }}
|
|
- name: ACI_REGION
|
|
value: {{ required "aciRegion is required" .aciRegion }}
|
|
- name: ACI_EXTRA_USER_AGENT
|
|
value: {{ printf "helm-chart/other/%s/%s" $.Chart.Name $.Chart.Version }}
|
|
{{- end }}
|
|
{{- if .vnet.enabled }}
|
|
- name: ACI_SUBNET_NAME
|
|
value: {{ required "subnetName is required" .vnet.subnetName }}
|
|
- name: ACI_SUBNET_CIDR
|
|
value: {{ .vnet.subnetCidr }}
|
|
- name: MASTER_URI
|
|
value: {{ required "masterUri is required" .masterUri }}
|
|
- name: CLUSTER_CIDR
|
|
value: {{ required "clusterCidr is required" .vnet.clusterCidr }}
|
|
- name: KUBE_DNS_IP
|
|
value: {{ required "kubeDnsIp is required" .vnet.kubeDnsIp }}
|
|
{{- else }}
|
|
- name: MASTER_URI
|
|
value: {{ .masterUri }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if eq .Values.trace.exporter "jaeger" }}
|
|
- name: JAEGER_ENDPOINT
|
|
{{- with .Values.traceExporters.jaeger }}
|
|
{{- if eq .endpoint "" }}
|
|
value: "http://127.0.0.1:14268"
|
|
{{- else }}
|
|
value: {{.endpoint}}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
volumeMounts:
|
|
- name: credentials
|
|
mountPath: "/etc/virtual-kubelet"
|
|
{{- if eq (required "You must specify a Virtual Kubelet provider" .Values.provider) "azure" }}
|
|
{{- if .Values.providers.azure.targetAKS }}
|
|
- name: acs-credential
|
|
mountPath: "/etc/acs/azure.json"
|
|
{{- end }}
|
|
{{- end }}
|
|
command: ["virtual-kubelet"]
|
|
args: [
|
|
{{- if not .Values.taint.enabled }}
|
|
"--disable-taint", "true",
|
|
{{- end }}
|
|
"--provider", "{{ required "You must specify a Virtual Kubelet provider" .Values.provider }}",
|
|
"--namespace", "{{ .Values.monitoredNamespace }}",
|
|
"--nodename", "{{ required "nodeName is required" .Values.nodeName }}",
|
|
{{- if .Values.logLevel }}
|
|
"--log-level", "{{.Values.logLevel}}",
|
|
{{- end }}
|
|
{{- if ne .Values.trace.exporter "" }}
|
|
"--trace-exporter", "{{ .Values.trace.exporter }}",
|
|
{{- if gt .Values.trace.sampleRate 0.0 }}
|
|
"--trace-sample-rate", "{{ .Values.trace.sampleRate }}",
|
|
{{- end }}
|
|
{{- $serviceName := tpl .Values.trace.serviceName $ }}
|
|
{{- if ne $serviceName "" }}
|
|
"--trace-service-name", "{{ $serviceName }}",
|
|
{{- end}}
|
|
{{- end}}
|
|
"--os", "{{ .Values.nodeOsType }}"
|
|
]
|
|
volumes:
|
|
- name: credentials
|
|
secret:
|
|
secretName: {{ template "vk.fullname" . }}
|
|
{{- if eq (required "You must specify a Virtual Kubelet provider" .Values.provider) "azure" }}
|
|
{{- if .Values.providers.azure.targetAKS }}
|
|
- name: acs-credential
|
|
hostPath:
|
|
path: /etc/kubernetes/azure.json
|
|
type: File
|
|
{{- end }}
|
|
{{- end }}
|
|
serviceAccountName: {{ if .Values.rbac.install }} "{{ template "vk.fullname" . }}" {{ end }}
|
|
nodeSelector:
|
|
beta.kubernetes.io/os: linux
|