diff --git a/manifests/ate-install/atenet-dns.yaml b/manifests/ate-install/atenet-dns.yaml index 77d71bf59..ad8dfb2c7 100644 --- a/manifests/ate-install/atenet-dns.yaml +++ b/manifests/ate-install/atenet-dns.yaml @@ -79,7 +79,11 @@ metadata: labels: app: dns spec: - replicas: 1 + replicas: 2 + strategy: + rollingUpdate: + maxUnavailable: 0 + maxSurge: 1 selector: matchLabels: app: dns @@ -89,6 +93,13 @@ spec: app: dns spec: serviceAccountName: atenet-dns + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app: dns shareProcessNamespace: true initContainers: - name: init-dns @@ -112,6 +123,10 @@ spec: containers: - name: coredns image: coredns/coredns:1.11.1 + lifecycle: + preStop: + sleep: + seconds: 5 imagePullPolicy: IfNotPresent args: [ "-conf", "/etc/coredns/Corefile" ] volumeMounts: @@ -175,4 +190,15 @@ spec: protocol: UDP - name: dns-tcp port: 53 - protocol: TCP \ No newline at end of file + protocol: TCP +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: dns + namespace: ate-system +spec: + maxUnavailable: 1 + selector: + matchLabels: + app: dns diff --git a/manifests/ate-install/atenet-router.yaml b/manifests/ate-install/atenet-router.yaml index e05e06efb..505a0eeee 100644 --- a/manifests/ate-install/atenet-router.yaml +++ b/manifests/ate-install/atenet-router.yaml @@ -144,7 +144,11 @@ metadata: labels: app: atenet-router spec: - replicas: 1 + replicas: 2 + strategy: + rollingUpdate: + maxUnavailable: 0 + maxSurge: 1 selector: matchLabels: app: atenet-router @@ -164,6 +168,13 @@ spec: # sum must fit within terminationGracePeriodSeconds, or the kubelet # SIGKILLs mid-drain. terminationGracePeriodSeconds: 60 + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app: atenet-router containers: - name: atenet-router image: ko://github.com/agent-substrate/substrate/cmd/atenet @@ -290,6 +301,11 @@ spec: containerPort: 8444 - name: admin containerPort: 9901 + readinessProbe: + httpGet: + path: /ready + port: 9901 + periodSeconds: 5 volumeMounts: - name: envoy-config mountPath: /etc/envoy @@ -377,3 +393,14 @@ spec: port: 4040 targetPort: status protocol: TCP +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: atenet-router + namespace: ate-system +spec: + maxUnavailable: 1 + selector: + matchLabels: + app: atenet-router