diff --git a/cmd/command/opts/opts.go b/cmd/command/opts/opts.go index d18867f7afd60a540a9a2c3056dfb0f770adcb30..7f157d3055bbd33ed2c080f703cc57ba72b11e5c 100644 --- a/cmd/command/opts/opts.go +++ b/cmd/command/opts/opts.go @@ -33,7 +33,7 @@ type OptionsList struct { Master NodeConfig Worker NodeConfig - ExtendCount int + ExtendCount uint ApiServerEndpoint string ImageRegistry string @@ -98,6 +98,6 @@ type Housekeeper struct { ControllerImageUrl string KubeVersion string EvictPodForce bool - MaxUnavailable int + MaxUnavailable uint OSImageURL string } diff --git a/cmd/command/setup_opts.go b/cmd/command/setup_opts.go index 40cc658314221d39bb513b33996647f46418a295..a1b54fc78e376b4d4e49eda8bfcf6bec6fad42ce 100644 --- a/cmd/command/setup_opts.go +++ b/cmd/command/setup_opts.go @@ -68,7 +68,7 @@ func SetupUpgradeCmdOpts(upgradeCmd *cobra.Command) { flags.StringVarP(&opts.Opts.ClusterID, "cluster-id", "", "", "Cluster ID") flags.StringVarP(&opts.Opts.Housekeeper.KubeVersion, "kube-version", "", "", "Choose a specific kubernetes version for upgrading") flags.BoolVarP(&opts.Opts.Housekeeper.EvictPodForce, "force", "", false, "Force eviction of pods even if unsafe. This may result in data loss or service disruption, use with caution") - flags.IntVarP(&opts.Opts.Housekeeper.MaxUnavailable, "maxunavailable", "", 2, "Number of nodes that are upgraded at the same time") + flags.UintVarP(&opts.Opts.Housekeeper.MaxUnavailable, "maxunavailable", "", 2, "Number of nodes that are upgraded at the same time") flags.StringVarP(&opts.Opts.KubeConfigFile, "kubeconfig", "", "/etc/nkd/pki/kubeconfig/admin.conf", "Specify the access path to the Kubeconfig file") flags.StringVarP(&opts.Opts.Housekeeper.OSImageURL, "imageurl", "", "", "The address of the container image to use for upgrading") } @@ -76,5 +76,5 @@ func SetupUpgradeCmdOpts(upgradeCmd *cobra.Command) { func SetupExtendCmdOpts(extendCmd *cobra.Command) { flags := extendCmd.Flags() flags.StringVarP(&opts.Opts.ClusterID, "cluster-id", "", "", "Cluster ID") - flags.IntVarP(&opts.Opts.ExtendCount, "num", "n", 0, "The number of expanded worker nodes") + flags.UintVarP(&opts.Opts.ExtendCount, "num", "n", 0, "The number of expanded worker nodes") } diff --git a/pkg/configmanager/asset/clusterasset.go b/pkg/configmanager/asset/clusterasset.go index fa78c653b741d90b3dcb24106e5383041fa829b9..c952a18989dbcfdd241593dbf12bd13dcb9d2cb1 100644 --- a/pkg/configmanager/asset/clusterasset.go +++ b/pkg/configmanager/asset/clusterasset.go @@ -128,7 +128,7 @@ type Housekeeper struct { Controller_Image_URL string KubeVersion string EvictPodForce bool - MaxUnavailable int + MaxUnavailable uint OSImageURL string } @@ -200,6 +200,17 @@ func (clusterAsset *ClusterAsset) InitClusterAsset(infraAsset InfraAsset, opts * setStringValue(&clusterAsset.Kubernetes.Network.Pod_Subnet, opts.NetWork.PodSubnet, "") setStringValue(&clusterAsset.Kubernetes.Network.CoreDNS_Image_Version, opts.NetWork.DNS.ImageVersion, "") + if clusterAsset.Housekeeper.DeployHousekeeper || opts.Housekeeper.DeployHousekeeper { + checkStringValue(&clusterAsset.Housekeeper.Operator_Image_URL, opts.Housekeeper.OperatorImageUrl) + checkStringValue(&clusterAsset.Housekeeper.Controller_Image_URL, opts.Housekeeper.ControllerImageUrl) + checkStringValue(&clusterAsset.Housekeeper.KubeVersion, opts.Housekeeper.KubeVersion) + if opts.Housekeeper.EvictPodForce { + clusterAsset.Housekeeper.EvictPodForce = true + } + setIntValue(&clusterAsset.Housekeeper.MaxUnavailable, opts.Housekeeper.MaxUnavailable, 2) + checkStringValue(&clusterAsset.Housekeeper.OSImageURL, opts.Housekeeper.OSImageURL) + } + return clusterAsset, nil }