diff --git a/.gitignore b/.gitignore index f999d334..506e644d 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,7 @@ ENV/ # vscode ide .vscode +.devcontainer/ # Unit test / coverage reports htmlcov/ diff --git a/charts/apiserver-webhook/values.yaml b/charts/apiserver-webhook/values.yaml index 2e0fe3c1..5f345829 100644 --- a/charts/apiserver-webhook/values.yaml +++ b/charts/apiserver-webhook/values.yaml @@ -17,7 +17,7 @@ release_uuid: null images: tags: - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 kubernetes_keystone_webhook: docker.io/k8scloudprovider/k8s-keystone-auth:latest scripted_test: docker.io/openstackhelm/heat:newton dep_check: quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal diff --git a/charts/apiserver/values.yaml b/charts/apiserver/values.yaml index 9a00fc95..8b5d3cc9 100644 --- a/charts/apiserver/values.yaml +++ b/charts/apiserver/values.yaml @@ -59,7 +59,7 @@ images: tags: dep_check: quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 key_rotate: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal pull_policy: "IfNotPresent" local_registry: diff --git a/charts/controller_manager/values.yaml b/charts/controller_manager/values.yaml index 5d870e9b..7cbf4fb8 100644 --- a/charts/controller_manager/values.yaml +++ b/charts/controller_manager/values.yaml @@ -17,7 +17,7 @@ release_group: null images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 pull_policy: "IfNotPresent" labels: diff --git a/charts/proxy/values.yaml b/charts/proxy/values.yaml index bf41e795..88821697 100644 --- a/charts/proxy/values.yaml +++ b/charts/proxy/values.yaml @@ -68,7 +68,7 @@ pod: images: tags: - proxy: registry.k8s.io/kube-proxy-amd64:v1.29.4 + proxy: registry.k8s.io/kube-proxy-amd64:v1.32.1 pull_policy: "IfNotPresent" proxy: diff --git a/charts/scheduler/values.yaml b/charts/scheduler/values.yaml index 72160f44..a2c06a3e 100644 --- a/charts/scheduler/values.yaml +++ b/charts/scheduler/values.yaml @@ -81,7 +81,7 @@ secrets: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 pull_policy: "IfNotPresent" network: diff --git a/doc/source/configuration/genesis.rst b/doc/source/configuration/genesis.rst index 286c8874..35b87b82 100644 --- a/doc/source/configuration/genesis.rst +++ b/doc/source/configuration/genesis.rst @@ -43,11 +43,11 @@ Here is a complete sample document: armada: quay.io/airshipit/armada:latest armada-operator: quay.io/airshipit/armada-operator:latest kubernetes: - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 - controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 + controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 etcd: quay.io/coreos/etcd:v3.5.12 etcdctl: quay.io/airshipit/porthole-etcdctl-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 files: - path: /var/lib/anchor/calico-etcd-bootstrap content: "" diff --git a/doc/source/configuration/host-system.rst b/doc/source/configuration/host-system.rst index 827fde3a..0692b397 100644 --- a/doc/source/configuration/host-system.rst +++ b/doc/source/configuration/host-system.rst @@ -16,7 +16,7 @@ Sample Document to run containers in Docker runtime data: files: - path: /opt/kubernetes/bin/kubelet - tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubelet mode: 0555 images: @@ -115,7 +115,7 @@ Sample Document to run containers in Containerd runtime data: files: - path: /opt/kubernetes/bin/kubelet - tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubelet mode: 0555 images: diff --git a/examples/basic/Genesis.yaml b/examples/basic/Genesis.yaml index e0ddc6e0..68ade227 100644 --- a/examples/basic/Genesis.yaml +++ b/examples/basic/Genesis.yaml @@ -27,10 +27,72 @@ data: - --admission-control-config-file=/etc/kubernetes/apiserver/acconfig.yaml - --encryption-provider-config=/etc/kubernetes/apiserver/encryption_provider.yaml - --v=3 + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + controller-manager: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + scheduler: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" armada: target_manifest: cluster-bootstrap + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + manager: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + monitor: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" etcd: auxiliary_threshold: 3 + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + monitor: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + labels: dynamic: - calico-etcd=enabled @@ -43,15 +105,22 @@ data: - ucp-control-plane=enabled haproxy: run_as_user: 65534 + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" images: armada: quay.io/airshipit/armada:latest-ubuntu_focal armada-operator: quay.io/airshipit/armada-operator:latest kubernetes: - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 - controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 + controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 etcd: quay.io/coreos/etcd:v3.5.12 etcdctl: quay.io/airshipit/porthole-etcdctl-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 files: - path: /var/lib/anchor/calico-etcd-bootstrap content: "# placeholder for triggering calico etcd bootstrapping" diff --git a/examples/basic/HostSystem.yaml b/examples/basic/HostSystem.yaml index e488cc09..291e61f4 100644 --- a/examples/basic/HostSystem.yaml +++ b/examples/basic/HostSystem.yaml @@ -13,11 +13,11 @@ data: enable: true files: - path: /opt/kubernetes/bin/kubelet - tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubelet mode: 0555 - path: /usr/local/bin/kubectl - tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubectl mode: 0555 - path: /etc/systemd/system/kube-cgroup.service diff --git a/examples/basic/armada-resources.yaml b/examples/basic/armada-resources.yaml index 75d96ef3..dacb7810 100644 --- a/examples/basic/armada-resources.yaml +++ b/examples/basic/armada-resources.yaml @@ -159,7 +159,7 @@ data: values: images: tags: - proxy: registry.k8s.io/kube-proxy-amd64:v1.29.4 + proxy: registry.k8s.io/kube-proxy-amd64:v1.32.1 network: kubernetes_netloc: 127.0.0.1:6553 source: @@ -735,7 +735,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 network: kubernetes_service_ip: 10.96.0.1 pod_cidr: 10.97.0.0/16 @@ -801,7 +801,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 secrets: service_account: private_key: placeholder @@ -875,7 +875,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 source: type: local diff --git a/examples/complete/Genesis.yaml b/examples/complete/Genesis.yaml index 7a90f6da..b0ffc4a3 100644 --- a/examples/complete/Genesis.yaml +++ b/examples/complete/Genesis.yaml @@ -11,10 +11,72 @@ data: hostname: n0 ip: 192.168.77.10 external_ip: 192.168.77.10 + apiserver: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + controller-manager: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + scheduler: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" armada: target_manifest: cluster-bootstrap + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + manager: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + monitor: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" etcd: auxiliary_threshold: 3 + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + monitor: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" labels: dynamic: - calico-etcd=enabled @@ -36,11 +98,11 @@ data: armada: quay.io/airshipit/armada:latest-ubuntu_focal armada-operator: quay.io/airshipit/armada-operator:latest kubernetes: - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 - controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 + controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 etcd: quay.io/coreos/etcd:v3.5.12 etcdctl: quay.io/airshipit/porthole-etcdctl-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 files: - path: /var/lib/anchor/calico-etcd-bootstrap content: "# placeholder for triggering calico etcd bootstrapping" diff --git a/examples/complete/HostSystem.yaml b/examples/complete/HostSystem.yaml index 71046802..233e8bd1 100644 --- a/examples/complete/HostSystem.yaml +++ b/examples/complete/HostSystem.yaml @@ -13,11 +13,11 @@ data: enable: true files: - path: /opt/kubernetes/bin/kubelet - tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubelet mode: 0555 - path: /usr/local/bin/kubectl - tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubectl mode: 0555 - path: /etc/systemd/system/kube-cgroup.service diff --git a/examples/complete/armada-resources.yaml b/examples/complete/armada-resources.yaml index de7c0fd5..8ba4b6ca 100644 --- a/examples/complete/armada-resources.yaml +++ b/examples/complete/armada-resources.yaml @@ -200,7 +200,7 @@ data: values: images: tags: - proxy: registry.k8s.io/kube-proxy-amd64:v1.29.4 + proxy: registry.k8s.io/kube-proxy-amd64:v1.32.1 network: kubernetes_netloc: 127.0.0.1:6553 source: @@ -736,7 +736,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 secrets: service_account: public_key: placeholder @@ -813,7 +813,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 secrets: service_account: private_key: placeholder @@ -886,7 +886,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 source: type: local diff --git a/examples/containerd/Genesis.yaml b/examples/containerd/Genesis.yaml index 848241e9..817fbc14 100644 --- a/examples/containerd/Genesis.yaml +++ b/examples/containerd/Genesis.yaml @@ -27,10 +27,71 @@ data: - --admission-control-config-file=/etc/kubernetes/apiserver/acconfig.yaml - --encryption-provider-config=/etc/kubernetes/apiserver/encryption_provider.yaml - --v=3 + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + controller-manager: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + scheduler: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" armada: target_manifest: cluster-bootstrap + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + manager: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + monitor: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" etcd: auxiliary_threshold: 3 + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + monitor: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" labels: dynamic: - calico-etcd=enabled @@ -47,11 +108,11 @@ data: armada: quay.io/airshipit/armada:latest-ubuntu_focal armada-operator: quay.io/airshipit/armada-operator:latest kubernetes: - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 - controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 + controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 etcd: quay.io/coreos/etcd:v3.5.12 etcdctl: quay.io/airshipit/porthole-etcdctl-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 files: - path: /var/lib/anchor/calico-etcd-bootstrap content: "# placeholder for triggering calico etcd bootstrapping" diff --git a/examples/containerd/HostSystem.yaml b/examples/containerd/HostSystem.yaml index d71571f0..15cdca1c 100644 --- a/examples/containerd/HostSystem.yaml +++ b/examples/containerd/HostSystem.yaml @@ -13,11 +13,11 @@ data: enable: true files: - path: /opt/kubernetes/bin/kubelet - tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubelet mode: 0555 - path: /usr/local/bin/kubectl - tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubectl mode: 0555 - path: /etc/systemd/system/kube-cgroup.service diff --git a/examples/containerd/armada-resources.yaml b/examples/containerd/armada-resources.yaml index ed36ff81..4c309a92 100644 --- a/examples/containerd/armada-resources.yaml +++ b/examples/containerd/armada-resources.yaml @@ -159,7 +159,7 @@ data: values: images: tags: - proxy: registry.k8s.io/kube-proxy-amd64:v1.29.4 + proxy: registry.k8s.io/kube-proxy-amd64:v1.32.1 network: kubernetes_netloc: 127.0.0.1:6553 source: @@ -623,7 +623,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 network: kubernetes_service_ip: 10.96.0.1 pod_cidr: 10.97.0.0/16 @@ -689,7 +689,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 secrets: service_account: private_key: placeholder @@ -763,7 +763,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 source: type: local diff --git a/examples/gate/Genesis.yaml b/examples/gate/Genesis.yaml index 848241e9..817fbc14 100644 --- a/examples/gate/Genesis.yaml +++ b/examples/gate/Genesis.yaml @@ -27,10 +27,71 @@ data: - --admission-control-config-file=/etc/kubernetes/apiserver/acconfig.yaml - --encryption-provider-config=/etc/kubernetes/apiserver/encryption_provider.yaml - --v=3 + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + controller-manager: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + scheduler: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" armada: target_manifest: cluster-bootstrap + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + manager: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + monitor: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" etcd: auxiliary_threshold: 3 + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + monitor: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" labels: dynamic: - calico-etcd=enabled @@ -47,11 +108,11 @@ data: armada: quay.io/airshipit/armada:latest-ubuntu_focal armada-operator: quay.io/airshipit/armada-operator:latest kubernetes: - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 - controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 + controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 etcd: quay.io/coreos/etcd:v3.5.12 etcdctl: quay.io/airshipit/porthole-etcdctl-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 files: - path: /var/lib/anchor/calico-etcd-bootstrap content: "# placeholder for triggering calico etcd bootstrapping" diff --git a/examples/gate/HostSystem.yaml b/examples/gate/HostSystem.yaml index 5d68bc35..5dc38d80 100644 --- a/examples/gate/HostSystem.yaml +++ b/examples/gate/HostSystem.yaml @@ -13,11 +13,11 @@ data: enable: true files: - path: /opt/kubernetes/bin/kubelet - tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubelet mode: 0555 - path: /usr/local/bin/kubectl - tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubectl mode: 0555 - path: /etc/systemd/system/kube-cgroup.service diff --git a/examples/gate/armada-resources.yaml b/examples/gate/armada-resources.yaml index 6ac1c1e8..db562b3c 100644 --- a/examples/gate/armada-resources.yaml +++ b/examples/gate/armada-resources.yaml @@ -159,7 +159,7 @@ data: values: images: tags: - proxy: registry.k8s.io/kube-proxy-amd64:v1.29.4 + proxy: registry.k8s.io/kube-proxy-amd64:v1.32.1 network: kubernetes_netloc: 127.0.0.1:6553 source: @@ -629,7 +629,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 network: kubernetes_service_ip: 10.96.0.1 pod_cidr: 10.97.0.0/16 @@ -695,7 +695,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 secrets: service_account: private_key: placeholder @@ -769,7 +769,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 source: type: local diff --git a/promenade/schemas/Genesis.yaml b/promenade/schemas/Genesis.yaml index b04e7737..cad49fc7 100644 --- a/promenade/schemas/Genesis.yaml +++ b/promenade/schemas/Genesis.yaml @@ -65,6 +65,18 @@ data: armada: type: object properties: + resources: + type: object + manager: + type: object + properties: + resources: + type: object + monitor: + type: object + properties: + resources: + type: object target_manifest: type: string metrics: @@ -80,6 +92,8 @@ data: apiserver: type: object properties: + resources: + type: object command_prefix: type: array items: @@ -104,6 +118,18 @@ data: additionalProperties: true additionalProperties: false + controller-manager: + type: object + properties: + resources: + type: object + + scheduler: + type: object + properties: + resources: + type: object + etcd: type: object properties: @@ -123,6 +149,11 @@ data: type: integer resources: type: object + monitor: + type: object + properties: + resources: + type: object additionalProperties: false files: diff --git a/promenade/templates/roles/common/etc/kubernetes/manifests/haproxy.yaml b/promenade/templates/roles/common/etc/kubernetes/manifests/haproxy.yaml index a113893c..9eac2ee9 100644 --- a/promenade/templates/roles/common/etc/kubernetes/manifests/haproxy.yaml +++ b/promenade/templates/roles/common/etc/kubernetes/manifests/haproxy.yaml @@ -32,6 +32,10 @@ spec: - name: etc mountPath: /usr/local/etc/haproxy readOnly: true +{%- if config['Genesis:haproxy.resources'] is defined %} + resources: +{{ config.get_path('Genesis:haproxy.resources', {}) | toyaml | trim | indent(8, true) }} +{%- endif %} volumes: - name: etc hostPath: diff --git a/promenade/templates/roles/genesis/etc/kubernetes/manifests/auxiliary-kubernetes-etcd.yaml b/promenade/templates/roles/genesis/etc/kubernetes/manifests/auxiliary-kubernetes-etcd.yaml index 8061d480..a55cbc4b 100644 --- a/promenade/templates/roles/genesis/etc/kubernetes/manifests/auxiliary-kubernetes-etcd.yaml +++ b/promenade/templates/roles/genesis/etc/kubernetes/manifests/auxiliary-kubernetes-etcd.yaml @@ -127,6 +127,10 @@ spec: value: /etc/etcd/pki/etcd-client.pem - name: ETCDCTL_KEY value: /etc/etcd/pki/etcd-client-key.pem +{%- if config['Genesis:etcd.monitor.resources'] is defined %} + resources: +{{ config.get_path('Genesis:etcd.monitor.resources', {}) | toyaml | trim | indent(8, true) }} +{%- endif %} volumeMounts: - name: all-etcd-data mountPath: /var/lib/etcd diff --git a/promenade/templates/roles/genesis/etc/kubernetes/manifests/bootstrap-armada.yaml b/promenade/templates/roles/genesis/etc/kubernetes/manifests/bootstrap-armada.yaml index c66f774c..b5b77127 100644 --- a/promenade/templates/roles/genesis/etc/kubernetes/manifests/bootstrap-armada.yaml +++ b/promenade/templates/roles/genesis/etc/kubernetes/manifests/bootstrap-armada.yaml @@ -62,6 +62,10 @@ spec: - name: no_proxy value: {{ config.get(kind='KubernetesNetwork') | fill_no_proxy }} {%- endif %} +{%- if config['Genesis:armada.resources'] is defined %} + resources: +{{ config.get_path('Genesis:armada.resources', {}) | toyaml | trim | indent(8, true) }} +{%- endif %} volumeMounts: - name: assets mountPath: /etc/genesis/armada/assets @@ -111,6 +115,10 @@ spec: periodSeconds: 10 securityContext: runAsUser: 0 +{%- if config['Genesis:armada.manager.resources'] is defined %} + resources: +{{ config.get_path('Genesis:armada.manager.resources', {}) | toyaml | trim | indent(8, true) }} +{%- endif %} volumeMounts: - name: auth mountPath: /root/.kube @@ -131,6 +139,10 @@ spec: rm -f /etc/kubernetes/manifests/bootstrap-armada.yaml sleep 10000 +{%- if config['Genesis:armada.monitor.resources'] is defined %} + resources: +{{ config.get_path('Genesis:armada.monitor.resources', {}) | toyaml | trim | indent(8, true) }} +{%- endif %} volumeMounts: - name: ipc mountPath: /ipc diff --git a/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-apiserver.yaml b/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-apiserver.yaml index 72923dd4..610bc43d 100644 --- a/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-apiserver.yaml +++ b/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-apiserver.yaml @@ -21,6 +21,10 @@ spec: {% include "genesis-apiserver.yaml" with context %} - --etcd-servers=https://localhost:2379 - --secure-port=6443 +{%- if config['Genesis:apiserver.resources'] is defined %} + resources: +{{ config.get_path('Genesis:apiserver.resources', {}) | toyaml | trim | indent(8, true) }} +{%- endif %} volumeMounts: - name: config mountPath: /etc/kubernetes/apiserver diff --git a/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-controller-manager.yaml b/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-controller-manager.yaml index 8fbe6465..2f83c2f7 100644 --- a/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-controller-manager.yaml +++ b/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-controller-manager.yaml @@ -29,6 +29,10 @@ spec: - --service-cluster-ip-range={{ config['KubernetesNetwork:kubernetes.service_cidr'] }} - --use-service-account-credentials=true - --v=5 +{%- if config['Genesis:controller-manager.resources'] is defined %} + resources: +{{ config.get_path('Genesis:controller-manager.resources', {}) | toyaml | trim | indent(8, true) }} +{%- endif %} volumeMounts: - name: config mountPath: /etc/kubernetes/controller-manager diff --git a/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-scheduler.yaml b/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-scheduler.yaml index 8721557e..2848c8d3 100644 --- a/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-scheduler.yaml +++ b/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-scheduler.yaml @@ -26,6 +26,10 @@ spec: volumeMounts: - name: config mountPath: /etc/kubernetes/scheduler +{%- if config['Genesis:scheduler.resources'] is defined %} + resources: +{{ config.get_path('Genesis:scheduler.resources', {}) | toyaml | trim | indent(8, true) }} +{%- endif %} volumes: - name: config hostPath: diff --git a/tests/unit/api/test_validatedesign.py b/tests/unit/api/test_validatedesign.py index 8d16bb52..5fbd4ac2 100644 --- a/tests/unit/api/test_validatedesign.py +++ b/tests/unit/api/test_validatedesign.py @@ -104,11 +104,11 @@ VALID_DOCS = [ 'armada-operator': 'quay.io/airshipit/armada-operator:latest', 'kubernetes': { 'apiserver': - 'registry.k8s.io/kube-apiserver-amd64:v1.29.4', + 'registry.k8s.io/kube-apiserver-amd64:v1.32.1', 'controller-manager': - 'registry.k8s.io/kube-controller-manager-amd64:v1.29.4', + 'registry.k8s.io/kube-controller-manager-amd64:v1.32.1', 'etcd': 'quay.io/coreos/etcd:v3.5.12', - 'scheduler': 'registry.k8s.io/kube-scheduler-amd64:v1.29.4' + 'scheduler': 'registry.k8s.io/kube-scheduler-amd64:v1.32.1' } }, 'ip': @@ -143,7 +143,7 @@ VALID_DOCS = [ 'tar_path': 'kubernetes/node/bin/kubelet', 'tar_url': - 'https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz' + 'https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz' }, { 'content': '/var/lib/docker/containers/*/*-json.log\n{\n compress\n copytruncate\n create 0644 root root\n daily\n dateext\n dateformat -%Y%m%d-%s\n maxsize 10M\n missingok\n notifempty\n su root root\n rotate 1\n}', diff --git a/tests/unit/builder_data/simple/Genesis.yaml b/tests/unit/builder_data/simple/Genesis.yaml index b053dde7..007f12f4 100644 --- a/tests/unit/builder_data/simple/Genesis.yaml +++ b/tests/unit/builder_data/simple/Genesis.yaml @@ -17,8 +17,71 @@ data: - --enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,ResourceQuota,DefaultTolerationSeconds - --service-cluster-ip-range=10.96.0.0/16 - --endpoint-reconciler-type=lease + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + controller-manager: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + scheduler: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" armada: target_manifest: cluster-bootstrap + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + manager: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + monitor: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + etcd: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + monitor: + resources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "8" + memory: "8Gi" + target_manifest: cluster-bootstrap labels: dynamic: - calico-etcd=enabled @@ -33,11 +96,11 @@ data: armada: quay.io/airshipit/armada:latest-ubuntu_focal armada-operator: quay.io/airshipit/armada-operator:latest kubernetes: - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 - controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 + controller-manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 etcd: quay.io/coreos/etcd:v3.5.12 etcdctl: quay.io/airshipit/porthole-etcdctl-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 files: - path: /var/lib/anchor/calico-etcd-bootstrap content: "# placeholder for triggering calico etcd bootstrapping" diff --git a/tests/unit/builder_data/simple/HostSystem.yaml b/tests/unit/builder_data/simple/HostSystem.yaml index 75df04d5..c50a7b8b 100644 --- a/tests/unit/builder_data/simple/HostSystem.yaml +++ b/tests/unit/builder_data/simple/HostSystem.yaml @@ -14,7 +14,7 @@ data: # attempt to actually run Kubernetes, only to construct the genesis and # join scripts. # - path: /opt/kubernetes/bin/kubelet - # tar_url: https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz + # tar_url: https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz # tar_path: kubernetes/node/bin/kubelet # mode: 0555 - path: /etc/logrotate.d/json-logrotate diff --git a/tests/unit/builder_data/simple/armada-resources.yaml b/tests/unit/builder_data/simple/armada-resources.yaml index a419101f..df6b5131 100644 --- a/tests/unit/builder_data/simple/armada-resources.yaml +++ b/tests/unit/builder_data/simple/armada-resources.yaml @@ -160,7 +160,7 @@ data: values: images: tags: - proxy: registry.k8s.io/kube-proxy-amd64:v1.29.4 + proxy: registry.k8s.io/kube-proxy-amd64:v1.32.1 network: kubernetes_netloc: 127.0.0.1:6553 source: @@ -635,7 +635,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - apiserver: registry.k8s.io/kube-apiserver-amd64:v1.29.4 + apiserver: registry.k8s.io/kube-apiserver-amd64:v1.32.1 secrets: service_account: public_key: placeholder @@ -712,7 +712,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.29.4 + controller_manager: registry.k8s.io/kube-controller-manager-amd64:v1.32.1 secrets: service_account: private_key: placeholder @@ -785,7 +785,7 @@ data: images: tags: anchor: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal - scheduler: registry.k8s.io/kube-scheduler-amd64:v1.29.4 + scheduler: registry.k8s.io/kube-scheduler-amd64:v1.32.1 source: type: local diff --git a/tools/gate/default-config-env b/tools/gate/default-config-env index a378dd40..1ff5be7f 100644 --- a/tools/gate/default-config-env +++ b/tools/gate/default-config-env @@ -10,9 +10,9 @@ IMAGE_ETCD=quay.io/coreos/etcd:v3.5.12 IMAGE_ETCDCTL=quay.io/airshipit/porthole-etcdctl-utility:latest-ubuntu_focal IMAGE_HAPROXY=haproxy:2.4 IMAGE_HELM=lachlanevenson/k8s-helm:v3.15.4 -IMAGE_APISERVER=registry.k8s.io/kube-apiserver-amd64:v1.29.4 -IMAGE_CONTROLLER_MANAGER=registry.k8s.io/kube-controller-manager-amd64:v1.29.4 -IMAGE_SCHEDULER=registry.k8s.io/kube-scheduler-amd64:v1.29.4 -IMAGE_PROXY=registry.k8s.io/kube-proxy-amd64:v1.29.4 +IMAGE_APISERVER=registry.k8s.io/kube-apiserver-amd64:v1.32.1 +IMAGE_CONTROLLER_MANAGER=registry.k8s.io/kube-controller-manager-amd64:v1.32.1 +IMAGE_SCHEDULER=registry.k8s.io/kube-scheduler-amd64:v1.32.1 +IMAGE_PROXY=registry.k8s.io/kube-proxy-amd64:v1.32.1 IMAGE_ANCHOR=quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal -KUBELET_URL=https://dl.k8s.io/v1.29.4/kubernetes-node-linux-amd64.tar.gz +KUBELET_URL=https://dl.k8s.io/v1.32.1/kubernetes-node-linux-amd64.tar.gz diff --git a/tools/registry/IMAGES b/tools/registry/IMAGES index 09f782d3..a73fa2cb 100644 --- a/tools/registry/IMAGES +++ b/tools/registry/IMAGES @@ -2,10 +2,10 @@ coredns/coredns,1.11.1,coredns quay.io/airshipit/porthole-compute-utility,latest-ubuntu_focal,kubectl quay.io/airshipit/porthole-etcdctl-utility,latest-ubuntu_focal -registry.k8s.io/kube-apiserver-amd64,v1.29.4,apiserver -registry.k8s.io/kube-controller-manager-amd64,v1.29.4,controller-manager -registry.k8s.io/kube-scheduler-amd64,v1.29.4,scheduler -registry.k8s.io/kube-proxy-amd64,v1.29.4,proxy +registry.k8s.io/kube-apiserver-amd64,v1.32.1,apiserver +registry.k8s.io/kube-controller-manager-amd64,v1.32.1,controller-manager +registry.k8s.io/kube-scheduler-amd64,v1.32.1,scheduler +registry.k8s.io/kube-proxy-amd64,v1.32.1,proxy lachlanevenson/k8s-helm,v3.15.4,helm quay.io/airshipit/armada,master,armada quay.io/airshipit/armada-operator,latest,armada-operator