Files
virtual-kubelet/charts/virtual-kubelet/templates/deployment.yaml
Luc Perkins 561ccca561 Add Helm documentation (#517)
* 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>
2019-03-28 15:30:30 -07:00

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