diff --git a/assets/charts/control-plane/kube-apiserver/templates/kube-apiserver-ds.yaml b/assets/charts/control-plane/kube-apiserver/templates/kube-apiserver-ds.yaml deleted file mode 100644 index e7484ebb5..000000000 --- a/assets/charts/control-plane/kube-apiserver/templates/kube-apiserver-ds.yaml +++ /dev/null @@ -1,31 +0,0 @@ -{{- if gt (int .Values.apiserver.replicas) 1 }} -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: kube-apiserver - namespace: kube-system - labels: - tier: control-plane - k8s-app: kube-apiserver -spec: - selector: - matchLabels: - tier: control-plane - k8s-app: kube-apiserver - updateStrategy: - type: RollingUpdate - rollingUpdate: - maxUnavailable: 1 - template: - metadata: - labels: - tier: control-plane - k8s-app: kube-apiserver - annotations: - checkpointer.alpha.coreos.com/checkpoint: "true" - seccomp.security.alpha.kubernetes.io/pod: 'docker/default' - # Automatically rolls update when secret changes. - checksum/secret: {{ include (print $.Template.BasePath "/kube-apiserver-secret.yaml") . | sha256sum }} - spec: -{{- template "containers" . }} -{{- end }} diff --git a/assets/charts/control-plane/kube-apiserver/templates/kube-apiserver.yaml b/assets/charts/control-plane/kube-apiserver/templates/kube-apiserver.yaml index 26fe34db4..f10bcb37d 100644 --- a/assets/charts/control-plane/kube-apiserver/templates/kube-apiserver.yaml +++ b/assets/charts/control-plane/kube-apiserver/templates/kube-apiserver.yaml @@ -1,4 +1,3 @@ -{{- if eq (int .Values.apiserver.replicas) 1 }} apiVersion: apps/v1 kind: Deployment metadata: @@ -8,7 +7,7 @@ metadata: tier: control-plane k8s-app: kube-apiserver spec: - replicas: 1 + replicas: {{ .Values.apiserver.replicas }} selector: matchLabels: tier: control-plane @@ -22,11 +21,28 @@ spec: labels: tier: control-plane k8s-app: kube-apiserver + helm-revision: {{ .Release.Revision | quote }} annotations: checkpointer.alpha.coreos.com/checkpoint: "true" seccomp.security.alpha.kubernetes.io/pod: 'docker/default' # Automatically rolls update when secret changes. checksum/secret: {{ include (print $.Template.BasePath "/kube-apiserver-secret.yaml") . | sha256sum }} spec: + {{- if ne (int .Values.apiserver.replicas) 1 }} + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: k8s-app + operator: In + values: + - kube-apiserver + - key: helm-revision + operator: In + values: + - {{ .Release.Revision | quote }} + topologyKey: kubernetes.io/hostname + {{- end }} {{- template "containers" . }} -{{- end }} + diff --git a/pkg/assets/generated_assets.go b/pkg/assets/generated_assets.go index fc848d3be..6160d8d49 100644 --- a/pkg/assets/generated_assets.go +++ b/pkg/assets/generated_assets.go @@ -5060,12 +5060,10 @@ var vfsgenAssets = func() http.FileSystem { compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8f\xb1\x4a\x05\x31\x14\x44\xfb\x7c\xc5\x94\x5a\xec\xca\x76\x92\x4e\xb1\xb4\xb0\x7a\xfd\xdd\x64\xd4\xcb\x66\x93\x98\x9b\x5d\x90\xc7\xfb\x77\x09\x82\x8d\xed\x1c\x98\x99\x73\xbd\x4e\xd0\x77\xf0\x0b\x77\x9a\x3b\xe6\x8b\xa4\x83\x36\x4b\x55\x63\x3b\xd9\xe6\xc6\x9a\x34\x88\xdd\x63\xc1\xed\xe6\xa4\xea\x85\xcd\xb4\x64\x8f\x5a\x92\x86\xef\x87\x73\x59\xd9\x65\x71\x9b\xe6\xe8\xf1\x56\xe2\x8b\x5a\x3b\x6a\xd7\x92\x9f\x8f\xf8\xc1\xee\x76\x76\x89\xd2\xc5\x3b\x20\xcb\x4e\x8f\xed\x58\x39\xfd\x8d\x38\xab\x0c\x03\xee\x9a\x9f\x4e\xd1\x24\x6b\xa2\xc7\xe2\x00\x63\x62\xe8\xa5\x0d\x0a\xec\xd2\xc3\xe7\xab\xac\x4c\xf6\x1b\x00\xdb\xa3\x4d\x52\xeb\xbf\xca\x21\xc6\x1c\xc7\xe7\x9f\x00\x00\x00\xff\xff\xc5\xe3\x56\xdb\xe4\x00\x00\x00"), }, - "/charts/control-plane/kube-apiserver/templates/kube-apiserver-ds.yaml": &vfsgen۰CompressedFileInfo{ - name: "kube-apiserver-ds.yaml", - modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), - uncompressedSize: 844, - - compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x53\x4d\x6f\xd3\x40\x10\xbd\xfb\x57\x8c\x0c\x52\xdb\x83\xd7\x0a\x12\x08\xed\x0d\xc4\x91\x03\xa2\xb4\xf7\xc9\x7a\x1a\xaf\xbc\x5f\xda\x99\x0d\x58\xa1\xff\x1d\xad\xe3\x84\x44\x55\x3b\x27\x6b\xe6\xbd\x37\xcf\xcf\xe3\xc3\xa1\x03\xfb\x04\x3b\x81\x5b\x1b\x04\xd4\x23\xba\x42\xac\x30\x59\xa6\xbc\xa7\xac\x32\x25\x67\x0d\xf2\x1d\x6c\xe0\xf9\xb9\xc1\x64\x1f\x29\xb3\x8d\x41\x03\xa6\xc4\xfd\x7e\xd3\x4c\x36\x0c\x1a\xbe\x21\xf9\x18\xee\x49\x1a\x4f\x82\x03\x0a\xea\x06\x20\xa0\x27\x0d\x53\xd9\x52\x77\xd6\x5c\xdb\x9c\xd0\x9c\x66\x3c\xb3\x90\x6f\x00\x1c\x6e\xc9\x71\x65\x02\x88\xa5\xac\xc1\xc4\x20\x39\xba\x2e\x39\x0c\xb4\xf4\xa7\xcf\xdc\x61\x4a\x2f\x64\x39\x91\xa9\x4c\x26\x47\x46\x62\x3e\xaa\x78\x14\x33\x7e\xbf\x90\x7d\x5d\xf8\x75\x69\x80\x92\x06\x14\xba\x97\x8c\x42\xbb\x79\x35\x38\x27\xd2\xf0\x33\x3a\x67\xc3\xee\x61\x01\x2c\xfd\x7c\xd9\x39\x2d\xf5\xf8\xe7\x21\xe0\x1e\xad\xc3\xad\x23\x0d\x9b\x06\x40\xc8\x27\x77\xc6\x5c\xe6\x56\xcb\x5d\x99\x7e\xcb\xf6\x5b\xc6\x6b\x61\x08\x51\x50\x6c\x0c\x17\x72\x66\x24\x33\xa5\x68\x83\x50\x56\xe8\xd2\x88\xca\xc4\x4c\x91\x95\x89\xbe\xff\x3f\xd5\xd0\x4a\x2e\xd4\x9e\x89\x4c\xc6\x44\x9f\x14\x93\x29\xd9\xca\xbc\x92\xeb\xe6\x1c\x48\x88\x95\x8d\x7d\x8a\x83\x86\x9b\x21\x9a\x89\x72\x3f\xd0\x13\x16\x27\x37\x67\x89\x77\xf0\xa5\x48\xf4\x28\xd6\xa0\x73\xf3\x92\x18\xaf\x19\xc3\xef\x91\x42\x5d\x92\x49\xc0\x8c\x18\x76\xc4\xea\xda\x35\x17\xdf\x1f\x01\x1a\x0e\x07\xb0\xc1\xb8\x32\x10\xdc\xa6\x5c\x8f\xf8\xbd\xfa\xb5\xe6\xaa\xbe\x22\xd3\x0f\x94\x11\xda\xfe\x3a\x98\xee\x48\x57\x33\x7a\xd7\xde\x81\x82\xbf\xc0\x23\x7e\xf8\xf8\x89\x8b\xaf\x77\xbe\xbc\xe7\x72\x4f\xf5\x0f\x39\x7d\x27\x68\x6b\xfa\x68\x03\x65\x6e\x41\x55\x60\x1d\x53\x18\xea\xe3\xbf\x00\x00\x00\xff\xff\xbb\xcc\x14\x60\x4c\x03\x00\x00"), + "/charts/control-plane/kube-apiserver/templates/kube-apiserver-ds.yaml": &vfsgen۰FileInfo{ + name: "kube-apiserver-ds.yaml", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + content: []byte("\x7b\x7b\x2d\x20\x69\x66\x20\x67\x74\x20\x28\x69\x6e\x74\x20\x2e\x56\x61\x6c\x75\x65\x73\x2e\x61\x70\x69\x73\x65\x72\x76\x65\x72\x2e\x72\x65\x70\x6c\x69\x63\x61\x73\x29\x20\x31\x20\x7d\x7d\x0a\x23\x20\x49\x20\x41\x4d\x20\x44\x45\x41\x44\x0a\x7b\x7b\x2d\x20\x65\x6e\x64\x20\x7d\x7d\x0a"), }, "/charts/control-plane/kube-apiserver/templates/kube-apiserver-role-binding.yaml": &vfsgen۰CompressedFileInfo{ name: "kube-apiserver-role-binding.yaml", @@ -5089,9 +5087,9 @@ var vfsgenAssets = func() http.FileSystem { "/charts/control-plane/kube-apiserver/templates/kube-apiserver.yaml": &vfsgen۰CompressedFileInfo{ name: "kube-apiserver.yaml", modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), - uncompressedSize: 853, + uncompressedSize: 1455, - compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x53\x4b\x6f\x13\x41\x0c\xbe\xef\xaf\xb0\x16\xa4\xb6\x87\xcc\x12\x24\x10\x9a\x1b\x88\x23\x07\x84\x68\xef\xce\xac\x9b\x1d\xc5\xf3\x60\xec\x09\xac\x42\xff\x3b\x9a\xbc\x48\x54\xb5\x3e\xad\x6c\x7f\x8f\xfd\xd6\xbb\xdb\x2d\xc0\x3f\x02\xfd\x82\x5b\x1f\x15\xcc\x03\x72\x25\x31\x98\xbd\x50\xd9\x52\x31\x85\x32\x7b\x87\x72\x07\x4b\x78\x7a\xea\x30\xfb\x07\x2a\xe2\x53\xb4\x80\x39\xcb\xb0\x5d\x76\x1b\x1f\x47\x0b\x5f\x29\x73\x9a\x03\x45\xed\x02\x29\x8e\xa8\x68\x3b\x80\x88\x81\x2c\x6c\xea\x8a\x16\x67\xd2\x63\x5b\x32\xba\xd3\x4c\x66\x51\x0a\x1d\x00\xe3\x8a\x58\x1a\x12\x40\x3d\x15\x0b\x2e\x45\x2d\x89\x17\x99\x31\xd2\xbe\xbf\xf9\x24\x0b\xcc\xf9\x19\xad\x64\x72\x0d\x79\xf2\x6c\x61\xd9\x01\x08\x31\x39\x4d\xe5\xc0\x19\x50\xdd\xf4\xed\x42\xe4\x65\x99\x97\x85\x00\x44\x0b\x2a\xad\xe7\xa3\xd1\x39\x93\x85\x1f\x89\xd9\xc7\xf5\x7d\x1e\x51\x0f\x0c\xe5\xb2\x73\x92\x0b\xf8\xe7\x3e\xe2\x16\x3d\xe3\x8a\xc9\xc2\xbb\x0e\x40\x29\x64\x3e\xef\x5c\xe6\xd7\x8a\xaf\xec\xbe\x66\xf8\x35\xcb\xad\x30\xc6\xa4\xa8\x3e\xc5\x0b\x3a\x37\x91\xdb\xe4\xe4\xa3\x52\x31\xc8\x79\x42\xe3\x52\xa1\x24\xc6\xa5\x30\xfc\x9f\x5a\xe8\xb5\x54\xea\xcf\x40\x21\xe7\x52\xc8\x46\xc8\xd5\xe2\x75\x3e\x82\x9b\x72\x89\xa4\x24\xc6\xa7\x21\xa7\xd1\xc2\xcd\x98\xdc\x86\xca\x30\xd2\x23\x56\xd6\x9b\x33\xc5\x1b\xf8\x5c\x35\x05\x54\xef\x90\x79\xde\x27\x26\x50\xf7\x81\xc1\xef\x89\x62\x13\x29\xa4\xe0\x26\x8c\x6b\x12\x73\xed\x5a\x6a\x18\x0e\x0b\x16\x76\x3b\xf0\xd1\x71\x1d\x09\x6e\x73\x69\xd7\xfc\xd6\xfc\x3c\xe6\x6a\xbe\xa0\xd0\x77\xd4\x09\xfa\xe1\x3a\x98\xc5\x01\x6e\x66\x0c\xdc\xdf\x81\x81\xbf\x20\x13\xbe\xff\xf0\x51\x6a\x68\x07\xbf\x7f\xcf\xfd\x5d\xb5\x5f\xe5\xf4\x9d\xa0\x6f\xe9\xa3\x8f\x54\xa4\x07\xd3\x16\xdb\x98\xe2\xd8\x1e\xff\x05\x00\x00\xff\xff\x38\x95\x93\x41\x55\x03\x00\x00"), + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x54\xcf\x4f\x1b\x4b\x0c\xbe\xe7\xaf\xb0\xf2\x9e\x04\x1c\x32\x79\x3c\xa9\x55\xb5\x37\x2a\x38\xa0\xf6\x50\x41\xe1\x6e\x66\x9d\xec\x28\xf3\x8b\xb1\x27\x65\x15\xf8\xdf\xab\xd9\xcd\x86\x5d\x11\x50\x2f\xf5\x29\xb2\xfd\xd9\x5f\xbe\xf9\xbc\x18\xcd\x3d\x25\x36\xc1\x57\x80\x31\xf2\x72\x7b\x3e\xdb\x18\x5f\x57\x70\x49\xd1\x86\xd6\x91\x97\x99\x23\xc1\x1a\x05\xab\x19\x80\x47\x47\x15\x6c\xf2\x03\x2d\x30\x1a\xa6\xb4\xa5\xb4\x4f\x73\x44\x3d\xd4\xb8\x65\x21\x37\x03\xb0\xf8\x40\x96\x0b\x12\x40\x0c\xa5\x0a\x74\xf0\x92\x82\x5d\x44\x8b\x9e\xba\xfc\xe6\x0b\x2f\x30\xc6\x37\x63\x39\x92\x2e\xc8\x44\xd1\x1a\x8d\x5c\xc1\x6e\x07\xea\x1e\x6d\x26\x56\x87\x36\x35\x94\xe1\xe5\x65\x06\xc0\x64\x49\x4b\x48\xfd\x4a\x87\xa2\x9b\xef\x23\x0e\xef\xb3\x78\x9f\x07\x00\x4b\x42\xa1\x75\xbb\xff\x1f\x6d\xa4\x0a\x6e\x82\xb5\xc6\xaf\xef\x62\x8d\xd2\x4f\x48\xe3\xcc\xb0\xce\xe1\xd3\x9d\xc7\x2d\x1a\x8b\x0f\x96\x2a\xf8\x6f\x06\x20\xe4\xa2\x3d\xf4\x8c\xe5\x2d\x61\x27\x74\x3f\x22\xfc\x11\xe5\x3e\x1a\xb2\x6e\x91\x68\x6b\xfa\x27\x2e\xfa\xdd\x90\x25\x64\x52\x37\xfb\x2c\x3c\xc3\x63\x0e\x42\xbd\x7c\x25\xd0\xfb\x20\x28\x26\xf8\x11\x0b\xdd\x90\xde\xc4\x60\xbc\x50\x52\x68\x63\x83\x4a\x87\x44\x81\x95\x0e\x6e\xf9\x5a\xad\x60\x2e\x29\xd3\xfc\x00\x64\xd2\x3a\xb8\xa8\x98\x74\x4e\x46\xda\x3d\xb8\x10\x4e\x9e\x84\x58\x99\xb0\x8c\xa1\xae\xe0\xa4\x0e\x7a\x43\x69\x59\xd3\x0a\xb3\x95\x93\xc3\x88\x7f\xe0\x22\x4b\x70\x28\x46\xa3\xb5\x6d\x27\x34\x43\xee\x74\x86\x5f\x0d\xf9\xb2\x24\x91\x80\x6e\xd0\xaf\x89\xd5\x94\x35\x67\xb7\xec\x1b\x3a\x05\x8c\xd7\x36\xd7\x04\xa7\x31\x19\x2f\xf0\xaf\xfa\xb9\x7f\x0e\xf5\x15\x99\x7e\xa0\x34\x30\x5f\x4e\xf5\x5c\xf4\x70\xd5\xa2\xb3\xf3\x33\x50\xf0\x0c\xdc\xe0\xff\x9f\x3e\x73\x76\x83\x6e\x83\x5b\x4b\xec\x76\x0b\x30\x2b\xf0\x04\xa7\x65\xc5\xfb\x9e\x3d\x83\xf3\x91\xee\xab\x95\xf1\x46\xda\x57\xd1\x63\xa8\x2f\xbc\x98\x8b\x37\x85\x72\x14\x8f\xd9\x24\xaa\x2f\x73\x32\x7e\x7d\xab\x1b\xaa\x73\x71\xdf\xf5\xda\x87\x43\xfa\xea\x89\x74\x2e\x0f\x39\x46\x02\x2c\x7a\x8f\xdd\x4e\x4e\x65\x1c\xdd\xd9\x5c\x3d\xc5\x44\xcc\x53\x1b\x8c\x87\x6c\xa8\xad\x06\x07\x1e\x69\x00\x08\x91\x12\x96\x05\x70\xed\x8f\x36\x6c\x3b\x5d\x8e\x4d\xdf\x6f\x38\xee\xea\x37\x24\x26\x36\xff\x3b\x54\xfe\xec\x74\x86\x90\x10\x83\x0d\xeb\xf6\x5b\x27\xd1\xc4\xea\x4d\x60\x29\x9f\xcb\x03\xa2\x98\x85\x7c\x5d\x86\x94\x9f\xc3\xc7\x01\xe6\xe5\xe4\xd1\x78\x4a\x3c\x07\x55\xca\xb3\xdf\x01\x00\x00\xff\xff\x70\x73\x56\xf4\xaf\x05\x00\x00"), }, "/charts/control-plane/kube-apiserver/values.yaml": &vfsgen۰CompressedFileInfo{ name: "values.yaml",