95 lines
3.2 KiB
YAML
95 lines
3.2 KiB
YAML
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ template "vk.fullname" . }}
|
|
{{ include "vk.labels" . | indent 2 }}
|
|
component: kubelet
|
|
annotations:
|
|
virtual-kubelet/provider: {{ required "provider is required" .Values.provider }}
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
{{ include "vk.labels" . | indent 6 }}
|
|
component: kubelet
|
|
annotations:
|
|
checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
|
|
spec:
|
|
containers:
|
|
- 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
|
|
{{- if eq .Values.provider "azure" }}
|
|
{{- with .Values.providers.azure }}
|
|
- name: ACI_RESOURCE_GROUP
|
|
value: {{ required "aciResourceGroup is required" .aciResourceGroup }}
|
|
- name: ACI_REGION
|
|
value: {{ required "aciRegion is required" .aciRegion }}
|
|
{{- if .loganalytics.enabled }}
|
|
- name: LOG_ANALYTICS_AUTH_LOCATION
|
|
value: /etc/virtual-kubelet/loganalytics.json
|
|
{{- end }}
|
|
{{- if .targetAKS }}
|
|
- name: ACS_CREDENTIAL_LOCATION
|
|
value: /etc/acs/azure.json
|
|
- name: AZURE_TENANT_ID
|
|
value: {{ required "tenantId is required" .tenantId }}
|
|
- name: AZURE_SUBSCRIPTION_ID
|
|
value: {{ required "subscriptionId is required" .subscriptionId }}
|
|
- name: AZURE_CLIENT_ID
|
|
value: {{ required "clientId is required" .clientId }}
|
|
- name: AZURE_CLIENT_SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ template "vk.fullname" $ }}
|
|
key: clientSecret
|
|
{{- else }}
|
|
- name: AZURE_AUTH_LOCATION
|
|
value: /etc/virtual-kubelet/credentials.json
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
volumeMounts:
|
|
- name: credentials
|
|
mountPath: "/etc/virtual-kubelet"
|
|
{{- if eq .Values.provider "azure" }}
|
|
{{- if .Values.providers.azure.targetAKS }}
|
|
- name: acs-credential
|
|
mountPath: "/etc/acs/azure.json"
|
|
{{- end }}
|
|
{{- end }}
|
|
command: ["virtual-kubelet"]
|
|
args: [
|
|
"--provider", "{{ .Values.provider }}",
|
|
"--namespace", "{{ .Values.monitoredNamespace }}",
|
|
"--nodename", "{{ required "nodeName is required" .Values.nodeName }}",
|
|
"--os", "{{ .Values.nodeOsType }}",
|
|
"--taint", "{{ .Values.nodeTaint }}"
|
|
]
|
|
volumes:
|
|
- name: credentials
|
|
secret:
|
|
secretName: {{ template "vk.fullname" . }}
|
|
{{- if eq .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
|