From 64fc662d008e55e9d0d56964f110d0aecc9ac817 Mon Sep 17 00:00:00 2001 From: Serge Logvinov Date: Tue, 24 Sep 2024 08:22:53 +0300 Subject: [PATCH] docs: kubelet flags Add kubelet requirements to the install process. Signed-off-by: Serge Logvinov --- .../Chart.yaml | 2 +- .../README.md | 6 +++++- .../README.md.gotmpl | 4 ++++ .../cloud-controller-manager-daemonset.yml | 6 +++--- .../deploy/cloud-controller-manager-talos.yml | 6 +++--- docs/deploy/cloud-controller-manager.yml | 6 +++--- docs/install.md | 19 +++++++++++++++++++ 7 files changed, 38 insertions(+), 11 deletions(-) diff --git a/charts/proxmox-cloud-controller-manager/Chart.yaml b/charts/proxmox-cloud-controller-manager/Chart.yaml index 49579bf..4213926 100644 --- a/charts/proxmox-cloud-controller-manager/Chart.yaml +++ b/charts/proxmox-cloud-controller-manager/Chart.yaml @@ -16,7 +16,7 @@ maintainers: # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.2.7 +version: 0.2.8 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. diff --git a/charts/proxmox-cloud-controller-manager/README.md b/charts/proxmox-cloud-controller-manager/README.md index d071f8b..64e1ef6 100644 --- a/charts/proxmox-cloud-controller-manager/README.md +++ b/charts/proxmox-cloud-controller-manager/README.md @@ -1,6 +1,6 @@ # proxmox-cloud-controller-manager -![Version: 0.2.7](https://img.shields.io/badge/Version-0.2.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.5.1](https://img.shields.io/badge/AppVersion-v0.5.1-informational?style=flat-square) +![Version: 0.2.8](https://img.shields.io/badge/Version-0.2.8-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.5.1](https://img.shields.io/badge/AppVersion-v0.5.1-informational?style=flat-square) Cloud Controller Manager plugin for Proxmox @@ -22,6 +22,10 @@ Key functions of the Cloud Controller Manager: * +## Requirements + +You need to set `--cloud-provider=external` in the kubelet argument for all nodes in the cluster. + ## Proxmox permissions ```shell diff --git a/charts/proxmox-cloud-controller-manager/README.md.gotmpl b/charts/proxmox-cloud-controller-manager/README.md.gotmpl index 4be1166..0971b9b 100644 --- a/charts/proxmox-cloud-controller-manager/README.md.gotmpl +++ b/charts/proxmox-cloud-controller-manager/README.md.gotmpl @@ -20,6 +20,10 @@ Key functions of the Cloud Controller Manager: {{ template "chart.requirementsSection" . }} +## Requirements + +You need to set `--cloud-provider=external` in the kubelet argument for all nodes in the cluster. + ## Proxmox permissions ```shell diff --git a/docs/deploy/cloud-controller-manager-daemonset.yml b/docs/deploy/cloud-controller-manager-daemonset.yml index 038073a..f07ea6b 100644 --- a/docs/deploy/cloud-controller-manager-daemonset.yml +++ b/docs/deploy/cloud-controller-manager-daemonset.yml @@ -5,7 +5,7 @@ kind: ServiceAccount metadata: name: proxmox-cloud-controller-manager labels: - helm.sh/chart: proxmox-cloud-controller-manager-0.2.7 + helm.sh/chart: proxmox-cloud-controller-manager-0.2.8 app.kubernetes.io/name: proxmox-cloud-controller-manager app.kubernetes.io/instance: proxmox-cloud-controller-manager app.kubernetes.io/version: "v0.5.1" @@ -18,7 +18,7 @@ kind: ClusterRole metadata: name: system:proxmox-cloud-controller-manager labels: - helm.sh/chart: proxmox-cloud-controller-manager-0.2.7 + helm.sh/chart: proxmox-cloud-controller-manager-0.2.8 app.kubernetes.io/name: proxmox-cloud-controller-manager app.kubernetes.io/instance: proxmox-cloud-controller-manager app.kubernetes.io/version: "v0.5.1" @@ -106,7 +106,7 @@ kind: DaemonSet metadata: name: proxmox-cloud-controller-manager labels: - helm.sh/chart: proxmox-cloud-controller-manager-0.2.7 + helm.sh/chart: proxmox-cloud-controller-manager-0.2.8 app.kubernetes.io/name: proxmox-cloud-controller-manager app.kubernetes.io/instance: proxmox-cloud-controller-manager app.kubernetes.io/version: "v0.5.1" diff --git a/docs/deploy/cloud-controller-manager-talos.yml b/docs/deploy/cloud-controller-manager-talos.yml index 5f1bc74..39958a4 100644 --- a/docs/deploy/cloud-controller-manager-talos.yml +++ b/docs/deploy/cloud-controller-manager-talos.yml @@ -5,7 +5,7 @@ kind: ServiceAccount metadata: name: proxmox-cloud-controller-manager labels: - helm.sh/chart: proxmox-cloud-controller-manager-0.2.7 + helm.sh/chart: proxmox-cloud-controller-manager-0.2.8 app.kubernetes.io/name: proxmox-cloud-controller-manager app.kubernetes.io/instance: proxmox-cloud-controller-manager app.kubernetes.io/version: "v0.5.1" @@ -18,7 +18,7 @@ kind: ClusterRole metadata: name: system:proxmox-cloud-controller-manager labels: - helm.sh/chart: proxmox-cloud-controller-manager-0.2.7 + helm.sh/chart: proxmox-cloud-controller-manager-0.2.8 app.kubernetes.io/name: proxmox-cloud-controller-manager app.kubernetes.io/instance: proxmox-cloud-controller-manager app.kubernetes.io/version: "v0.5.1" @@ -106,7 +106,7 @@ kind: Deployment metadata: name: proxmox-cloud-controller-manager labels: - helm.sh/chart: proxmox-cloud-controller-manager-0.2.7 + helm.sh/chart: proxmox-cloud-controller-manager-0.2.8 app.kubernetes.io/name: proxmox-cloud-controller-manager app.kubernetes.io/instance: proxmox-cloud-controller-manager app.kubernetes.io/version: "v0.5.1" diff --git a/docs/deploy/cloud-controller-manager.yml b/docs/deploy/cloud-controller-manager.yml index ee91e03..c925d01 100644 --- a/docs/deploy/cloud-controller-manager.yml +++ b/docs/deploy/cloud-controller-manager.yml @@ -5,7 +5,7 @@ kind: ServiceAccount metadata: name: proxmox-cloud-controller-manager labels: - helm.sh/chart: proxmox-cloud-controller-manager-0.2.7 + helm.sh/chart: proxmox-cloud-controller-manager-0.2.8 app.kubernetes.io/name: proxmox-cloud-controller-manager app.kubernetes.io/instance: proxmox-cloud-controller-manager app.kubernetes.io/version: "v0.5.1" @@ -18,7 +18,7 @@ kind: ClusterRole metadata: name: system:proxmox-cloud-controller-manager labels: - helm.sh/chart: proxmox-cloud-controller-manager-0.2.7 + helm.sh/chart: proxmox-cloud-controller-manager-0.2.8 app.kubernetes.io/name: proxmox-cloud-controller-manager app.kubernetes.io/instance: proxmox-cloud-controller-manager app.kubernetes.io/version: "v0.5.1" @@ -106,7 +106,7 @@ kind: Deployment metadata: name: proxmox-cloud-controller-manager labels: - helm.sh/chart: proxmox-cloud-controller-manager-0.2.7 + helm.sh/chart: proxmox-cloud-controller-manager-0.2.8 app.kubernetes.io/name: proxmox-cloud-controller-manager app.kubernetes.io/instance: proxmox-cloud-controller-manager app.kubernetes.io/version: "v0.5.1" diff --git a/docs/install.md b/docs/install.md index c8f017b..fcbb778 100644 --- a/docs/install.md +++ b/docs/install.md @@ -9,6 +9,25 @@ Assigns labels and taints based on Proxmox VM configuration. `cloud-node-lifecycle` - detects node deletion on Proxmox side and removes them from the cluster. +## Requirements + +You need to set `--cloud-provider=external` in the kubelet argument for all nodes in the cluster. +The flag informs the kubelet to offload cloud-specific responsibilities to this external component like Proxmox CCM. + +```shell +kubelet --cloud-provider=external +``` + +Otherwise, kubelet will attempt to manage the node's lifecycle by itself, which can cause issues in environments using an external Cloud Controller Manager (CCM). + +If your node has __multiple IP addresses__, you may need to set the `--node-ip` flag in the kubelet arguments to specify which IP address the kubelet should use. This ensures that the correct IP address is used for communication between the node and other components in the Kubernetes cluster, especially in environments where multiple network interfaces or IP addresses are present. + +```shell +kubelet --node-ip=${IP} +``` + +IP can be single or comma-separated list of two IPs (dual stack). + ## Create a Proxmox token Official [documentation](https://pve.proxmox.com/wiki/User_Management)