From 302f2dd8c56b22b1dbcb9d16ab082a0800f3c065 Mon Sep 17 00:00:00 2001 From: lauk001 Date: Thu, 7 Sep 2023 15:32:37 +0800 Subject: [PATCH] fix ignition file service --- data/ignition/master/files/etc/init-config.yaml.template | 2 +- .../{node.pivot.sh.template => node-pivot.sh.template} | 0 .../master/systemd/install-cni-plugin.service.template | 4 ++-- data/ignition/master/systemd/release-image-pivot.service | 8 ++++---- .../{node.pivot.sh.template => node-pivot.sh.template} | 0 data/ignition/worker/systemd/release-image-pivot.service | 9 +++++---- data/terraform/master.tf.template | 2 +- data/terraform/worker.tf.template | 2 +- housekeeper/operator/api/v1alpha1/update_types.go | 9 +++++---- .../operator/config/crd/housekeeper.io_updates.yaml | 4 ++++ 10 files changed, 23 insertions(+), 17 deletions(-) rename data/ignition/master/files/etc/nkd/{node.pivot.sh.template => node-pivot.sh.template} (100%) rename data/ignition/worker/files/etc/nkd/{node.pivot.sh.template => node-pivot.sh.template} (100%) diff --git a/data/ignition/master/files/etc/init-config.yaml.template b/data/ignition/master/files/etc/init-config.yaml.template index 089228ce..f8acc014 100644 --- a/data/ignition/master/files/etc/init-config.yaml.template +++ b/data/ignition/master/files/etc/init-config.yaml.template @@ -28,5 +28,5 @@ networking: dnsDomain: "cluster.local" dns: type: CoreDNS - imageRepository: {{.ImageRegistry}}/coredns + imageRepository: {{.ImageRegistry}} imageTag: {{.CorednsImageTag}} \ No newline at end of file diff --git a/data/ignition/master/files/etc/nkd/node.pivot.sh.template b/data/ignition/master/files/etc/nkd/node-pivot.sh.template similarity index 100% rename from data/ignition/master/files/etc/nkd/node.pivot.sh.template rename to data/ignition/master/files/etc/nkd/node-pivot.sh.template diff --git a/data/ignition/master/systemd/install-cni-plugin.service.template b/data/ignition/master/systemd/install-cni-plugin.service.template index fc20158a..aa2b45f6 100644 --- a/data/ignition/master/systemd/install-cni-plugin.service.template +++ b/data/ignition/master/systemd/install-cni-plugin.service.template @@ -2,7 +2,7 @@ Description=install cni network plugin for kubernetes Requires=init-cluster.service After=init-cluster.service -ConditionPathExists=/var/log/init-k8s-cluster.stamp +ConditionPathExists=/var/log/init-cluster.stamp [Service] Type=oneshot @@ -10,7 +10,7 @@ RemainAfterExit=yes ExecStart=bash -c "sed -i 's#usr/libexec/#opt/libexec/#g' /etc/nkd/calico.yaml" ExecStart=bash -c "sed -i 's/# - name: CALICO_IPV4POOL_CIDR/- name: CALICO_IPV4POOL_CIDR/g' /etc/nkd/calico.yaml" ExecStart=bash -c "sed -i 's?# value: "{{.IpSegment}}/16"? value: "10.100.0.0/16"?g' /etc/nkd/calico.yaml" -ExecStart=kubectl apply -f /etc/calico.yaml --kubeconfig=/etc/kubernetes/admin.conf +ExecStart=kubectl apply -f /etc/nkd/calico.yaml --kubeconfig=/etc/kubernetes/admin.conf [Install] WantedBy=multi-user.target \ No newline at end of file diff --git a/data/ignition/master/systemd/release-image-pivot.service b/data/ignition/master/systemd/release-image-pivot.service index 27beef4d..b5d02e8a 100644 --- a/data/ignition/master/systemd/release-image-pivot.service +++ b/data/ignition/master/systemd/release-image-pivot.service @@ -5,11 +5,11 @@ After=network-online.target ConditionPathExists=!/var/log/node-pivot.stamp [Service] -Type=oneshot -RemainAfterExit=yes ExecStart=sh /etc/nkd/node-pivot.sh -ExecStart=/bin/touch /var/log/node-pivot.stamp -ExecStart=systemctl reboot +ExecStart=/bin/bash -c "/etc/nkd/node-pivot.sh && touch /var/log/node-pivot.stamp && systemctl reboot" + +Restart=on-failure +RestartSec=5s [Install] WantedBy=multi-user.target diff --git a/data/ignition/worker/files/etc/nkd/node.pivot.sh.template b/data/ignition/worker/files/etc/nkd/node-pivot.sh.template similarity index 100% rename from data/ignition/worker/files/etc/nkd/node.pivot.sh.template rename to data/ignition/worker/files/etc/nkd/node-pivot.sh.template diff --git a/data/ignition/worker/systemd/release-image-pivot.service b/data/ignition/worker/systemd/release-image-pivot.service index 27beef4d..f51489ac 100644 --- a/data/ignition/worker/systemd/release-image-pivot.service +++ b/data/ignition/worker/systemd/release-image-pivot.service @@ -5,11 +5,12 @@ After=network-online.target ConditionPathExists=!/var/log/node-pivot.stamp [Service] -Type=oneshot -RemainAfterExit=yes ExecStart=sh /etc/nkd/node-pivot.sh -ExecStart=/bin/touch /var/log/node-pivot.stamp -ExecStart=systemctl reboot +ExecStart=/bin/bash -c "/etc/nkd/node-pivot.sh && touch /var/log/node-pivot.stamp && systemctl reboot" + +Restart=on-failure +RestartSec=5s [Install] WantedBy=multi-user.target + diff --git a/data/terraform/master.tf.template b/data/terraform/master.tf.template index e8305557..bc3ac685 100644 --- a/data/terraform/master.tf.template +++ b/data/terraform/master.tf.template @@ -62,7 +62,7 @@ resource "openstack_compute_instance_v2" "instance" { flavor_name = var.instance_name key_pair = "" security_groups = ["K8S"] - availability_zone = "Intel Xeon Gold 6326 x86_64" + availability_zone = "" user_data = file(format("../master/${var.instance_name}%d.ign", count.index + 1)) network { diff --git a/data/terraform/worker.tf.template b/data/terraform/worker.tf.template index 7465aa38..7cdb46bf 100644 --- a/data/terraform/worker.tf.template +++ b/data/terraform/worker.tf.template @@ -62,7 +62,7 @@ resource "openstack_compute_instance_v2" "instance" { flavor_name = var.instance_name key_pair = "" security_groups = ["K8S"] - availability_zone = "Intel Xeon Gold 6326 x86_64" + availability_zone = "" user_data = file("${format("../worker/${var.instance_name}%d.ign", count.index + 1)}") network { diff --git a/housekeeper/operator/api/v1alpha1/update_types.go b/housekeeper/operator/api/v1alpha1/update_types.go index 300e9504..aabd31c3 100644 --- a/housekeeper/operator/api/v1alpha1/update_types.go +++ b/housekeeper/operator/api/v1alpha1/update_types.go @@ -27,10 +27,11 @@ import ( type UpdateSpec struct { // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster // Important: Run "make" to regenerate code after modifying this file - OSVersion string `json:"osVersion"` - OSImageURL string `json:"osImageURL"` - KubeVersion string `json:"kubeVersion"` - EvictPodForce bool `json:"evictPodForce"` + OSVersion string `json:"osVersion"` + OSImageURL string `json:"osImageURL"` + KubeVersion string `json:"kubeVersion"` + EvictPodForce bool `json:"evictPodForce"` + MaxUnavailable int `json:"maxUnavailable"` } // UpdateStatus defines the observed state of Update diff --git a/housekeeper/operator/config/crd/housekeeper.io_updates.yaml b/housekeeper/operator/config/crd/housekeeper.io_updates.yaml index 2938aa04..13b83db4 100644 --- a/housekeeper/operator/config/crd/housekeeper.io_updates.yaml +++ b/housekeeper/operator/config/crd/housekeeper.io_updates.yaml @@ -47,11 +47,15 @@ spec: evictPodForce: description: 'If true, force evict the pod' type: boolean + maxUnavailable: + description: 'If true, force evict the pod' + type: integer required: - kubeVersion - osImageURL - osVersion - evictPodForce + - maxUnavailable type: object status: description: UpdateStatus defines the observed state of Update -- Gitee