From 2225908fe674d8c9693883f309295e55320968df Mon Sep 17 00:00:00 2001 From: ErikJiang Date: Mon, 23 Dec 2024 14:21:39 +0000 Subject: [PATCH] deploy: 3411a6315ec5aea775babfdef4fd265fb76008aa --- en/404.html | 21 + en/concepts/architecture/index.html | 21 + en/concepts/comparisons/index.html | 21 + en/concepts/crds/index.html | 21 + en/concepts/custom_action/index.html | 21 + .../theory_of_airgapped_package/index.html | 21 + en/develop/roadmap/index.html | 27 +- en/index.html | 21 + en/releases/artifacts/index.html | 21 + en/releases/v0.10.0/index.html | 21 + en/releases/v0.11.0/index.html | 21 + en/releases/v0.11.1/index.html | 21 + en/releases/v0.11.2/index.html | 21 + en/releases/v0.12.0/index.html | 21 + en/releases/v0.12.1/index.html | 21 + en/releases/v0.12.2/index.html | 21 + en/releases/v0.12.3/index.html | 21 + en/releases/v0.13.0/index.html | 21 + en/releases/v0.13.1/index.html | 21 + en/releases/v0.13.10/index.html | 21 + en/releases/v0.13.11/index.html | 21 + en/releases/v0.13.2/index.html | 21 + en/releases/v0.13.3/index.html | 21 + en/releases/v0.13.4/index.html | 21 + en/releases/v0.13.5/index.html | 21 + en/releases/v0.13.6/index.html | 21 + en/releases/v0.13.7/index.html | 21 + en/releases/v0.13.8/index.html | 21 + en/releases/v0.13.9/index.html | 21 + en/releases/v0.14.0/index.html | 21 + en/releases/v0.15.0/index.html | 21 + en/releases/v0.15.1/index.html | 21 + en/releases/v0.15.2/index.html | 21 + en/releases/v0.15.3/index.html | 21 + en/releases/v0.16.0/index.html | 21 + en/releases/v0.16.1/index.html | 21 + en/releases/v0.16.2/index.html | 21 + en/releases/v0.16.3/index.html | 21 + en/releases/v0.17.0/index.html | 21 + en/releases/v0.17.1/index.html | 21 + en/releases/v0.17.2/index.html | 21 + en/releases/v0.17.3/index.html | 21 + en/releases/v0.17.4/index.html | 21 + en/releases/v0.17.5/index.html | 21 + en/releases/v0.18.0/index.html | 21 + en/releases/v0.18.1/index.html | 21 + en/releases/v0.18.2/index.html | 21 + en/releases/v0.18.3/index.html | 21 + en/releases/v0.18.4/index.html | 21 + en/releases/v0.18.5/index.html | 21 + en/releases/v0.19.0/index.html | 21 + en/releases/v0.20.0/index.html | 21 + en/releases/v0.21.0/index.html | 21 + en/releases/v0.21.1/index.html | 21 + en/releases/v0.22.0/index.html | 21 + en/releases/v0.22.1/index.html | 21 + en/releases/v0.22.2/index.html | 27 +- en/releases/v0.22.3/index.html | 2934 +++++++++++++++++ en/releases/v0.4.0/index.html | 21 + en/releases/v0.4.1/index.html | 21 + en/releases/v0.4.10/index.html | 21 + en/releases/v0.4.2/index.html | 21 + en/releases/v0.4.3/index.html | 21 + en/releases/v0.4.4/index.html | 21 + en/releases/v0.4.5/index.html | 21 + en/releases/v0.4.6/index.html | 21 + en/releases/v0.4.7/index.html | 21 + en/releases/v0.4.8/index.html | 21 + en/releases/v0.4.9/index.html | 21 + en/releases/v0.5.0/index.html | 21 + en/releases/v0.5.1/index.html | 21 + en/releases/v0.5.2/index.html | 21 + en/releases/v0.5.3/index.html | 21 + en/releases/v0.5.4/index.html | 21 + en/releases/v0.6.0/index.html | 21 + en/releases/v0.6.1/index.html | 21 + en/releases/v0.6.2/index.html | 21 + en/releases/v0.6.3/index.html | 21 + en/releases/v0.6.4/index.html | 21 + en/releases/v0.6.5/index.html | 21 + en/releases/v0.6.6/index.html | 21 + en/releases/v0.7.0/index.html | 21 + en/releases/v0.7.1/index.html | 21 + en/releases/v0.7.2/index.html | 21 + en/releases/v0.7.3/index.html | 21 + en/releases/v0.7.4/index.html | 21 + en/releases/v0.8.0/index.html | 21 + en/releases/v0.8.1/index.html | 21 + en/releases/v0.8.2/index.html | 21 + en/releases/v0.8.3/index.html | 21 + en/releases/v0.8.4/index.html | 21 + en/releases/v0.8.5/index.html | 21 + en/releases/v0.9.0/index.html | 21 + en/releases/v0.9.1/index.html | 21 + en/releases/v0.9.2/index.html | 21 + en/releases/v0.9.3/index.html | 21 + en/search/search_index.json | 2 +- en/sitemap.xml | 214 +- en/sitemap.xml.gz | Bin 665 -> 668 bytes en/usage/airgap/index.html | 21 + en/usage/airgap_patch_usage/index.html | 21 + en/usage/all_in_one_install/index.html | 21 + en/usage/helm_install_kubean/index.html | 21 + en/usage/install/index.html | 21 + en/usage/install_without_root/index.html | 21 + en/usage/mirror_install/index.html | 21 + en/usage/scale_worknode/index.html | 21 + en/usage/sshkey_deploy_cluster/index.html | 21 + en/usage/uninstall/index.html | 21 + en/usage/upgrade/index.html | 21 + zh/404.html | 21 + zh/concepts/architecture/index.html | 21 + zh/concepts/comparisons/index.html | 21 + zh/concepts/crds/index.html | 21 + zh/concepts/custom_action/index.html | 21 + .../theory_of_airgapped_package/index.html | 21 + zh/develop/roadmap/index.html | 27 +- zh/index.html | 21 + zh/releases/artifacts/index.html | 21 + zh/releases/v0.10.0/index.html | 21 + zh/releases/v0.11.0/index.html | 21 + zh/releases/v0.11.1/index.html | 21 + zh/releases/v0.11.2/index.html | 21 + zh/releases/v0.12.0/index.html | 21 + zh/releases/v0.12.1/index.html | 21 + zh/releases/v0.12.2/index.html | 21 + zh/releases/v0.12.3/index.html | 21 + zh/releases/v0.13.0/index.html | 21 + zh/releases/v0.13.1/index.html | 21 + zh/releases/v0.13.10/index.html | 21 + zh/releases/v0.13.11/index.html | 21 + zh/releases/v0.13.2/index.html | 21 + zh/releases/v0.13.3/index.html | 21 + zh/releases/v0.13.4/index.html | 21 + zh/releases/v0.13.5/index.html | 21 + zh/releases/v0.13.6/index.html | 21 + zh/releases/v0.13.7/index.html | 21 + zh/releases/v0.13.8/index.html | 21 + zh/releases/v0.13.9/index.html | 21 + zh/releases/v0.14.0/index.html | 21 + zh/releases/v0.15.0/index.html | 21 + zh/releases/v0.15.1/index.html | 21 + zh/releases/v0.15.2/index.html | 21 + zh/releases/v0.15.3/index.html | 21 + zh/releases/v0.16.0/index.html | 21 + zh/releases/v0.16.1/index.html | 21 + zh/releases/v0.16.2/index.html | 21 + zh/releases/v0.16.3/index.html | 21 + zh/releases/v0.17.0/index.html | 21 + zh/releases/v0.17.1/index.html | 21 + zh/releases/v0.17.2/index.html | 21 + zh/releases/v0.17.3/index.html | 21 + zh/releases/v0.17.4/index.html | 21 + zh/releases/v0.17.5/index.html | 21 + zh/releases/v0.18.0/index.html | 21 + zh/releases/v0.18.1/index.html | 21 + zh/releases/v0.18.2/index.html | 21 + zh/releases/v0.18.3/index.html | 21 + zh/releases/v0.18.4/index.html | 21 + zh/releases/v0.18.5/index.html | 21 + zh/releases/v0.19.0/index.html | 21 + zh/releases/v0.20.0/index.html | 21 + zh/releases/v0.21.0/index.html | 21 + zh/releases/v0.21.1/index.html | 21 + zh/releases/v0.22.0/index.html | 21 + zh/releases/v0.22.1/index.html | 21 + zh/releases/v0.22.2/index.html | 27 +- zh/releases/v0.22.3/index.html | 2934 +++++++++++++++++ zh/releases/v0.4.0/index.html | 21 + zh/releases/v0.4.1/index.html | 21 + zh/releases/v0.4.10/index.html | 21 + zh/releases/v0.4.2/index.html | 21 + zh/releases/v0.4.3/index.html | 21 + zh/releases/v0.4.4/index.html | 21 + zh/releases/v0.4.5/index.html | 21 + zh/releases/v0.4.6/index.html | 21 + zh/releases/v0.4.7/index.html | 21 + zh/releases/v0.4.8/index.html | 21 + zh/releases/v0.4.9/index.html | 21 + zh/releases/v0.5.0/index.html | 21 + zh/releases/v0.5.1/index.html | 21 + zh/releases/v0.5.2/index.html | 21 + zh/releases/v0.5.3/index.html | 21 + zh/releases/v0.5.4/index.html | 21 + zh/releases/v0.6.0/index.html | 21 + zh/releases/v0.6.1/index.html | 21 + zh/releases/v0.6.2/index.html | 21 + zh/releases/v0.6.3/index.html | 21 + zh/releases/v0.6.4/index.html | 21 + zh/releases/v0.6.5/index.html | 21 + zh/releases/v0.6.6/index.html | 21 + zh/releases/v0.7.0/index.html | 21 + zh/releases/v0.7.1/index.html | 21 + zh/releases/v0.7.2/index.html | 21 + zh/releases/v0.7.3/index.html | 21 + zh/releases/v0.7.4/index.html | 21 + zh/releases/v0.8.0/index.html | 21 + zh/releases/v0.8.1/index.html | 21 + zh/releases/v0.8.2/index.html | 21 + zh/releases/v0.8.3/index.html | 21 + zh/releases/v0.8.4/index.html | 21 + zh/releases/v0.8.5/index.html | 21 + zh/releases/v0.9.0/index.html | 21 + zh/releases/v0.9.1/index.html | 21 + zh/releases/v0.9.2/index.html | 21 + zh/releases/v0.9.3/index.html | 21 + zh/search/search_index.json | 2 +- zh/sitemap.xml | 216 +- zh/sitemap.xml.gz | Bin 679 -> 682 bytes zh/usage/airgap/index.html | 21 + zh/usage/airgap_patch_usage/index.html | 21 + zh/usage/all_in_one_install/index.html | 21 + zh/usage/helm_install_kubean/index.html | 21 + zh/usage/install/index.html | 21 + zh/usage/install_without_root/index.html | 21 + zh/usage/mirror_install/index.html | 21 + zh/usage/scale_worknode/index.html | 21 + zh/usage/sshkey_deploy_cluster/index.html | 21 + zh/usage/support_k8s_version/index.html | 21 + zh/usage/uninstall/index.html | 21 + zh/usage/upgrade/index.html | 21 + 221 files changed, 10574 insertions(+), 225 deletions(-) create mode 100644 en/releases/v0.22.3/index.html create mode 100644 zh/releases/v0.22.3/index.html diff --git a/en/404.html b/en/404.html index 4e34f7aec..a70c094c1 100644 --- a/en/404.html +++ b/en/404.html @@ -828,6 +828,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/concepts/architecture/index.html b/en/concepts/architecture/index.html index f0c216036..a9469b493 100644 --- a/en/concepts/architecture/index.html +++ b/en/concepts/architecture/index.html @@ -860,6 +860,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/concepts/comparisons/index.html b/en/concepts/comparisons/index.html index 33ba5cb26..9377a8bc7 100644 --- a/en/concepts/comparisons/index.html +++ b/en/concepts/comparisons/index.html @@ -860,6 +860,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/concepts/crds/index.html b/en/concepts/crds/index.html index 5814abe9d..852601e0e 100644 --- a/en/concepts/crds/index.html +++ b/en/concepts/crds/index.html @@ -974,6 +974,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/concepts/custom_action/index.html b/en/concepts/custom_action/index.html index 943c631a0..e0989bc0e 100644 --- a/en/concepts/custom_action/index.html +++ b/en/concepts/custom_action/index.html @@ -917,6 +917,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/concepts/theory_of_airgapped_package/index.html b/en/concepts/theory_of_airgapped_package/index.html index 85d55c99d..cfc7f7434 100644 --- a/en/concepts/theory_of_airgapped_package/index.html +++ b/en/concepts/theory_of_airgapped_package/index.html @@ -899,6 +899,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/develop/roadmap/index.html b/en/develop/roadmap/index.html index 1c38e38e0..3c1880c62 100644 --- a/en/develop/roadmap/index.html +++ b/en/develop/roadmap/index.html @@ -16,7 +16,7 @@ - + @@ -962,6 +962,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • @@ -3023,13 +3044,13 @@

    Q2 2024 + diff --git a/en/releases/v0.22.3/index.html b/en/releases/v0.22.3/index.html new file mode 100644 index 000000000..c80d491fa --- /dev/null +++ b/en/releases/v0.22.3/index.html @@ -0,0 +1,2934 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + V0.22.3 - Kubean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + 跳转至 + + +
    +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    V0.22.3

    + + + +

    What's Changed

    +

    🔨 Other Changes

    +
      +
    • fix set owner-reference by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1446
    • +
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1445
    • +
    +

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.2...v0.22.3 +| Default Kubernetes Version | Supported Kubernetes Version Range | +| ---------------------------| ---------------------------------------------------------------------| +| v1.30.5 | 'v1.31.3'   'v1.31.2'   'v1.31.1'   'v1.31.0'   'v1.30.7'   'v1.30.6'   'v1.30.5'   'v1.30.4'   'v1.30.3'   'v1.30.2'   'v1.30.1'   'v1.30.0'   'v1.29.11'   'v1.29.10'   'v1.29.9'   'v1.29.8'   'v1.29.7'   'v1.29.6'   'v1.29.5'   'v1.29.4'   'v1.29.3'   'v1.29.2'   'v1.29.1'   'v1.29.0'|

    + + + + + + + + + + + + + +
    +
    + + + + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + \ No newline at end of file diff --git a/en/releases/v0.4.0/index.html b/en/releases/v0.4.0/index.html index 572cab5ca..140a0d363 100644 --- a/en/releases/v0.4.0/index.html +++ b/en/releases/v0.4.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.4.1/index.html b/en/releases/v0.4.1/index.html index 95e2038be..63a1ff15e 100644 --- a/en/releases/v0.4.1/index.html +++ b/en/releases/v0.4.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.4.10/index.html b/en/releases/v0.4.10/index.html index 47e7bba45..134dd5471 100644 --- a/en/releases/v0.4.10/index.html +++ b/en/releases/v0.4.10/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.4.2/index.html b/en/releases/v0.4.2/index.html index 3c756dec7..a73d47bb1 100644 --- a/en/releases/v0.4.2/index.html +++ b/en/releases/v0.4.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.4.3/index.html b/en/releases/v0.4.3/index.html index aa251cdfc..1369e0305 100644 --- a/en/releases/v0.4.3/index.html +++ b/en/releases/v0.4.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.4.4/index.html b/en/releases/v0.4.4/index.html index d5ff17d8b..22e251077 100644 --- a/en/releases/v0.4.4/index.html +++ b/en/releases/v0.4.4/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.4.5/index.html b/en/releases/v0.4.5/index.html index b63b770d2..d478f9b0c 100644 --- a/en/releases/v0.4.5/index.html +++ b/en/releases/v0.4.5/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.4.6/index.html b/en/releases/v0.4.6/index.html index e057c8ccb..3d22a113a 100644 --- a/en/releases/v0.4.6/index.html +++ b/en/releases/v0.4.6/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.4.7/index.html b/en/releases/v0.4.7/index.html index b37aca07f..7dd69b469 100644 --- a/en/releases/v0.4.7/index.html +++ b/en/releases/v0.4.7/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.4.8/index.html b/en/releases/v0.4.8/index.html index 0a68bf66a..b63f0bcd6 100644 --- a/en/releases/v0.4.8/index.html +++ b/en/releases/v0.4.8/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.4.9/index.html b/en/releases/v0.4.9/index.html index 0d2615f2b..46c247cc4 100644 --- a/en/releases/v0.4.9/index.html +++ b/en/releases/v0.4.9/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.5.0/index.html b/en/releases/v0.5.0/index.html index 288502b64..e99399001 100644 --- a/en/releases/v0.5.0/index.html +++ b/en/releases/v0.5.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.5.1/index.html b/en/releases/v0.5.1/index.html index e1b0d7dc5..c2eb84227 100644 --- a/en/releases/v0.5.1/index.html +++ b/en/releases/v0.5.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.5.2/index.html b/en/releases/v0.5.2/index.html index 242e66e75..623d30044 100644 --- a/en/releases/v0.5.2/index.html +++ b/en/releases/v0.5.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.5.3/index.html b/en/releases/v0.5.3/index.html index 547569ae5..08d18166d 100644 --- a/en/releases/v0.5.3/index.html +++ b/en/releases/v0.5.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.5.4/index.html b/en/releases/v0.5.4/index.html index a6dd1024b..e90c3a8f6 100644 --- a/en/releases/v0.5.4/index.html +++ b/en/releases/v0.5.4/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.6.0/index.html b/en/releases/v0.6.0/index.html index dc75584cc..ff31297bf 100644 --- a/en/releases/v0.6.0/index.html +++ b/en/releases/v0.6.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.6.1/index.html b/en/releases/v0.6.1/index.html index d781cd5ec..60f44cccb 100644 --- a/en/releases/v0.6.1/index.html +++ b/en/releases/v0.6.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.6.2/index.html b/en/releases/v0.6.2/index.html index 7218b403b..b3fc4de2e 100644 --- a/en/releases/v0.6.2/index.html +++ b/en/releases/v0.6.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.6.3/index.html b/en/releases/v0.6.3/index.html index a0c9a99ef..dc6344936 100644 --- a/en/releases/v0.6.3/index.html +++ b/en/releases/v0.6.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.6.4/index.html b/en/releases/v0.6.4/index.html index a655aa61d..ab5ace5dc 100644 --- a/en/releases/v0.6.4/index.html +++ b/en/releases/v0.6.4/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.6.5/index.html b/en/releases/v0.6.5/index.html index 95a008409..1e6a95b94 100644 --- a/en/releases/v0.6.5/index.html +++ b/en/releases/v0.6.5/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.6.6/index.html b/en/releases/v0.6.6/index.html index 4c6150871..9e5bcb486 100644 --- a/en/releases/v0.6.6/index.html +++ b/en/releases/v0.6.6/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.7.0/index.html b/en/releases/v0.7.0/index.html index ca88145ba..495221bd8 100644 --- a/en/releases/v0.7.0/index.html +++ b/en/releases/v0.7.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.7.1/index.html b/en/releases/v0.7.1/index.html index e47275deb..b593994df 100644 --- a/en/releases/v0.7.1/index.html +++ b/en/releases/v0.7.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.7.2/index.html b/en/releases/v0.7.2/index.html index 0e20fde13..aaa05a763 100644 --- a/en/releases/v0.7.2/index.html +++ b/en/releases/v0.7.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.7.3/index.html b/en/releases/v0.7.3/index.html index a1ca2d942..92c4a2326 100644 --- a/en/releases/v0.7.3/index.html +++ b/en/releases/v0.7.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.7.4/index.html b/en/releases/v0.7.4/index.html index 068e55cb1..162388c10 100644 --- a/en/releases/v0.7.4/index.html +++ b/en/releases/v0.7.4/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.8.0/index.html b/en/releases/v0.8.0/index.html index 6e5431fcd..b86317a81 100644 --- a/en/releases/v0.8.0/index.html +++ b/en/releases/v0.8.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.8.1/index.html b/en/releases/v0.8.1/index.html index 4fc7aaa51..b1c7c7cb6 100644 --- a/en/releases/v0.8.1/index.html +++ b/en/releases/v0.8.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.8.2/index.html b/en/releases/v0.8.2/index.html index 493cda69d..b835ce65a 100644 --- a/en/releases/v0.8.2/index.html +++ b/en/releases/v0.8.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.8.3/index.html b/en/releases/v0.8.3/index.html index f5c9733a9..892f5b057 100644 --- a/en/releases/v0.8.3/index.html +++ b/en/releases/v0.8.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.8.4/index.html b/en/releases/v0.8.4/index.html index 460f5e9eb..77c9a5870 100644 --- a/en/releases/v0.8.4/index.html +++ b/en/releases/v0.8.4/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.8.5/index.html b/en/releases/v0.8.5/index.html index 017ed4878..e51df2149 100644 --- a/en/releases/v0.8.5/index.html +++ b/en/releases/v0.8.5/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.9.0/index.html b/en/releases/v0.9.0/index.html index bf9d3f8a9..f115cf977 100644 --- a/en/releases/v0.9.0/index.html +++ b/en/releases/v0.9.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.9.1/index.html b/en/releases/v0.9.1/index.html index e0a32f894..01ce27954 100644 --- a/en/releases/v0.9.1/index.html +++ b/en/releases/v0.9.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.9.2/index.html b/en/releases/v0.9.2/index.html index 5b48e774b..a88e0f482 100644 --- a/en/releases/v0.9.2/index.html +++ b/en/releases/v0.9.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/releases/v0.9.3/index.html b/en/releases/v0.9.3/index.html index fa2d5b023..82fe38022 100644 --- a/en/releases/v0.9.3/index.html +++ b/en/releases/v0.9.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/search/search_index.json b/en/search/search_index.json index c8618d97a..e83889b82 100644 --- a/en/search/search_index.json +++ b/en/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\u200b\\u3000\\-\u3001\u3002\uff0c\uff0e\uff1f\uff01\uff1b]+","pipeline":["stemmer"]},"docs":[{"location":"","title":"Kubean","text":"

    Kubean is a product ready cluster lifecycle management toolchains based on kubespray and other cluster LCM engine.

    "},{"location":"#awesome-features","title":"Awesome features","text":"
    • Simplicity: Deploying of Kubean and powerful lifecycle management of kubernetes cluster implementing by declarative API.
    • Offline Supported: Offline packages(os-pkgs, images, binarys) are released with the release. You won't have to worry about how to gather all the resources you need.
    • Compatibility: Multi-arch delivery Supporting. Such as AMD, ARM with common Linux distributions. Also include Kunpeng with Kylin.
    • Expandability: Allowing custom actions be added to cluster without any changes for Kubespray.
    "},{"location":"#others","title":"Others","text":"

    Copyright The Kubean Authors

    We are a Cloud Native Computing Foundation sandbox project.

    The Linux Foundation\u00ae (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see Trademark Usage.

    "},{"location":"concepts/architecture/","title":"Kubean Infrastructure","text":"

    The overall architecture of Kubean is shown below\uff1a

    Kubean needs to run on an existing Kubernetes cluster. It controls and manages cluster lifecycle (install, uninstall, upgrade, scale up & down, etc.) by applying the standard CRDs provided by Kubean and Kubernetes built-in resources. Kubean uses Kubespray as the underlying technology. On the one hand, it simplifies the operation process of cluster deployment and lowers the threshold of use. On the other hand, many new features such as cluster operation records and offline version records have been added on the basis of Kubespray's capabilities.

    Kubean runs several controllers to track changes of Kubean CRDs and communicates with the underlying cluster's API server to create Kubernetes native resources. It consists of four components\uff1a

    1. Cluster Controller: monitors 'Cluster Objects'. It uniquely identifies a cluster, has the access information, type information, and deployment parameter information of the cluster node, and is associated with all operations on the cluster ('ClusterOperation Objects');
    2. ClusterOperation Controller: monitors ClusterOperation Objects. When a ClusterOperation Object is created, the controller assembles a Job to perform the operations defined in the CRD object;
    3. Manifest Controller: monitors Manifest Objects. It records and maintains components, packages and versions that are used by or compatible with the current version of Kubean;
    4. LocalArtifactSet Controller\uff1amonitors LocalArtifactSet Objects. It records information about the components and versions supported by the offline package.
    "},{"location":"concepts/comparisons/","title":"Kubean vs Kubespray","text":"

    Kubespray uses Ansible as the underlying layer to configure and orchestrate clusters. It can run on bare metal machines, virtual machines, and most kinds of cloud environment. It supports a wide range of Kubernetes versions and various plugins. With Kubespray, you can flexibly build and configure clusters from 0 to 1, and maintain you clusters through their lifecycles.

    Kubean is based on Kubespray and boasts all the advantages of Kubespray. Moreover, Kubean introduces the concept of Operator to fully implement the philosophy of cloud native. Kubean is designed to run as a container, and can be easily installed with a Helm chart.

    Kubespray only supports offline at the parameter level and provides no process for building an offline install package, making it very troublesome for users who need to use it offline. They may gradually lose patience with Kubespray.

    Kubean not only has a mature workflow for making offline packages, it also simplifies Kubespray's configuration, allowing users to manage cluster life cycle in a cloud-native way.

    "},{"location":"concepts/crds/","title":"CRDs","text":"

    CustomResourceDefinition (CRD) is a Kubernetes built-in resource for creating custom resources to further extend the Kubernetes API. Kubean provides four built-in CRDs: Cluster, ClusterOperation, Manifest, and LocalArtifact.

    "},{"location":"concepts/crds/#cluster","title":"Cluster","text":"

    In Kubean, you can declare (uniquely identify) a Kubernetes cluster with a Cluster CRD. Clusters will be deployed according to their Cluster CRDs.

    Here's an example of the Cluster CRD:

    apiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: cluster1-offline-demo\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: cluster1-offline-demo-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: cluster1-offline-demo-vars-conf\n

    Each field in this CRD is explained as follows:

    "},{"location":"concepts/crds/#metadata-section","title":"Metadata Section","text":"
    • name: declares a globally unique cluster.
    "},{"location":"concepts/crds/#spec-section","title":"Spec Section","text":"
    • hostConfRef: a ConfigMap resource in the format of ansible inventory. It includes information about nodes in a cluster, types, and groups. For further details, refer to demo.

    • name: name of the ConfigMap referenced by hostConfRef.

    • namespace: namespace of the ConfigMap referenced by hostConfRef.

    • varsConfRef: a ConfigMap resource to initialize or override variable values declared in Kubespray. This is very useful if you need to execute actions offline. For its specific content, refer to demo.

    • name: name of the ConfigMap referenced by varsConfRef.

    • namespace: namespace of the ConfigMap referenced by varsConfRef.

    • sshAuthRef: a Secret resource used only in the SSH private key mode.

    • name: name of the Secret referenced by sshAuthRef.

    • namespace: namespace of the Secret referenced by sshAuthRef.
    "},{"location":"concepts/crds/#clusteroperation","title":"ClusterOperation","text":"

    In Kubean, you can declare actions (deployment, upgrade, etc.) against a Kubernetes cluster with a ClusterOperation CRD. This CRD must be correctly associated with the corresponding Cluster CRD, which provides necessary information for executing these actions.

    Here's an example of the ClusterOperation CRD:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-demo-ops-1\nspec:\n  cluster: cluster1-demo\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n

    Each field in this CRD is explained as follows:

    "},{"location":"concepts/crds/#metadata-section_1","title":"Metadata Section","text":"
    • name: uniquely identifies an action against the associated cluster.
    "},{"location":"concepts/crds/#spec","title":"Spec","text":"
    • cluster: name of the cluster against which this action will be executed. It should be the same as the value declared in the Cluster CRD.
    • image: address of the Kubespray image. You can use the image in the Kubean repo or your own image.
    • actionType: type of the action. It currently can be set as either playbook or shell.
    • action: the action to be executed. It currently can be set as either a playbook file path or a shell command.
    • preHook: what should be done before executing the action. Allow multiple values, such as test connectivity.
    • actionType: refer to the above actionType.
    • action: refer to the above action.
    • postHook: what to do after executing the action. Allow multiple values, such as get the cluster status.
    • actionType: refer to the above actionType.
    • action: refer to the above action.
    "},{"location":"concepts/crds/#manifest","title":"Manifest","text":"

    In Kubean, you can use a Manifest CRD to create and maintain a record of components, packages, and versions used by or compatible with the current version of Kubean. You don't need to do this job manually. Kubean will take care of it for you.

    Here's an example of the Manifest CRD:

    apiVersion: kubean.io/v1alpha1\nkind: Manifest\nmetadata:\n  name: kubeaninfomanifest-v0-4-0-rc2\nspec:\n  components:\n  - defaultVersion: v1.1.1\n    name: cni\n    versionRange:\n    - v1.0.1\n    - v1.1.1\n  - defaultVersion: 1.6.9\n    name: containerd\n    versionRange:\n    .......\n    - 1.6.7\n    - 1.6.8\n    - 1.6.9\n  - defaultVersion: \"\"\n    name: kube\n    versionRange:\n    - v1.25.3\n    - v1.25.2\n    - v1.25.1\n    ........\n  - defaultVersion: v3.23.3\n    name: calico\n    versionRange:\n    - v3.23.3\n    - v3.22.4\n    - v3.21.6\n  - defaultVersion: v1.12.1\n    name: cilium\n    versionRange: []\n  - defaultVersion: \"null\"\n    name: etcd\n    versionRange:\n    - v3.5.3\n    - v3.5.4\n    - v3.5.5\n  docker:\n  - defaultVersion: \"20.10\"\n    os: redhat-7\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  - defaultVersion: \"20.10\"\n    os: debian\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  - defaultVersion: \"20.10\"\n    os: ubuntu\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  kubeanVersion: v0.4.0-rc2\n  kubesprayVersion: c788620\n

    Each field in this CRD is explained as follows:

    • components: declares versions of images or binary files.
    • name: name of a component.
    • defaultVersion: default versions of the component.
    • versionRange: supported component versions.
    • docker: manages Docker versions.
    • os: supported operating systems.
    • defaultVersion: the default version used.
    • versionRange: supported versions.
    • kubeanVersion: version of Kubean.
    • kubesprayVersion: version of the Kubespray used in Kubean.
    "},{"location":"concepts/crds/#localartifact","title":"LocalArtifact","text":"

    In Kubean, you can use a LocalArtifact CRD to record components and their versions supported by Kubean's offline package. You don't need to do this job manually. Kubean will take care of it for you.

    Here's an example of the LocalArtifact CRD:

    apiVersion: kubean.io/v1alpha1\nkind: LocalArtifactSet\nmetadata:\n  name: \"localartifactset-1709796014\"\n  labels:\n    kubean.io/sprayRelease: master\nspec:\n  kubespray: \"989ba207e9da2e1364f375450561d08af80c8535\"\n  items:\n    - name: cilium\n      versionRange:\n        - \"v1.13.4\"\n    - name: flannel\n      versionRange:\n        - \"v0.22.0\"\n    - name: kube_ovn\n      versionRange:\n        - \"v1.11.5\"\n    - name: runc\n      versionRange:\n        - \"v1.1.12\"\n    - name: kube\n      versionRange:\n        - \"v1.1.12\"\n    - name: cni\n      versionRange:\n        - \"v1.3.0\"\n    - name: calico\n      versionRange:\n        - \"v3.26.4\"\n    - name: containerd\n      versionRange:\n        - \"1.7.13\"\n

    Each field in this CRD is explained as follows:

    • arch: a list of supported CPU architectures.
    • kubespray: Kubespray version used.
    • docker: manages Docker versions.
    • os: operating systems supported by Docker
    • versionRange: a list of supported Docker versions.
    • items: manages versions of other components.
    • name: name of a component.
    • versionRange: a list of supported versions of the component.
    "},{"location":"concepts/custom_action/","title":"Custom Actions","text":""},{"location":"concepts/custom_action/#motivation","title":"Motivation","text":"

    For users, the products of Kubean and Kubespray are OCI images, Helm charts, and K8s manifests. If you want to customize some operations after obtaining these products, it is possible but can be complicated and requires a lot of manual configuration modifications. We hope to simplify this process.

    "},{"location":"concepts/custom_action/#goal","title":"Goal","text":"

    Provide a convenient way for users to use customized actions to view, modify, and control the status of cluster nodes.

    "},{"location":"concepts/custom_action/#crd-design","title":"CRD Design","text":"
    1. Add the ActionSource field to declare the source of the action, whose value currently supports:

    2. builtin (default)

      Indicates the use of Kubean's built-in Ansible playbook or shell script in the manifest.\n
    3. configmap

      Indicates that the required Ansible playbook or shell script is obtained by referencing a K8s ConfigMap.\n
    4. Add the ActionSourceRef field to declare the resource object referenced when ActionSource is configmap. This field only takes effect when ActionSource is configmap, and its format is:

      actionSourceRef:\n  name: <configmap name>\n  namespace: <namespace of configmap>\n

    Configuration example:

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: cluster1-demo-myaction\n  namespace: kubean-system\ndata:\n  myplaybook.yml: |\n    - hosts: k8s_cluster\n      gather_facts: false\n      become: yes\n      any_errors_fatal: \"{{ any_errors_fatal | default(true) }}\"\n      tasks:\n        - name: Print inventory hostname\n          debug:\n            msg: \"inventory_hostname is {{ inventory_hostname }}\"\n  hello.sh: |\n    echo \"hello world!\"\n---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-demo-ops-1\nspec:\n  cluster: cluster1-demo\n  image: ghcr.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: myplaybook.yml\n  actionSource: configmap\n  actionSourceRef:\n    name: cluster1-demo-myaction\n    namespace: kubean-system\n  preHook:\n    - actionType: shell\n      action: hello.sh\n      actionSource: configmap\n      actionSourceRef:\n        name: cluster1-demo-myaction\n        namespace: kubean-system\n
    "},{"location":"concepts/theory_of_airgapped_package/","title":"Theory of Air-gapped packages","text":"

    Kubean CI builds offline assets to install Kubernetes in air-gapped environment.

    NOTE: About usage for the offline assets, please refer to offline.md

    This chapter explains the theory how the air-gapped packages come from.

    • Assets: Github Releases
    • Major contents:
    Asset Description files-*.tar.gz The binaries required in Kubespray installation: example : kubeadm, runc images-*.tar.gz The k8s cluster images as well as CNI images os-pkgs-${linux_distribution}-${tag}.tar.gz deb/rpm required during k8s installion"},{"location":"concepts/theory_of_airgapped_package/#how-to-build-the-assets","title":"How to build the assets","text":"
    1. Images & binaries

      As stated in Kubespray offline deployment guide, Kubespray already provides scripts to generate images and binaries list. (Thanks to great Kubespray! )

      With help of Kubespray script to generate binaries & images list, then we can use manage-offline-files.sh to download those binaries and images. At last, Kubean provides an call-offline-build.yaml(Github Action scripts) to make them together.

    2. os-packages (deb/rpm)

      During the k8s installation, a few packages could not be installed as binaries, so we have to install them via deb/rpm. The os packages list defines what packages will be involved.

      Github Action will build packages in different OS (as Qemu) via dnf/apt to download and archive RPM/DEB packages.

    3. CI process

      The offline assets are generated/managed by Github Action scripts.

    "},{"location":"develop/roadmap/","title":"Kubean Roadmap","text":"

    The current Roadmap is tentative, and the exact schedule depends on the needs of the community.

    For features not mentioned in the Roadmap, we can discuss them in the issues.

    "},{"location":"develop/roadmap/#q3-2022","title":"Q3 2022","text":"
    • Design Kubean project architecture process like architecture.md
    • Verify Kubean's cluster lifecycle management operations
    • Add OS packages to build CI https://github.com/kubean-io/kubean/pull/62
    • Provide Kubean API https://github.com/kubean-io/kubean/pull/128
    "},{"location":"develop/roadmap/#q4-2022","title":"Q4 2022","text":"
    • Implement E2E tests like kubean test case
    • Ensure k8s images and binary packages support the ARM architecture https://github.com/kubean-io/kubean/pull/200
    • Support for upgrade package builds https://github.com/kubean-io/kubean/pull/289
    • Adapt the deployment for offline scenario RHEL8.4 https://github.com/kubean-io/kubean/pull/325
    • Support for restore package manager configuration https://github.com/kubean-io/kubean/pull/298
    • Support for restoring Kubeconfig after the cluster deployment https://github.com/kubean-io/kubean/pull/192
    • Add SSH Key authentication deployment method https://github.com/kubean-io/kubean/pull/302
    "},{"location":"develop/roadmap/#q1-2023","title":"Q1 2023","text":"
    • Support for apt package manager configuration https://github.com/kubean-io/kubean/pull/459
    • Support for custom actions for Cluster Operation CRD https://github.com/kubean-io/kubean/issues/361
    • Kubean chart supports charts-syncer https://github.com/kubean-io/kubean/pull/468
    • Add pre-testing before deployment https://github.com/kubean-io/kubean/pull/555
    • Adapt the Uniontech V20 1020a linux https://github.com/kubean-io/kubean/pull/583
    "},{"location":"develop/roadmap/#q2-2023","title":"Q2 2023","text":"
    • Support for clustered deployments based on OpenEuler offline scenarios https://github.com/kubean-io/kubean/pull/628
    • Support for Other Linux to automatically build offline scenario-dependent system packages via scripts https://github.com/kubean-io/kubean/pull/627
    • Update the kubean documentation site with mkdocs https://github.com/kubean-io/kubean/pull/728
    • Optimize release CI https://github.com/kubean-io/kubean/pull/863
    • Add ansible script for certificate renewal https://github.com/kubean-io/kubean/pull/884
    • Update the release process https://github.com/kubean-io/kubean/pull/869
    "},{"location":"develop/roadmap/#q3-2023","title":"Q3 2023","text":"
    • Add certificate renewal script: https://github.com/kubean-io/kubean/pull/884
    • Implement daily deployment verification for the latest version of upstream kubespray: https://github.com/kubean-io/kubean/pull/870
    • Ensure cascading deletion of Cluster resources: https://github.com/kubean-io/kubean/pull/918
    • Add cleanup weight for ClusterOperation records: https://github.com/kubean-io/kubean/pull/983
    "},{"location":"develop/roadmap/#q4-2023","title":"Q4 2023","text":"
    • Optimize offline image package to OCI format: https://github.com/kubean-io/kubean/pull/996
    • Improve logging input for Operators: https://github.com/kubean-io/kubean/pull/1032
    • Enhance query efficiency of Manifest resources: https://github.com/kubean-io/kubean/pull/1036
    • Refactor image import script to support multi-architecture import: https://github.com/kubean-io/kubean/pull/1040
    "},{"location":"develop/roadmap/#q1-2024","title":"Q1 2024","text":"
    • Improve execution efficiency of precheck script: https://github.com/kubean-io/kubean/pull/1076
    • Optimize tuning performance of ClusterOperation: https://github.com/kubean-io/kubean/pull/1082
    • Refactor logic of custom resource generation script: https://github.com/kubean-io/kubean/pull/1152
    • Fix offline package version issue for Ubuntu 18.04: https://github.com/kubean-io/kubean/pull/1158
    • Automate pre-steps for limiting disk usage per container in Docker: https://github.com/kubean-io/kubean/pull/1179
    "},{"location":"develop/roadmap/#q2-2024","title":"Q2 2024","text":"
    • Provide a client command-line tool and convenient method for generating custom resource modules
    • Capacity planning for cluster deployment on different node scales
    • Provide a complete offline resource management solution
    • Support multiple lifecycle management engines, such as kubespray and kubekey.
    • Enable cluster operation rollback based on ostree.
    "},{"location":"releases/artifacts/","title":"Artifacts","text":""},{"location":"releases/artifacts/#release-224","title":"\u25b6\ufe0f release-2.24","text":"

    \u2693 kube_version range: [ v1.26.0 ~ v1.29.1 ]

    Commit Date Artifacts \ud83d\udcc5 2024-07-29 07:00:34 \ud83d\udcdd manifest-2.24-1688e05.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-1688e05 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-1688e05 \ud83d\udcc5 2024-06-11 07:55:11 \ud83d\udcdd manifest-2.24-5377247.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-5377247 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-5377247 \ud83d\udcc5 2024-03-07 15:59:09 \ud83d\udcdd manifest-2.24-bc6bd21.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-bc6bd21 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-bc6bd21"},{"location":"releases/artifacts/#release-222","title":"\u25b6\ufe0f release-2.22","text":"

    \u2693 kube_version range: [ v1.24.0 ~ v1.26.13 ]

    Commit Date Artifacts \ud83d\udcc5 2024-02-07 19:59:36 \ud83d\udcdd manifest-2.22-71b6fa1.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-71b6fa1 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-71b6fa1 \ud83d\udcc5 2024-01-22 16:23:42 \ud83d\udcdd manifest-2.22-d8a8fb0.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-d8a8fb0 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-d8a8fb0 \ud83d\udcc5 2024-01-11 13:59:56 \ud83d\udcdd manifest-2.22-774d824.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-774d824 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-774d824"},{"location":"releases/artifacts/#release-223","title":"\u25b6\ufe0f release-2.23","text":"

    \u2693 kube_version range: [ v1.25.0 ~ v1.27.10 ]

    Commit Date Artifacts \ud83d\udcc5 2024-05-03 09:20:40 \ud83d\udcdd manifest-2.23-e5fc8a9.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-e5fc8a9 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-e5fc8a9 \ud83d\udcc5 2024-02-06 14:06:16 \ud83d\udcdd manifest-2.23-07e19e5.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-07e19e5 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-07e19e5 \ud83d\udcc5 2023-12-13 10:30:18 \ud83d\udcdd manifest-2.23-e4be213.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-e4be213 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-e4be213"},{"location":"releases/artifacts/#release-221","title":"\u25b6\ufe0f release-2.21","text":"

    \u2693 kube_version range: [ v1.23.0 ~ v1.25.6 ]

    Commit Date Artifacts \ud83d\udcc5 2024-01-22 16:13:31 \ud83d\udcdd manifest-2.21-e86c0cf.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.21-e86c0cf \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.21-e86c0cf \ud83d\udcc5 2024-01-12 07:28:51 \ud83d\udcdd manifest-2.21-e4ac3ab.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.21-e4ac3ab \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.21-e4ac3ab"},{"location":"releases/artifacts/#release-225","title":"\u25b6\ufe0f release-2.25","text":"

    \u2693 kube_version range: [ v1.27.0 ~ v1.29.5 ]

    Commit Date Artifacts \ud83d\udcc5 2024-07-15 06:11:10 \ud83d\udcdd manifest-2.25-462e68b.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.25-462e68b \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.25-462e68b"},{"location":"releases/v0.10.0/","title":"V0.10.0","text":""},{"location":"releases/v0.10.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.10.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • sync chart to release.daocloud.io by @hangscer8 in https://github.com/kubean-io/kubean/pull/991
    • fix upload charts to release.daocloud.io by @hangscer8 in https://github.com/kubean-io/kubean/pull/992
    • Change image artifact to OCI format by @tu1h in https://github.com/kubean-io/kubean/pull/996
    • Optimize file handle logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/998
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/997
    • Optimize file import logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/1000
    • Allow etcd hosts in some playbooks by @tu1h in https://github.com/kubean-io/kubean/pull/1001
    • Allow etcd hosts in playbook remove-pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/1002
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1003
    • spray artifact patch by @tu1h in https://github.com/kubean-io/kubean/pull/1005
    • Fix kubespray image build compatibility by @tu1h in https://github.com/kubean-io/kubean/pull/1006
    • Update airgap patch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1004
    • make kubespray download files compatible by @tu1h in https://github.com/kubean-io/kubean/pull/1007
    • Fixing airgap-patch image build issues by @ErikJiang in https://github.com/kubean-io/kubean/pull/1008
    • fix upload assets greater than 2 GiB issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1009

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.3...v0.10.0

    "},{"location":"releases/v0.11.0/","title":"V0.11.0","text":""},{"location":"releases/v0.11.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-qemu-action from 2 to 3 by @dependabot in https://github.com/kubean-io/kubean/pull/1019
    • Bump mikefarah/yq from 4.33.3 to 4.40.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1018
    • Bump docker/build-push-action from 4.1.1 to 5.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1017
    • Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1016
    • Bump docker/login-action from 2 to 3 by @dependabot in https://github.com/kubean-io/kubean/pull/1015
    • Bump docker/setup-buildx-action from 2.7.0 to 3.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1028
    • Bump mikefarah/yq from 4.40.2 to 4.40.4 by @dependabot in https://github.com/kubean-io/kubean/pull/1041
    • Bump actions/labeler from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1042
    • Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1046
    • Bump mikefarah/yq from 4.40.4 to 4.40.5 by @dependabot in https://github.com/kubean-io/kubean/pull/1052
    • Bump actions/setup-go from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1047
    "},{"location":"releases/v0.11.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add kubespray commit timestamp by @ErikJiang in https://github.com/kubean-io/kubean/pull/1010
    • clean debug info for manual CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1011
    • update kubespray artifact patch CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1012
    • fix rebuild kubespray image issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1013
    • clean manifest dir by @ErikJiang in https://github.com/kubean-io/kubean/pull/1014
    • update artifact patch md by @ErikJiang in https://github.com/kubean-io/kubean/pull/1024
    • Revert \"Bump actions/checkout from 3 to 4\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1026
    • Refactor controllers of Manifest and Localartifact by @tu1h in https://github.com/kubean-io/kubean/pull/1025
    • update airgap patch docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1029
    • fix airgap dockerfile issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1030
    • Enhancement log print by @tu1h in https://github.com/kubean-io/kubean/pull/1032
    • Fix bump version failed by @Rei1010 in https://github.com/kubean-io/kubean/pull/1035
    • Optimize manifest lookup overhead by @tu1h in https://github.com/kubean-io/kubean/pull/1036
    • Add unit test by @tu1h in https://github.com/kubean-io/kubean/pull/1038
    • Refactor import images script to support merge multi-platform image by @tu1h in https://github.com/kubean-io/kubean/pull/1040
    • Allows using the airgap patch script to generate full offline packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1033
    • refine airgap demo by @ErikJiang in https://github.com/kubean-io/kubean/pull/1043
    • Fix e2e failure since incompatible image-importing script by @tu1h in https://github.com/kubean-io/kubean/pull/1044
    • Update CNCF image in README by @tu1h in https://github.com/kubean-io/kubean/pull/1048
    • Fix nop-copy in code generation by @tu1h in https://github.com/kubean-io/kubean/pull/1051
    • Fix upstream breaking-change #10626 by @tu1h in https://github.com/kubean-io/kubean/pull/1050
    • Revert \"Bump actions/setup-go from 4 to 5\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1053
    • update kubespray commit by @ErikJiang in https://github.com/kubean-io/kubean/pull/1045

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.10.0...v0.11.0

    "},{"location":"releases/v0.11.1/","title":"V0.11.1","text":""},{"location":"releases/v0.11.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add unit test cases by @tu1h in https://github.com/kubean-io/kubean/pull/1061
    • Adjust support matrix permission by @Rei1010 in https://github.com/kubean-io/kubean/pull/1063
    • set default flag for airgap full mode by @ErikJiang in https://github.com/kubean-io/kubean/pull/1064

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.0...v0.11.1

    "},{"location":"releases/v0.11.2/","title":"V0.11.2","text":""},{"location":"releases/v0.11.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1065
    • Fix e2e when upgrade cluster by @tu1h in https://github.com/kubean-io/kubean/pull/1066
    • Restore image address by @ErikJiang in https://github.com/kubean-io/kubean/pull/1067
    • update binaries url by @ErikJiang in https://github.com/kubean-io/kubean/pull/1068
    • clear old airgap data in dockerfile by @ErikJiang in https://github.com/kubean-io/kubean/pull/1069
    • update airgap scripts by @ErikJiang in https://github.com/kubean-io/kubean/pull/1070
    • update release latest status by @ErikJiang in https://github.com/kubean-io/kubean/pull/1071

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.1...v0.11.2

    "},{"location":"releases/v0.12.0/","title":"V0.12.0","text":""},{"location":"releases/v0.12.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Remove building and uses of kubespray latest tag by @tu1h in https://github.com/kubean-io/kubean/pull/1073
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1072
    • Get correct kubespray version in e2e by @tu1h in https://github.com/kubean-io/kubean/pull/1074
    • Add playbook for kube-vip configuration by @tu1h in https://github.com/kubean-io/kubean/pull/1075
    • Improve execution efficiency for precheck playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1076
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1077

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.2...v0.12.0

    "},{"location":"releases/v0.12.1/","title":"V0.12.1","text":""},{"location":"releases/v0.12.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • get pause image tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/1080
    • Optimize clusteroperation reconcile by @tu1h in https://github.com/kubean-io/kubean/pull/1082
    • Add new playbook into whitelist by @tu1h in https://github.com/kubean-io/kubean/pull/1081
    • [zh-cn] update offline build script describe by @my-git9 in https://github.com/kubean-io/kubean/pull/1062
    • Patch for #1076 - cancel gather fact in playbook level by @tu1h in https://github.com/kubean-io/kubean/pull/1083
    • Fix coredns image version mismatch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1084
    • fixed crictl binary version mismatch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1085
    • update denpendencies url by @ErikJiang in https://github.com/kubean-io/kubean/pull/1086
    • add project for harbor by @ErikJiang in https://github.com/kubean-io/kubean/pull/1087
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1088

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.0...v0.12.1

    "},{"location":"releases/v0.12.2/","title":"V0.12.2","text":""},{"location":"releases/v0.12.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Fix verify Kubespray e2e by @tu1h in https://github.com/kubean-io/kubean/pull/1094
    • Fix verify Kubespray e2e in cluster reset step by @tu1h in https://github.com/kubean-io/kubean/pull/1095
    • migrate old version localArtifactSet by @ErikJiang in https://github.com/kubean-io/kubean/pull/1096
    • enhance quick start gif by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1098
    • add podman for offline e2e by @ErikJiang in https://github.com/kubean-io/kubean/pull/1099
    • fix missing version_lt function by @ErikJiang in https://github.com/kubean-io/kubean/pull/1100
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1078
    • Refine kube vip playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1101

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.1...v0.12.2

    "},{"location":"releases/v0.12.3/","title":"V0.12.3","text":""},{"location":"releases/v0.12.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [cherry-pick] Add Rockylinux support by @tu1h in https://github.com/kubean-io/kubean/pull/1129

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.2...v0.12.3

    "},{"location":"releases/v0.13.0/","title":"V0.13.0","text":""},{"location":"releases/v0.13.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Unrestrict kubeproxy mode for kubevip playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1106
    • update spray version to 0dbde75 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1107
    • remove cd step in release ci and change workflows name by @ErikJiang in https://github.com/kubean-io/kubean/pull/1105

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.2...v0.13.0

    "},{"location":"releases/v0.13.1/","title":"V0.13.1","text":""},{"location":"releases/v0.13.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.27.6 to 1.31.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1091
    • Bump actions/cache from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1089
    • Bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1057
    • Bump actions/download-artifact from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1056
    "},{"location":"releases/v0.13.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add Rockylinux 9 support by @tu1h in https://github.com/kubean-io/kubean/pull/1104
    • Bump default E2E Kubernetes version by @Rei1010 in https://github.com/kubean-io/kubean/pull/1108
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1102
    • Revert \"Bump github.com/onsi/gomega from 1.27.6 to 1.31.1\" by @tu1h in https://github.com/kubean-io/kubean/pull/1109
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1112
    • add concurrency policy for PR CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1113

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.0...v0.13.1

    "},{"location":"releases/v0.13.10/","title":"V0.13.10","text":""},{"location":"releases/v0.13.10/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.10/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1197
    • Bump peaceiris/actions-gh-pages from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1200
    "},{"location":"releases/v0.13.10/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1193
    • Reconstruct the daily e2e test structure and add automatic retry of e2e tests by @FloatXD in https://github.com/kubean-io/kubean/pull/1194
    • add panpan0000 as maintainer. by @panpan0000 in https://github.com/kubean-io/kubean/pull/1196
    • update roadmap for Q2 2024 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1195
    • update sonobouy_e2e CONTAINER_TAG by @FloatXD in https://github.com/kubean-io/kubean/pull/1198
    • Update README.md by @wawa0210 in https://github.com/kubean-io/kubean/pull/1199
    • rollback kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1202
    "},{"location":"releases/v0.13.10/#new-contributors","title":"New Contributors","text":"
    • @FloatXD made their first contribution in https://github.com/kubean-io/kubean/pull/1194

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.14.0...v0.13.10

    "},{"location":"releases/v0.13.11/","title":"V0.13.11","text":""},{"location":"releases/v0.13.11/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.11/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1203
    • Support multi-arch for Ubuntu ospkg by @tu1h in https://github.com/kubean-io/kubean/pull/1204
    • Update MAINTAINERS by @tu1h in https://github.com/kubean-io/kubean/pull/1205

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.10...v0.13.11

    "},{"location":"releases/v0.13.2/","title":"V0.13.2","text":""},{"location":"releases/v0.13.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1115
    • add stale workflow by @ErikJiang in https://github.com/kubean-io/kubean/pull/1116
    • Remove kubectl get version option by @Rei1010 in https://github.com/kubean-io/kubean/pull/1117
    • Bump offline E2E Kubernetes version by @Rei1010 in https://github.com/kubean-io/kubean/pull/1122
    • Bump offline E2E Kubernetes version to 1.27.5 by @Rei1010 in https://github.com/kubean-io/kubean/pull/1128
    • Enhance Kubean chart helper template by @tu1h in https://github.com/kubean-io/kubean/pull/1132
    • Bump docker-containerd to 1.6.28 for ospkgs by @tu1h in https://github.com/kubean-io/kubean/pull/1131
    • Correct the downloads info generation by @tu1h in https://github.com/kubean-io/kubean/pull/1134
    • fix kube_version empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/1136
    • update verify tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/1137

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.1...v0.13.2

    "},{"location":"releases/v0.13.3/","title":"V0.13.3","text":""},{"location":"releases/v0.13.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix empty images list file by @ErikJiang in https://github.com/kubean-io/kubean/pull/1138

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.2...v0.13.3

    "},{"location":"releases/v0.13.4/","title":"V0.13.4","text":""},{"location":"releases/v0.13.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.4/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.40.5 to 4.42.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1135
    • Bump docker/setup-buildx-action from 3.0.0 to 3.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1141
    "},{"location":"releases/v0.13.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add runc component version info by @ErikJiang in https://github.com/kubean-io/kubean/pull/1139
    • add runc key in template by @ErikJiang in https://github.com/kubean-io/kubean/pull/1140
    • Bump Offline E2E by @Rei1010 in https://github.com/kubean-io/kubean/pull/1133
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1130
    • Fix E2E Failure by @Rei1010 in https://github.com/kubean-io/kubean/pull/1143
    • remove pause version function by @ErikJiang in https://github.com/kubean-io/kubean/pull/1144
    • Remove etcd from optional component version information by @ErikJiang in https://github.com/kubean-io/kubean/pull/1146
    • add docker version 24.0 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1145
    • Remove etcd version multi-select information from custom resources by @ErikJiang in https://github.com/kubean-io/kubean/pull/1147
    • Fix container-selinux version for redhat8 by @tu1h in https://github.com/kubean-io/kubean/pull/1148

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.3...v0.13.4

    "},{"location":"releases/v0.13.5/","title":"V0.13.5","text":""},{"location":"releases/v0.13.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.5/#new-features","title":"\u2728 New Features","text":"
    • refactoring custom resource generate script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1152
    "},{"location":"releases/v0.13.5/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump softprops/action-gh-release from 1 to 2 by @dependabot in https://github.com/kubean-io/kubean/pull/1155
    • Bump docker/build-push-action from 5.1.0 to 5.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1154
    • Bump golangci/golangci-lint-action from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1120
    • Bump peter-evans/create-pull-request from 5 to 6 by @dependabot in https://github.com/kubean-io/kubean/pull/1111
    "},{"location":"releases/v0.13.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix artifacts kube_version_range by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1150
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1149
    • clean unused files by @ErikJiang in https://github.com/kubean-io/kubean/pull/1153
    • fix docker-ce-cli version in ubuntu2004 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1157

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.4...v0.13.5

    "},{"location":"releases/v0.13.6/","title":"V0.13.6","text":""},{"location":"releases/v0.13.6/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.6/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 5.2.0 to 5.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1162
    • Bump docker/setup-buildx-action from 3.1.0 to 3.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1161
    "},{"location":"releases/v0.13.6/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1159
    • fix docker-ce-cli version in ubuntu18.04 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1158
    • fresh package list when build os pkgs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1160
    • add debug script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1163
    • Precheck if docker is running by @tu1h in https://github.com/kubean-io/kubean/pull/1164
    • Add playbook to config insecure registry by @tu1h in https://github.com/kubean-io/kubean/pull/1170
    • Add playbook to enable nf_conntrack by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1171

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.5...v0.13.6

    "},{"location":"releases/v0.13.7/","title":"V0.13.7","text":""},{"location":"releases/v0.13.7/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.7/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix missing lib file in arm-arch container by @ErikJiang in https://github.com/kubean-io/kubean/pull/1173
    • fix kube version rendering error by @ErikJiang in https://github.com/kubean-io/kubean/pull/1174

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.6...v0.13.7

    "},{"location":"releases/v0.13.8/","title":"V0.13.8","text":""},{"location":"releases/v0.13.8/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.8/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix build ubuntu os-pkg: lack unzip pkg by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1175

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.7...v0.13.8

    "},{"location":"releases/v0.13.9/","title":"V0.13.9","text":""},{"location":"releases/v0.13.9/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.9/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Make the python version determined in config-insecure-registry.yml by @tu1h in https://github.com/kubean-io/kubean/pull/1176
    • enable live restore for docker by @tu1h in https://github.com/kubean-io/kubean/pull/1178
    • fix build os-pkg for ubuntu2004: set containerd to 1.6.28-1 when install docker by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1177
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1172

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.8...v0.13.9

    "},{"location":"releases/v0.14.0/","title":"V0.14.0","text":""},{"location":"releases/v0.14.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.14.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.42.1 to 4.43.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1182
    "},{"location":"releases/v0.14.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • playbook: mount xfs device with pquota option by @ErikJiang in https://github.com/kubean-io/kubean/pull/1179
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1180
    • add ut by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1183
    • Chore: update chart readme by @yyzxw in https://github.com/kubean-io/kubean/pull/1186
    • clear coverage temp file by @ErikJiang in https://github.com/kubean-io/kubean/pull/1188
    • coverage spelling mistake by @ErikJiang in https://github.com/kubean-io/kubean/pull/1189
    • add ut by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1187
    • add release version 2.24 for artifact doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/1190
    • change spray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1191
    • Bump python version for offline build github action by @tu1h in https://github.com/kubean-io/kubean/pull/1192

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.9...v0.14.0

    "},{"location":"releases/v0.15.0/","title":"V0.15.0","text":""},{"location":"releases/v0.15.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump golangci/golangci-lint-action from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1213
    "},{"location":"releases/v0.15.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • load kubeconfig filepath when load rest config fail by @HeavenTonight in https://github.com/kubean-io/kubean/pull/1201
    • fix: makefile error by @yyzxw in https://github.com/kubean-io/kubean/pull/1215
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1206
    • add other info for docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1219
    • Add license scan report and status by @fossabot in https://github.com/kubean-io/kubean/pull/1218
    • Update README and GOVERNANCE md by @tu1h in https://github.com/kubean-io/kubean/pull/1220
    • Support for Ubuntu jammy by @tu1h in https://github.com/kubean-io/kubean/pull/1221
    • [docs] Improve usage/airgap.md by @windsonsea in https://github.com/kubean-io/kubean/pull/1223
    • optimized pkg_mgr patch logic by @ErikJiang in https://github.com/kubean-io/kubean/pull/1222
    • fix CVE-2023-24538 vulnerabilities in spray image by @ErikJiang in https://github.com/kubean-io/kubean/pull/1225
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1216
    "},{"location":"releases/v0.15.0/#new-contributors","title":"New Contributors","text":"
    • @HeavenTonight made their first contribution in https://github.com/kubean-io/kubean/pull/1201
    • @fossabot made their first contribution in https://github.com/kubean-io/kubean/pull/1218

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.11...v0.15.0

    "},{"location":"releases/v0.15.1/","title":"V0.15.1","text":""},{"location":"releases/v0.15.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump golangci/golangci-lint-action from 5 to 6 by @dependabot in https://github.com/kubean-io/kubean/pull/1226
    "},{"location":"releases/v0.15.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1227
    • Modify Kubespray CI's rebuild logic for image building by @ErikJiang in https://github.com/kubean-io/kubean/pull/1229
    • fix get dockerfile commit is empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/1230
    • add dockerfile commit outputs var by @ErikJiang in https://github.com/kubean-io/kubean/pull/1231
    • Remove quotes from Dockerfile commit values in image building CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1232
    • Bump Kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1233

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.0...v0.15.1

    "},{"location":"releases/v0.15.2/","title":"V0.15.2","text":""},{"location":"releases/v0.15.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1234
    • add sha256sum file to release assets by @ErikJiang in https://github.com/kubean-io/kubean/pull/1236
    • update the image: kubean architecture by @windsonsea in https://github.com/kubean-io/kubean/pull/1235
    • Update en and zh README by @windsonsea in https://github.com/kubean-io/kubean/pull/1228
    • update fossa badge for readme by @ErikJiang in https://github.com/kubean-io/kubean/pull/1238
    • Supplement centos in os pkgs matrix by @ErikJiang in https://github.com/kubean-io/kubean/pull/1240

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.1...v0.15.2

    "},{"location":"releases/v0.15.3/","title":"V0.15.3","text":""},{"location":"releases/v0.15.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.3/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.43.1 to 4.44.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1242
    • Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1246
    • Bump github.com/go-logr/logr from 1.2.4 to 1.4.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1247
    "},{"location":"releases/v0.15.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add checksum in the download script by @FloatXD in https://github.com/kubean-io/kubean/pull/1237
    • fix util download_resource_files by @FloatXD in https://github.com/kubean-io/kubean/pull/1248
    • Fix invalid use of klog format specifier by @tu1h in https://github.com/kubean-io/kubean/pull/1249
    • Fix incorrect e2e assert by @tu1h in https://github.com/kubean-io/kubean/pull/1251
    • update default kube_version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1250

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.2...v0.15.3

    "},{"location":"releases/v0.16.0/","title":"V0.16.0","text":""},{"location":"releases/v0.16.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/go-logr/logr from 1.4.1 to 1.4.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1263
    • Bump docker/build-push-action from 5.3.0 to 5.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1266
    • Bump github.com/onsi/ginkgo/v2 from 2.9.4 to 2.19.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1267
    "},{"location":"releases/v0.16.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1252
    • streamlined remote access with ssh key mode for other linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/1253
    • update KUBE_VERSION in e2e_test by @FloatXD in https://github.com/kubean-io/kubean/pull/1258
    • update offline e2e kube verison by @FloatXD in https://github.com/kubean-io/kubean/pull/1259
    • update e2e kube verison by @FloatXD in https://github.com/kubean-io/kubean/pull/1260
    • Remove kubectl get version option by @FloatXD in https://github.com/kubean-io/kubean/pull/1262
    • bump kube_version to v1.29 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1268
    • add docker 26.1 to os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1269
    • update rhel8 os package by @ErikJiang in https://github.com/kubean-io/kubean/pull/1270

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.3...v0.16.0

    "},{"location":"releases/v0.16.1/","title":"V0.16.1","text":""},{"location":"releases/v0.16.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1271
    • update e2e kube verison to v1.29.0 by @FloatXD in https://github.com/kubean-io/kubean/pull/1272
    • Add playbook to set containerd registry mirrors by @tu1h in https://github.com/kubean-io/kubean/pull/1273
    • Refine playbook set_containerd_registry_mirror by @tu1h in https://github.com/kubean-io/kubean/pull/1274

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.0...v0.16.1

    "},{"location":"releases/v0.16.2/","title":"V0.16.2","text":""},{"location":"releases/v0.16.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.1 to 4.44.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1282
    • Bump docker/build-push-action from 5.4.0 to 6.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1281
    • Bump k8s.io/klog/v2 from 2.100.1 to 2.130.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1280
    • Bump github.com/spf13/cobra from 1.8.0 to 1.8.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1276
    "},{"location":"releases/v0.16.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1275
    • Support disable kernel unattended upgrades for Ubuntu by @tu1h in https://github.com/kubean-io/kubean/pull/1283
    • Fix bug of #1283 by @tu1h in https://github.com/kubean-io/kubean/pull/1284

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.1...v0.16.2

    "},{"location":"releases/v0.16.3/","title":"V0.16.3","text":""},{"location":"releases/v0.16.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix kylinv10 containerd version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1286

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.2...v0.16.3

    "},{"location":"releases/v0.17.0/","title":"V0.17.0","text":""},{"location":"releases/v0.17.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.0/#new-features","title":"\u2728 New Features","text":"
    • restart components after renew certs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1295
    • Add ipset & ipvsadm to os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1298
    • fix CVE-2024-24790 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1300
    "},{"location":"releases/v0.17.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.0.0 to 6.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1289
    • Bump k8s.io/klog/v2 from 2.130.0 to 2.130.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1291
    • Bump docker/build-push-action from 6.1.0 to 6.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1293
    • Bump docker/build-push-action from 6.2.0 to 6.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1299
    • Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1301
    "},{"location":"releases/v0.17.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix config error in e2e upgrade test by @FloatXD in https://github.com/kubean-io/kubean/pull/1287
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1285
    • update os-pkg linux list by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1290
    • Simplify kubean download_url format by @ErikJiang in https://github.com/kubean-io/kubean/pull/1294
    • restart control plane pods after renew certs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1297
    • Use orcalelinux7 instead of centos7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1296
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1302

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.3...v0.17.0

    "},{"location":"releases/v0.17.1/","title":"V0.17.1","text":""},{"location":"releases/v0.17.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1303
    • Clean os pkgs for rhel7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1304
    • Add os pkg for kylin v10 sp3 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1305

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.0...v0.17.1

    "},{"location":"releases/v0.17.2/","title":"V0.17.2","text":""},{"location":"releases/v0.17.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • update kylin default docker version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1307
    • Change Docker cgroupDriver to cgroupfs in Kylin SP2 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1308
    • bump docker containerd version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1309
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1306

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.1...v0.17.2

    "},{"location":"releases/v0.17.3/","title":"V0.17.3","text":""},{"location":"releases/v0.17.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.3/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.3.0 to 6.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1311
    "},{"location":"releases/v0.17.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1310
    • update kylin iso repo urls by @ErikJiang in https://github.com/kubean-io/kubean/pull/1312
    • add precheck time info by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1313

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.2...v0.17.3

    "},{"location":"releases/v0.17.4/","title":"V0.17.4","text":""},{"location":"releases/v0.17.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [e2e]fix os repo in arm-offline-e2e by @FloatXD in https://github.com/kubean-io/kubean/pull/1323
    • Bump kubespray to 2d194af by @tu1h in https://github.com/kubean-io/kubean/pull/1324

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.3...v0.17.4

    "},{"location":"releases/v0.17.5/","title":"V0.17.5","text":""},{"location":"releases/v0.17.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • update artifact doc script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1316
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1314
    • Bump kubespray to 86f9803 by @tu1h in https://github.com/kubean-io/kubean/pull/1329

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.4...v0.17.5

    "},{"location":"releases/v0.18.0/","title":"V0.18.0","text":""},{"location":"releases/v0.18.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.4.0 to 3.6.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1328
    • Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1327
    • Bump docker/build-push-action from 6.4.0 to 6.5.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1318
    "},{"location":"releases/v0.18.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [docs] remove $ from only-command to reduce actions by @windsonsea in https://github.com/kubean-io/kubean/pull/1325

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.5...v0.18.0

    "},{"location":"releases/v0.18.1/","title":"V0.18.1","text":""},{"location":"releases/v0.18.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Fix role privilege by @tu1h in https://github.com/kubean-io/kubean/pull/1336

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.0...v0.18.1

    "},{"location":"releases/v0.18.2/","title":"V0.18.2","text":""},{"location":"releases/v0.18.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.5.0 to 6.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1339
    "},{"location":"releases/v0.18.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test]fix network e2e by @FloatXD in https://github.com/kubean-io/kubean/pull/1338
    • Image building enhancement by @tu1h in https://github.com/kubean-io/kubean/pull/1341
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1330

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.1...v0.18.2

    "},{"location":"releases/v0.18.3/","title":"V0.18.3","text":""},{"location":"releases/v0.18.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add SprayJobImageRegistry to kubean-config and update manifest by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1348

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.2...v0.18.3

    "},{"location":"releases/v0.18.4/","title":"V0.18.4","text":""},{"location":"releases/v0.18.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • keep current manifest when helm upgrade kubean by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1349
    • bump kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1350

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.3...v0.18.4

    "},{"location":"releases/v0.18.5/","title":"V0.18.5","text":""},{"location":"releases/v0.18.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix kubean manifest helm keep policy by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1352

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.4...v0.18.5

    "},{"location":"releases/v0.19.0/","title":"V0.19.0","text":""},{"location":"releases/v0.19.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.19.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.2 to 4.44.3 by @dependabot in https://github.com/kubean-io/kubean/pull/1333
    • Bump github.com/onsi/gomega from 1.34.0 to 1.34.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1334
    • Bump k8s.io/apiserver from 0.26.4 to 0.31.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1343
    • Bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1360
    • Bump github.com/onsi/gomega from 1.34.1 to 1.34.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1359
    • Bump peter-evans/create-pull-request from 6 to 7 by @dependabot in https://github.com/kubean-io/kubean/pull/1361
    "},{"location":"releases/v0.19.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix rls version handing in artifacts doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/1351
    • Update gen_artifact_doc.py by @ErikJiang in https://github.com/kubean-io/kubean/pull/1353
    • Support Rocky Linux 8 by @tu1h in https://github.com/kubean-io/kubean/pull/1354
    • Update renew-certs.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/1355
    • [Test]Use ls -l instead of ll by @FloatXD in https://github.com/kubean-io/kubean/pull/1347
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1342
    • Revert \"Bump k8s.io/apiserver from 0.26.4 to 0.31.0\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1357
    • add helm hook to add manifest annotation by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1358
    • update spray commit & kube version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1362

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.5...v0.19.0

    "},{"location":"releases/v0.20.0/","title":"V0.20.0","text":""},{"location":"releases/v0.20.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.20.0/#documentation","title":"\ud83d\udcda Documentation","text":"
    • [test]update Kubean test case by @FloatXD in https://github.com/kubean-io/kubean/pull/1383
    "},{"location":"releases/v0.20.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.6.1 to 3.7.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1382
    • Bump docker/build-push-action from 6.7.0 to 6.9.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1380
    • Bump aquasecurity/trivy-action from 0.20.0 to 0.28.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1385
    "},{"location":"releases/v0.20.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test]update kube_version in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1364
    • [Test]Optimize the retry logic in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1366
    • [Test]Remove check for /proc/sys/net/ipv4/tcp_tw_recycle by @FloatXD in https://github.com/kubean-io/kubean/pull/1367
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1363
    • [Test]update e2e test for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1368
    • [Test]update e2e test for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1369
    • [Test]update e2e test for import rocky8 os-pkg by @FloatXD in https://github.com/kubean-io/kubean/pull/1374
    • [Test]update e2e test for import rocky8 iso_image by @FloatXD in https://github.com/kubean-io/kubean/pull/1375
    • Enable gosec in golangci check by @tu1h in https://github.com/kubean-io/kubean/pull/1377
    • [Test]update e2e test offline_minio_url by @FloatXD in https://github.com/kubean-io/kubean/pull/1376
    • [Test]update offline_e2e kubeanClusterOps.yml by @FloatXD in https://github.com/kubean-io/kubean/pull/1379
    • Enable cert scan by @tu1h in https://github.com/kubean-io/kubean/pull/1378
    • [e2e] add ca auto_renew check in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1384
    • update testcase reference by @emmanuel-ferdman in https://github.com/kubean-io/kubean/pull/1386
    • bump kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1391
    "},{"location":"releases/v0.20.0/#new-contributors","title":"New Contributors","text":"
    • @emmanuel-ferdman made their first contribution in https://github.com/kubean-io/kubean/pull/1386

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.19.0...v0.20.0

    "},{"location":"releases/v0.21.0/","title":"V0.21.0","text":""},{"location":"releases/v0.21.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.21.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/ginkgo/v2 from 2.20.2 to 2.21.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1395
    "},{"location":"releases/v0.21.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test] Remove centos7 from the test list by @FloatXD in https://github.com/kubean-io/kubean/pull/1393
    • [Test]Replacement check items for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1394
    • [Test] Replace the centos7 test label with rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1396
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1392
    • optimize tool scripts for other os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1398

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.20.0...v0.21.0

    "},{"location":"releases/v0.21.1/","title":"V0.21.1","text":""},{"location":"releases/v0.21.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.21.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.34.2 to 1.35.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1402
    "},{"location":"releases/v0.21.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI] Add support list in release notes markdown by @FloatXD in https://github.com/kubean-io/kubean/pull/1401
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1399
    • [Test] Upgrade k8s version to 1.30.5 by @FloatXD in https://github.com/kubean-io/kubean/pull/1403
    • [Test] Fixed the issue that rocky8 cannot select the correct kubeanClusterOps.yml in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1405
    • add nfs client tools in os-packages by @san3Xian in https://github.com/kubean-io/kubean/pull/1404
    • Update Maintainer by @0ekk in https://github.com/kubean-io/kubean/pull/1406
    • Bump Kubespray by @0ekk in https://github.com/kubean-io/kubean/pull/1407
    "},{"location":"releases/v0.21.1/#new-contributors","title":"New Contributors","text":"
    • @san3Xian made their first contribution in https://github.com/kubean-io/kubean/pull/1404

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.21.0...v0.21.1 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.22.0/","title":"V0.22.0","text":""},{"location":"releases/v0.22.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump aquasecurity/trivy-action from 0.28.0 to 0.29.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1412
    • Bump mikefarah/yq from 4.44.3 to 4.44.5 by @dependabot in https://github.com/kubean-io/kubean/pull/1410
    • Bump github.com/onsi/ginkgo/v2 from 2.21.0 to 2.22.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1417
    • Bump docker/build-push-action from 6.9.0 to 6.10.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1422
    • Bump github.com/onsi/gomega from 1.35.1 to 1.36.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1425
    "},{"location":"releases/v0.22.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI] Add support list in release notes body by @FloatXD in https://github.com/kubean-io/kubean/pull/1409
    • [Test]Optimize the generation method of rocky-kubeanclusterops by @FloatXD in https://github.com/kubean-io/kubean/pull/1413
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1408
    • [doc]Fix the incorrect Default Kubernetes Version by @FloatXD in https://github.com/kubean-io/kubean/pull/1414
    • [Test]Update the Cluster Type in calicoctl version to v3.28.1 by @FloatXD in https://github.com/kubean-io/kubean/pull/1415
    • [Test]Remove redundant operations on kubeanClusterOps.yml by @FloatXD in https://github.com/kubean-io/kubean/pull/1421
    • clear redundant log info by @ErikJiang in https://github.com/kubean-io/kubean/pull/1426
    • bump kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1427
    • fix set secret OwnerReferences by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1424
    • fix latest tag invaild in release action by @ErikJiang in https://github.com/kubean-io/kubean/pull/1428

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.21.1...v0.22.0 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | null | null|

    "},{"location":"releases/v0.22.1/","title":"V0.22.1","text":""},{"location":"releases/v0.22.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.5 to 4.44.6 by @dependabot in https://github.com/kubean-io/kubean/pull/1431
    "},{"location":"releases/v0.22.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI]Added the function of judging whether curl successfully obtains manifest.cr.yaml by @FloatXD in https://github.com/kubean-io/kubean/pull/1430
    • fix: airgap package build doesn't exit on error by @ErikJiang in https://github.com/kubean-io/kubean/pull/1435

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.0...v0.22.1 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | 'v1.31.3' \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.7' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.11' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.22.2/","title":"V0.22.2","text":""},{"location":"releases/v0.22.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.36.0 to 1.36.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1443
    • Bump docker/setup-buildx-action from 3.7.1 to 3.8.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1438
    "},{"location":"releases/v0.22.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1436
    • Allow run playbook facts.yml in Kubean by @0ekk in https://github.com/kubean-io/kubean/pull/1444
    • [Test]Before using --limit run playbook facts.yml in test by @FloatXD in https://github.com/kubean-io/kubean/pull/1433

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.1...v0.22.2 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | 'v1.31.3' \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.7' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.11' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.4.0/","title":"V0.4.0","text":""},{"location":"releases/v0.4.0/#whats-changed","title":"What's Changed","text":"
    • update docker os-pkg version by @hangscer8 in https://github.com/kubean-io/kubean/pull/262
    • cluster info with more retry time by @hangscer8 in https://github.com/kubean-io/kubean/pull/261
    • Manifest crd support multi image repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/266
    • update kubespray default version to v1.24.7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/272
    • Disable cn proxy sources to improve kubean image build efficiency by @ErikJiang in https://github.com/kubean-io/kubean/pull/273
    • fix e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/267
    • add dasu23 into approvers by @YunShiHang in https://github.com/kubean-io/kubean/pull/275
    • Update offline doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/276
    • Fix temporary version tag issues by @YunShiHang in https://github.com/kubean-io/kubean/pull/281
    • add version constraints of dependencies in offline case by @tu1h in https://github.com/kubean-io/kubean/pull/274
    • [chroe] Improve the install trivy method by @SSmallMonster in https://github.com/kubean-io/kubean/pull/282
    • add certificated logo by @wenting-guo in https://github.com/kubean-io/kubean/pull/284
    • adjust generate_offline_package to multi harbor projects by @hangscer8 in https://github.com/kubean-io/kubean/pull/285
    • Unified k8s version by @ErikJiang in https://github.com/kubean-io/kubean/pull/286
    • Update README badge by @ErikJiang in https://github.com/kubean-io/kubean/pull/287
    • Add Dockerfile for airgap-patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/289
    • Add os package for ubuntu by @ErikJiang in https://github.com/kubean-io/kubean/pull/291
    • rename ansible_ssh_pass to ansible_password by @tu1h in https://github.com/kubean-io/kubean/pull/290
    • rename doc folder to docs by @tu1h in https://github.com/kubean-io/kubean/pull/293
    • Add Doc For Airgap Patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/294
    • fix pr e2e fail by @wenting-guo in https://github.com/kubean-io/kubean/pull/288
    • Support restore yum repo in enable-repo.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/298
    • update & add some docs by @tu1h in https://github.com/kubean-io/kubean/pull/299
    • Add documentation for deploying clusters with ssh secret keys by @ErikJiang in https://github.com/kubean-io/kubean/pull/302
    • Update doc for deploy cluster with ssh key by @ErikJiang in https://github.com/kubean-io/kubean/pull/306
    • Add auto release notes ci by @YunShiHang in https://github.com/kubean-io/kubean/pull/309
    • add os compatibility e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/310
    • fix checkout repository bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/311
    • add unit test by @hangscer8 in https://github.com/kubean-io/kubean/pull/314
    • chore: add ut by @yyzxw in https://github.com/kubean-io/kubean/pull/313
    • fix airgap patch mod by @hangscer8 in https://github.com/kubean-io/kubean/pull/315
    • import_iso support kylin v10 sp2 by @hangscer8 in https://github.com/kubean-io/kubean/pull/316
    • Translation of kubean documents (issue305) by @yulng in https://github.com/kubean-io/kubean/pull/307
    • upgrade kind version to 1.25.3 by @wenting-guo in https://github.com/kubean-io/kubean/pull/312
    • [CI]add incremental packages by @YunShiHang in https://github.com/kubean-io/kubean/pull/317
    • Update os_family for kylin in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/318
    • Add os packages for kylin linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/321
    • Update os packages for kylin linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/324
    • Update the absolute path of the command in playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/326
    • Offline adapation for RHEL 8.4 by @tu1h in https://github.com/kubean-io/kubean/pull/325
    • fix Dockerfile.redhat8 by @tu1h in https://github.com/kubean-io/kubean/pull/327
    • v0.4.1 Pre-release version by @ErikJiang in https://github.com/kubean-io/kubean/pull/329
    "},{"location":"releases/v0.4.0/#new-contributors","title":"New Contributors","text":"
    • @tu1h made their first contribution in https://github.com/kubean-io/kubean/pull/274
    • @SSmallMonster made their first contribution in https://github.com/kubean-io/kubean/pull/282
    • @yulng made their first contribution in https://github.com/kubean-io/kubean/pull/307

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.3.7...v0.4.0

    "},{"location":"releases/v0.4.1/","title":"V0.4.1","text":""},{"location":"releases/v0.4.1/#whats-changed","title":"What's Changed","text":"
    • Fix import_iso.sh by @tu1h in https://github.com/kubean-io/kubean/pull/330
    • specify k8s version by @ErikJiang in https://github.com/kubean-io/kubean/pull/331
    • Fix kylin linux offline deployment python3-libselinux dependency issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/332
    • translate sshkey_deploy_cluster.md by @Michelle951 in https://github.com/kubean-io/kubean/pull/323
    • translate comparisons.md by @Michelle951 in https://github.com/kubean-io/kubean/pull/322
    • translate crds.md to en by @Michelle951 in https://github.com/kubean-io/kubean/pull/320
    • update packages.yml for kylin os by @ErikJiang in https://github.com/kubean-io/kubean/pull/335
    • fix test by @hangscer8 in https://github.com/kubean-io/kubean/pull/334
    • add release-process.md by @hangscer8 in https://github.com/kubean-io/kubean/pull/333
    • Fix released image tag overrided by @tu1h in https://github.com/kubean-io/kubean/pull/336
    • add offline-e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/341
    • fix offline e2e workflow file by @wenting-guo in https://github.com/kubean-io/kubean/pull/342
    • chart: namespace should go with release by @weizhoublue in https://github.com/kubean-io/kubean/pull/337
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/343
    • Fix template rendering failure by @tu1h in https://github.com/kubean-io/kubean/pull/338
    • fix offline workflow by @wenting-guo in https://github.com/kubean-io/kubean/pull/344
    • fix offline shell by @wenting-guo in https://github.com/kubean-io/kubean/pull/345
    • update airgap_patch image tag in doc by @hangscer8 in https://github.com/kubean-io/kubean/pull/349
    • oprimize offline shell by @wenting-guo in https://github.com/kubean-io/kubean/pull/369
    • optimize logs output by @hangscer8 in https://github.com/kubean-io/kubean/pull/362
    • Optimize kubeanoperation spec.image tag by @hangscer8 in https://github.com/kubean-io/kubean/pull/371
    • shihang.yun-fix-cd-bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/374
    • shihang.yun-optimize-input by @YunShiHang in https://github.com/kubean-io/kubean/pull/375
    • fix cd image tag's bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/376
    • use kube-vip first by @hangscer8 in https://github.com/kubean-io/kubean/pull/379
    • fix kubeconfig playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/380
    • Reduce kubespray image size by @tu1h in https://github.com/kubean-io/kubean/pull/382
    • allow custom kubean image repo in cd by @tu1h in https://github.com/kubean-io/kubean/pull/372
    • fix arm image build failure by @tu1h in https://github.com/kubean-io/kubean/pull/384
    • fix airgap-patch image build failure by @tu1h in https://github.com/kubean-io/kubean/pull/385
    • Remove libselinux from os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/386
    • Fix local Service yum repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/387
    • optimize offline-e2e environment set by @wenting-guo in https://github.com/kubean-io/kubean/pull/389
    • add rhel7 ospkg by @tu1h in https://github.com/kubean-io/kubean/pull/390
    • Check if the OS package needs to be rebuilt by @ErikJiang in https://github.com/kubean-io/kubean/pull/391
    • Update get latest tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/393
    • Ready for release version v0.4.1 by @ErikJiang in https://github.com/kubean-io/kubean/pull/394
    "},{"location":"releases/v0.4.1/#new-contributors","title":"New Contributors","text":"
    • @Michelle951 made their first contribution in https://github.com/kubean-io/kubean/pull/323
    • @weizhoublue made their first contribution in https://github.com/kubean-io/kubean/pull/337

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.0...v0.4.1

    "},{"location":"releases/v0.4.10/","title":"V0.4.10","text":""},{"location":"releases/v0.4.10/#whats-changed","title":"What's Changed","text":"
    • update redaht8 related e2e case by @wenting-guo in https://github.com/kubean-io/kubean/pull/654
    • fix: ignore actionSourceRef not set by @jonyhy96 in https://github.com/kubean-io/kubean/pull/666
    • optimize generate crds by @hangscer8 in https://github.com/kubean-io/kubean/pull/667
    • add UT by @hangscer8 in https://github.com/kubean-io/kubean/pull/670
    • kubean install on none kubean-system ns e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/672
    • fix speedup offline package by @wenting-guo in https://github.com/kubean-io/kubean/pull/676
    • [docs] update and translate theory-of-air-gapped-package.md by @windsonsea in https://github.com/kubean-io/kubean/pull/671
    • cleanup: replace pkg ioutil with os by @yyzxw in https://github.com/kubean-io/kubean/pull/680
    • update e2e case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/683
    • fix create job occasionally unsuccessfully from ops by @hangscer8 in https://github.com/kubean-io/kubean/pull/684
    • Fix ansible lint by @tu1h in https://github.com/kubean-io/kubean/pull/694
    • Add kubean examples by @ErikJiang in https://github.com/kubean-io/kubean/pull/693

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.9...v0.4.10

    "},{"location":"releases/v0.4.2/","title":"V0.4.2","text":""},{"location":"releases/v0.4.2/#whats-changed","title":"What's Changed","text":"
    • Update previous tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/395
    • remove preset playbook by @tu1h in https://github.com/kubean-io/kubean/pull/396
    • fix enable-repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/397
    • Block the update repo from kylin os by @ErikJiang in https://github.com/kubean-io/kubean/pull/399
    • Revert \"fix enable-repo\" by @hangscer8 in https://github.com/kubean-io/kubean/pull/400
    • Remove unnecessary pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/403
    • Improve check_rebuild_pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/404
    • Restore os pkg by @tu1h in https://github.com/kubean-io/kubean/pull/411
    • Revert \"Restore os pkg\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/412
    • Restore os pkg by @tu1h in https://github.com/kubean-io/kubean/pull/413
    • add kylin os case by @wenting-guo in https://github.com/kubean-io/kubean/pull/416
    • fix offline e2e bug by @wenting-guo in https://github.com/kubean-io/kubean/pull/417
    • update pr ci yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/422
    • make pr ci from vagrant to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/423
    • add a parameter to pr ci workflow by @wenting-guo in https://github.com/kubean-io/kubean/pull/435
    • add calico case in nightly e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/438
    • add secrets for nightly e2e in workflow yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/445
    • Add resources by @ErikJiang in https://github.com/kubean-io/kubean/pull/447
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/448
    • update nightly e2e yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/449
    • update kubean logo by @ErikJiang in https://github.com/kubean-io/kubean/pull/450
    • update os compatibility e2e to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/451
    • update nightly e2e passwd to secret by @wenting-guo in https://github.com/kubean-io/kubean/pull/455
    • add secrets parameter in os compatibility workflow yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/456
    • Remove versions.json by @tu1h in https://github.com/kubean-io/kubean/pull/452
    • optimize hardcode namespace by @hangscer8 in https://github.com/kubean-io/kubean/pull/457
    • Support import for ubuntu iso by @tu1h in https://github.com/kubean-io/kubean/pull/458
    • Add spray job timeout by @hangscer8 in https://github.com/kubean-io/kubean/pull/462
    • Remove fuse only in docker mode by @tu1h in https://github.com/kubean-io/kubean/pull/463
    • add apt repo in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/459
    • Update the check scripts for building os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/464
    • fix nightly e2e helm version set by @wenting-guo in https://github.com/kubean-io/kubean/pull/466
    • support charts syncer by @ErikJiang in https://github.com/kubean-io/kubean/pull/468
    • update restore apt condition in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/471
    • Update action version for workflows by @ErikJiang in https://github.com/kubean-io/kubean/pull/474
    • add redhat offline e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/475
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/476
    • add unit test by @hangscer8 in https://github.com/kubean-io/kubean/pull/478
    • set runner2 ip for e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/485
    • update e2e k8s version to 1.24.7 by @wenting-guo in https://github.com/kubean-io/kubean/pull/489
    • set nightly e2e and online os-compatibility-e2e to the online runner by @wenting-guo in https://github.com/kubean-io/kubean/pull/491
    • Add ansible-lint for playbooks in pr gate by @tu1h in https://github.com/kubean-io/kubean/pull/483
    • Support import offline resource parallelly by @tu1h in https://github.com/kubean-io/kubean/pull/482
    • Fix job creating failure across different namespace by @tu1h in https://github.com/kubean-io/kubean/pull/488
    • change upgrade e2e to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/492
    • fix sa error by @cleverhu in https://github.com/kubean-io/kubean/pull/493
    • change cluster lcm e2e case to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/497
    • Get serviceaccount name by labelselector by @tu1h in https://github.com/kubean-io/kubean/pull/499
    • add calico dual stack e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/500
    • update online os compatibility run rate by @wenting-guo in https://github.com/kubean-io/kubean/pull/501
    • support imageRepo with password by @hangscer8 in https://github.com/kubean-io/kubean/pull/502
    • optimize ClusterRole && set COMMIT_SHA for release by @hangscer8 in https://github.com/kubean-io/kubean/pull/506
    • set kubespray commit by @hangscer8 in https://github.com/kubean-io/kubean/pull/507

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.1...v0.4.2

    "},{"location":"releases/v0.4.3/","title":"V0.4.3","text":""},{"location":"releases/v0.4.3/#whats-changed","title":"What's Changed","text":"
    • rollback clusterrole by @hangscer8 in https://github.com/kubean-io/kubean/pull/511
    • update minio repo by @wenting-guo in https://github.com/kubean-io/kubean/pull/512
    • Fix incomplete ospkg cache judgment by @tu1h in https://github.com/kubean-io/kubean/pull/513

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.2...v0.4.3

    "},{"location":"releases/v0.4.4/","title":"V0.4.4","text":""},{"location":"releases/v0.4.4/#whats-changed","title":"What's Changed","text":"
    • Remove ospkg buiding immediate exit by @tu1h in https://github.com/kubean-io/kubean/pull/514
    • Fix import ospkgs script by @tu1h in https://github.com/kubean-io/kubean/pull/515
    • Remove audit on rhel8 by @tu1h in https://github.com/kubean-io/kubean/pull/517
    • add kubean maintainer by @wawa0210 in https://github.com/kubean-io/kubean/pull/519
    • fix release image by @ErikJiang in https://github.com/kubean-io/kubean/pull/520
    "},{"location":"releases/v0.4.4/#new-contributors","title":"New Contributors","text":"
    • @wawa0210 made their first contribution in https://github.com/kubean-io/kubean/pull/519

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.3...v0.4.4

    "},{"location":"releases/v0.4.5/","title":"V0.4.5","text":""},{"location":"releases/v0.4.5/#whats-changed","title":"What's Changed","text":"
    • fix typo hack script for setup by @yanggangtony in https://github.com/kubean-io/kubean/pull/516
    • chore: delete unused file #523 by @yyzxw in https://github.com/kubean-io/kubean/pull/526
    • Fix offline e2e failure by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/530
    • Remove runc on offline rhel8 from playbook by @tu1h in https://github.com/kubean-io/kubean/pull/531
    • fix imageRepo field by @panguicai008 in https://github.com/kubean-io/kubean/pull/534
    • Update e2e_schedule.yaml by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/536
    • fix variable definition by @panguicai008 in https://github.com/kubean-io/kubean/pull/533
    • fix spray-job container name by @hangscer8 in https://github.com/kubean-io/kubean/pull/537
    • fix cluster status.conditions.startTime and endTime invalid value null by @panguicai008 in https://github.com/kubean-io/kubean/pull/538
    • fix clusteroperation multi field invalid value null by @panguicai008 in https://github.com/kubean-io/kubean/pull/539
    • Support custom action by @tu1h in https://github.com/kubean-io/kubean/pull/540
    • Reduce centos7 package size by @yankay in https://github.com/kubean-io/kubean/pull/543
    • Update CD about helm cmd vars by @tu1h in https://github.com/kubean-io/kubean/pull/546
    • provide auto ci of k8s version compatibility by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/547
    • Support upgrade kubean CRDs by helm by @tu1h in https://github.com/kubean-io/kubean/pull/552
    • Fix charts rendering exception by @tu1h in https://github.com/kubean-io/kubean/pull/554
    • support pre-check playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/555
    • Fix incorrect rendered template by @tu1h in https://github.com/kubean-io/kubean/pull/556
    • optimize pre-check playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/559
    • add ut by @hangscer8 in https://github.com/kubean-io/kubean/pull/560
    • Set offline-pkg default k8s version to 1.25.4 by @hangscer8 in https://github.com/kubean-io/kubean/pull/564
    • Add Others OS package build method by @ErikJiang in https://github.com/kubean-io/kubean/pull/561
    • fix offline e2e and update iptables e2e test by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/557
    • fix main branch: auto-kubean-compatibility-schedule.yaml was modified incorrectly by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/563
    • fix the wrong image tag when the main ci builds images. by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/558
    • Fix image name when push, and update the default k8s version to 1.26.0, fix kube_version of offline e2e by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/566
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/568
    • support import iso for uniontech by @ErikJiang in https://github.com/kubean-io/kubean/pull/570
    • add node affinity for chart by @ErikJiang in https://github.com/kubean-io/kubean/pull/571
    • fix airgap patch image build and push by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/572
    • support unionTech for enable repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/575
    • update anti affinity for kubean by @ErikJiang in https://github.com/kubean-io/kubean/pull/579
    • set helm upgrade timeout and sprayJob tag by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/578
    • fix: update offline usage docs by @yyzxw in https://github.com/kubean-io/kubean/pull/577
    • add theory-of-air-gapped-package by @panpan0000 in https://github.com/kubean-io/kubean/pull/582
    • Update build script for UOS by @ErikJiang in https://github.com/kubean-io/kubean/pull/583
    • optimize airgap patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/584
    • fix mv no such file in RHEL by @ErikJiang in https://github.com/kubean-io/kubean/pull/586
    • optimize airgap patch image by @hangscer8 in https://github.com/kubean-io/kubean/pull/588
    • change runner1 e2e ips by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/589
    • fix wrong tag of cd when running main ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/581
    • add call-cd params in main ci and release ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/591
    • add extra binary for airgap-patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/592
    • add create cilium cluster e2e test by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/594
    • remove registry.k8s.io/pause:3.4 by @hangscer8 in https://github.com/kubean-io/kubean/pull/595
    "},{"location":"releases/v0.4.5/#new-contributors","title":"New Contributors","text":"
    • @XiuguangHuang made their first contribution in https://github.com/kubean-io/kubean/pull/530
    • @panguicai008 made their first contribution in https://github.com/kubean-io/kubean/pull/534
    • @panpan0000 made their first contribution in https://github.com/kubean-io/kubean/pull/582

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.4...v0.4.5

    "},{"location":"releases/v0.4.6/","title":"V0.4.6","text":""},{"location":"releases/v0.4.6/#whats-changed","title":"What's Changed","text":"
    • clean unnecessary files by @hangscer8 in https://github.com/kubean-io/kubean/pull/597
    • add debugger2 vms and debug cilium cluster by @wenting-guo in https://github.com/kubean-io/kubean/pull/598
    • delete unused test case doc by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/599
    • Precheck Result Configmap by @hangscer8 in https://github.com/kubean-io/kubean/pull/600
    • fix upgrade failed due to hard affinity by @ErikJiang in https://github.com/kubean-io/kubean/pull/601
    • add cilium_kube_proxy_replacement by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/605
    • download offline files after release ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/607

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.5...v0.4.6

    "},{"location":"releases/v0.4.7/","title":"V0.4.7","text":""},{"location":"releases/v0.4.7/#whats-changed","title":"What's Changed","text":"
    • Fix incorrect data type on ActionSource by @tu1h in https://github.com/kubean-io/kubean/pull/613

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.6...v0.4.7

    "},{"location":"releases/v0.4.8/","title":"V0.4.8","text":""},{"location":"releases/v0.4.8/#whats-changed","title":"What's Changed","text":"
    • add multi kubean operator e2e case by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/608
    • Update changes imported by pointer type by @tu1h in https://github.com/kubean-io/kubean/pull/618

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.7...v0.4.8

    "},{"location":"releases/v0.4.9/","title":"V0.4.9","text":""},{"location":"releases/v0.4.9/#whats-changed","title":"What's Changed","text":"
    • fix download files job by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/620
    • fix remount iso by @hangscer8 in https://github.com/kubean-io/kubean/pull/624
    • adding flannel\u3001kube-ovn to manifest cr by @cyclinder in https://github.com/kubean-io/kubean/pull/622
    • [docs] add readme_zh.md by @windsonsea in https://github.com/kubean-io/kubean/pull/623
    • Add code-of-conduct and CONTRIBUTING documentation by @tu1h in https://github.com/kubean-io/kubean/pull/625
    • remove redundant docker os_pkgs by @hangscer8 in https://github.com/kubean-io/kubean/pull/626
    • support openEuler by @hangscer8 in https://github.com/kubean-io/kubean/pull/628
    • optimize import iso openeuler by @hangscer8 in https://github.com/kubean-io/kubean/pull/629
    • support other linux in AirGap scenario by @ErikJiang in https://github.com/kubean-io/kubean/pull/627
    • update pkgs.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/630
    • fix unkonwn arch image by @ErikJiang in https://github.com/kubean-io/kubean/pull/631
    • add openeuler ospkg by @hangscer8 in https://github.com/kubean-io/kubean/pull/632
    • Support import ISO data to local path by @tu1h in https://github.com/kubean-io/kubean/pull/640
    • Add Dependabot by @ErikJiang in https://github.com/kubean-io/kubean/pull/641
    • Bump mikefarah/yq from 4.30.8 to 4.33.3 by @dependabot in https://github.com/kubean-io/kubean/pull/645
    • Bump docker/build-push-action from 3.3.0 to 4.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/642
    • Fix import_iso.sh by @tu1h in https://github.com/kubean-io/kubean/pull/651
    • Bump docker/setup-buildx-action from 2.2.1 to 2.5.0 by @dependabot in https://github.com/kubean-io/kubean/pull/644
    • Bump actions/setup-go from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/643
    • set pr-ci nightly-ci run time-limit to 15h by @wenting-guo in https://github.com/kubean-io/kubean/pull/653
    • include dockerfile on ospkg cache judgment include by @tu1h in https://github.com/kubean-io/kubean/pull/655
    • doc: fix english doc broken link by @jonyhy96 in https://github.com/kubean-io/kubean/pull/656
    • add speedup offline packages by @wenting-guo in https://github.com/kubean-io/kubean/pull/657
    • Add Roadmap by @ErikJiang in https://github.com/kubean-io/kubean/pull/661
    • generate offline package for flannel by @cyclinder in https://github.com/kubean-io/kubean/pull/662
    • add unsafe_show_logs to debug the download failed resource by @wenting-guo in https://github.com/kubean-io/kubean/pull/663
    "},{"location":"releases/v0.4.9/#new-contributors","title":"New Contributors","text":"
    • @cyclinder made their first contribution in https://github.com/kubean-io/kubean/pull/622
    • @dependabot made their first contribution in https://github.com/kubean-io/kubean/pull/645
    • @jonyhy96 made their first contribution in https://github.com/kubean-io/kubean/pull/656

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.8...v0.4.9

    "},{"location":"releases/v0.5.0/","title":"V0.5.0","text":""},{"location":"releases/v0.5.0/#whats-changed","title":"What's Changed","text":"
    • support oracle linux in offline enviroment by @ErikJiang in https://github.com/kubean-io/kubean/pull/700

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.10...v0.5.0

    "},{"location":"releases/v0.5.1/","title":"V0.5.1","text":""},{"location":"releases/v0.5.1/#whats-changed","title":"What's Changed","text":"
    • remove dockerCE from openeuler pkgs by @hangscer8 in https://github.com/kubean-io/kubean/pull/706
    • kubean e2e ci follow kubespray structure category by @tukwila in https://github.com/kubean-io/kubean/pull/707
    • Fix KUBEAN_E2E_TEST_CI Error: A branch or tag with the name kubean_ci_test could not be found by @tukwila in https://github.com/kubean-io/kubean/pull/709
    • fix kubean e2e ci not really run problem by @tukwila in https://github.com/kubean-io/kubean/pull/712
    • Rename subdir api mod path by @hangscer8 in https://github.com/kubean-io/kubean/pull/715
    • update other linux tool script by @ErikJiang in https://github.com/kubean-io/kubean/pull/716
    • fix ci config variables by @tukwila in https://github.com/kubean-io/kubean/pull/718
    • Update go mod dep version by @hangscer8 in https://github.com/kubean-io/kubean/pull/719
    • add ipvs case by @wenting-guo in https://github.com/kubean-io/kubean/pull/714
    • enable trivy security scanning by @hangscer8 in https://github.com/kubean-io/kubean/pull/721
    • update enable repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/723
    • add clean repolist in other linux script by @ErikJiang in https://github.com/kubean-io/kubean/pull/725
    • update yum repo config in other linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/726
    • add mkdocs by @ErikJiang in https://github.com/kubean-io/kubean/pull/728
    • update docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/729

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.0...v0.5.1

    "},{"location":"releases/v0.5.2/","title":"V0.5.2","text":""},{"location":"releases/v0.5.2/#whats-changed","title":"What's Changed","text":"
    • add module repo for yum manager by @ErikJiang in https://github.com/kubean-io/kubean/pull/730
    • CI failure:debug vm change to runner vm by @yulng in https://github.com/kubean-io/kubean/pull/734
    • update kube download url by @ErikJiang in https://github.com/kubean-io/kubean/pull/735

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.1...v0.5.2

    "},{"location":"releases/v0.5.3/","title":"V0.5.3","text":""},{"location":"releases/v0.5.3/#whats-changed","title":"What's Changed","text":"
    • CI failure :change vm config and update docker rm command by @yulng in https://github.com/kubean-io/kubean/pull/740
    • fetch os kernel version in precheck.yml by @hangscer8 in https://github.com/kubean-io/kubean/pull/739
    • add ut by @hangscer8 in https://github.com/kubean-io/kubean/pull/741
    • add kubean compatibility k8s version 1.27.1 by @wenting-guo in https://github.com/kubean-io/kubean/pull/743
    • Update allinone.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/749
    • Support script import_iso.sh to load main function by @ErikJiang in https://github.com/kubean-io/kubean/pull/753
    • Update README.md by @wawa0210 in https://github.com/kubean-io/kubean/pull/754
    • add readme for docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/755
    • ignore pull pause 4 image by @ErikJiang in https://github.com/kubean-io/kubean/pull/756
    "},{"location":"releases/v0.5.3/#new-contributors","title":"New Contributors","text":"
    • @yanrongshi made their first contribution in https://github.com/kubean-io/kubean/pull/749

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.2...v0.5.3

    "},{"location":"releases/v0.5.4/","title":"V0.5.4","text":""},{"location":"releases/v0.5.4/#whats-changed","title":"What's Changed","text":"
    • remove alpha_arm by @hangscer8 in https://github.com/kubean-io/kubean/pull/759
    • centos_cilium_online should use offline runner by @tukwila in https://github.com/kubean-io/kubean/pull/761
    • e2e:update worker cluster k8s version by @yulng in https://github.com/kubean-io/kubean/pull/760
    • update import iso by @ErikJiang in https://github.com/kubean-io/kubean/pull/762

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.3...v0.5.4

    "},{"location":"releases/v0.6.0/","title":"V0.6.0","text":""},{"location":"releases/v0.6.0/#whats-changed","title":"What's Changed","text":"
    • add mirror.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/758
    • fix-cluster-controllers-reconcile-loop by @learner0810 in https://github.com/kubean-io/kubean/pull/765
    • fix:add kubean version in readme by @yulng in https://github.com/kubean-io/kubean/pull/763
    • e2e:modify e2e k8s version by @yulng in https://github.com/kubean-io/kubean/pull/767
    • fix error: Failed to compile kubean_ipvs_cluster_e2e by @tukwila in https://github.com/kubean-io/kubean/pull/766
    • Add scale docs by @yanrongshi in https://github.com/kubean-io/kubean/pull/768
    • update scale docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/769
    • Update upgrade.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/771
    • Translate installation and use documentation by @yanrongshi in https://github.com/kubean-io/kubean/pull/772
    • translation en by @yanrongshi in https://github.com/kubean-io/kubean/pull/773
    • fix speedup offline package with curl by @yulng in https://github.com/kubean-io/kubean/pull/727
    • when pr just changed docs file not run e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/781
    • add kubean support k8s version range by @wenting-guo in https://github.com/kubean-io/kubean/pull/782
    • [docs]Fix upgrade.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/774
    • add field to identify image repo scheme by @tu1h in https://github.com/kubean-io/kubean/pull/784
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/788
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/789
    • check user has sudo_access by @hangscer8 in https://github.com/kubean-io/kubean/pull/793
    • support tencentos 3.1 by @ErikJiang in https://github.com/kubean-io/kubean/pull/791
    • fix the Chinese in en docs by @my-git9 in https://github.com/kubean-io/kubean/pull/794
    • update import iso sh by @ErikJiang in https://github.com/kubean-io/kubean/pull/797
    "},{"location":"releases/v0.6.0/#new-contributors","title":"New Contributors","text":"
    • @learner0810 made their first contribution in https://github.com/kubean-io/kubean/pull/765
    • @my-git9 made their first contribution in https://github.com/kubean-io/kubean/pull/794

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.4...v0.6.0

    "},{"location":"releases/v0.6.1/","title":"V0.6.1","text":""},{"location":"releases/v0.6.1/#whats-changed","title":"What's Changed","text":"
    • Update os package for tencentos by @ErikJiang in https://github.com/kubean-io/kubean/pull/800

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.0...v0.6.1

    "},{"location":"releases/v0.6.2/","title":"V0.6.2","text":""},{"location":"releases/v0.6.2/#whats-changed","title":"What's Changed","text":"
    • fix trap issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/802
    • update kube version to v1.26.5 by @ErikJiang in https://github.com/kubean-io/kubean/pull/803
    • detect dual_stack network by @hangscer8 in https://github.com/kubean-io/kubean/pull/805
    • Add auto bump pause version by @ErikJiang in https://github.com/kubean-io/kubean/pull/807

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.1...v0.6.2

    "},{"location":"releases/v0.6.3/","title":"V0.6.3","text":""},{"location":"releases/v0.6.3/#whats-changed","title":"What's Changed","text":"
    • optimize check sudo_access by @hangscer8 in https://github.com/kubean-io/kubean/pull/809
    • [e2e test] change kindest version to v1.26.4 by @yulng in https://github.com/kubean-io/kubean/pull/816
    • optimize accelerate address by @hangscer8 in https://github.com/kubean-io/kubean/pull/822
    • chore: update docs i18n by @yyzxw in https://github.com/kubean-io/kubean/pull/819
    • add test case to markdown by @yulng in https://github.com/kubean-io/kubean/pull/796
    • Bump mikefarah/yq from 4.33.3 to 4.34.1 by @dependabot in https://github.com/kubean-io/kubean/pull/751
    • Bump docker/build-push-action from 4.0.0 to 4.1.1 by @dependabot in https://github.com/kubean-io/kubean/pull/818
    • Bump docker/setup-buildx-action from 2.5.0 to 2.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/817
    • add import iso script to release assets by @ErikJiang in https://github.com/kubean-io/kubean/pull/825
    • Bump cpina/github-action-push-to-another-repository from 1.5.1 to 1.7.2 by @dependabot in https://github.com/kubean-io/kubean/pull/747
    • [docs] update en/zh usage files by @windsonsea in https://github.com/kubean-io/kubean/pull/821
    • separate resource build from e2e step by @wenting-guo in https://github.com/kubean-io/kubean/pull/827

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.2...v0.6.3

    "},{"location":"releases/v0.6.4/","title":"V0.6.4","text":""},{"location":"releases/v0.6.4/#whats-changed","title":"What's Changed","text":"
    • update the e2e case list by @wenting-guo in https://github.com/kubean-io/kubean/pull/829
    • optimize check vip by @hangscer8 in https://github.com/kubean-io/kubean/pull/830

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.3...v0.6.4

    "},{"location":"releases/v0.6.5/","title":"V0.6.5","text":""},{"location":"releases/v0.6.5/#whats-changed","title":"What's Changed","text":"
    • fix spray-job endTime when operator crashed And return pkg_mgr info by @hangscer8 in https://github.com/kubean-io/kubean/pull/831

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.4...v0.6.5

    "},{"location":"releases/v0.6.6/","title":"V0.6.6","text":""},{"location":"releases/v0.6.6/#whats-changed","title":"What's Changed","text":"
    • Update deploy script for main CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/840
    • fix helm client-side throttling by @ErikJiang in https://github.com/kubean-io/kubean/pull/842
    • apply for a seat to maintain docs by @windsonsea in https://github.com/kubean-io/kubean/pull/841
    • [docs] fix a term \u6a21\u677f by @windsonsea in https://github.com/kubean-io/kubean/pull/834
    • [docs] fix indentations in theory_of_airgapped_package.md by @windsonsea in https://github.com/kubean-io/kubean/pull/833
    • [docs] update custom_action by @windsonsea in https://github.com/kubean-io/kubean/pull/832
    • fix version parse in manage_version_cr.sh by @ErikJiang in https://github.com/kubean-io/kubean/pull/844
    • doc: install with non-root user by @tu1h in https://github.com/kubean-io/kubean/pull/845

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.5...v0.6.6

    "},{"location":"releases/v0.7.0/","title":"V0.7.0","text":""},{"location":"releases/v0.7.0/#whats-changed","title":"What's Changed","text":"
    • [test] release CI auto to update the 'k8s supported version range list' by @yulng in https://github.com/kubean-io/kubean/pull/849
    • [CI failure]retry to get pod name and state running by @yulng in https://github.com/kubean-io/kubean/pull/846
    • [e2e test] create 3master+vip cluster by @yulng in https://github.com/kubean-io/kubean/pull/848
    • docs: update usage/install by @my-git9 in https://github.com/kubean-io/kubean/pull/847
    • [e2e case ] add runner vm (vipadd) and fix readme by @yulng in https://github.com/kubean-io/kubean/pull/855
    • [docs] resolve documentation issue 824,360,359,250 by @yulng in https://github.com/kubean-io/kubean/pull/850
    • fix kubespray package by @hangscer8 in https://github.com/kubean-io/kubean/pull/859
    • Optimize Reconcile Requeue by @RuliXu in https://github.com/kubean-io/kubean/pull/860
    • refactor network testcase architecture by @tukwila in https://github.com/kubean-io/kubean/pull/861
    • Lock kubespray commit sha by @ErikJiang in https://github.com/kubean-io/kubean/pull/863
    • Fix release created repeatedly by @ErikJiang in https://github.com/kubean-io/kubean/pull/866
    "},{"location":"releases/v0.7.0/#new-contributors","title":"New Contributors","text":"
    • @RuliXu made their first contribution in https://github.com/kubean-io/kubean/pull/860

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.6...v0.7.0

    "},{"location":"releases/v0.7.1/","title":"V0.7.1","text":""},{"location":"releases/v0.7.1/#whats-changed","title":"What's Changed","text":"
    • Update spray image by @ErikJiang in https://github.com/kubean-io/kubean/pull/872
    • work with oracle 8 by @hangscer8 in https://github.com/kubean-io/kubean/pull/871

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.0...v0.7.1

    "},{"location":"releases/v0.7.2/","title":"V0.7.2","text":""},{"location":"releases/v0.7.2/#whats-changed","title":"What's Changed","text":"
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/873
    • verify kubespray master head commit id sha pipeline by @tukwila in https://github.com/kubean-io/kubean/pull/870
    • retry more times to download files in e2e schedule testing by @tukwila in https://github.com/kubean-io/kubean/pull/875
    • correct workflow yaml by @tukwila in https://github.com/kubean-io/kubean/pull/876
    • correct verify kubespray yaml errors by @tukwila in https://github.com/kubean-io/kubean/pull/877
    • correct HELM_CHART_VERSION value in verify_kubespray_e2e_test by @tukwila in https://github.com/kubean-io/kubean/pull/879
    • fix some bug in kubespray commit workflow by @tukwila in https://github.com/kubean-io/kubean/pull/882
    • Add renew certs playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/884

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.1...v0.7.2

    "},{"location":"releases/v0.7.3/","title":"V0.7.3","text":""},{"location":"releases/v0.7.3/#whats-changed","title":"What's Changed","text":"
    • Add sshpass for sync ansible module by @ErikJiang in https://github.com/kubean-io/kubean/pull/886

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.2...v0.7.3

    "},{"location":"releases/v0.7.4/","title":"V0.7.4","text":""},{"location":"releases/v0.7.4/#whats-changed","title":"What's Changed","text":"
    • Set ownReference for clusterOperation releated with cluster by @hangscer8 in https://github.com/kubean-io/kubean/pull/889
    • Update renew certs groups by @ErikJiang in https://github.com/kubean-io/kubean/pull/891

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.3...v0.7.4

    "},{"location":"releases/v0.8.0/","title":"V0.8.0","text":""},{"location":"releases/v0.8.0/#whats-changed","title":"What's Changed","text":"
    • Update release process by @tu1h in https://github.com/kubean-io/kubean/pull/869
    • enable to config max records by @hangscer8 in https://github.com/kubean-io/kubean/pull/893
    • Add license info by @ErikJiang in https://github.com/kubean-io/kubean/pull/892
    • Bump actions/setup-go from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/838
    • fix static check format by @hangscer8 in https://github.com/kubean-io/kubean/pull/900
    • add cncf to readme by @windsonsea in https://github.com/kubean-io/kubean/pull/897
    • add kubean v0.7.4 version compatible with k8s version by @tukwila in https://github.com/kubean-io/kubean/pull/901
    • docs: add en install_without_root.md by @my-git9 in https://github.com/kubean-io/kubean/pull/902
    • Add killercoda to README by @tu1h in https://github.com/kubean-io/kubean/pull/903
    • make cache for new repo by @ErikJiang in https://github.com/kubean-io/kubean/pull/906
    • Remove backofflimit by @hangscer8 in https://github.com/kubean-io/kubean/pull/905

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.4...v0.8.0

    "},{"location":"releases/v0.8.1/","title":"V0.8.1","text":""},{"location":"releases/v0.8.1/#whats-changed","title":"What's Changed","text":"
    • update repo url for tencentos by @ErikJiang in https://github.com/kubean-io/kubean/pull/907

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.0...v0.8.1

    "},{"location":"releases/v0.8.2/","title":"V0.8.2","text":""},{"location":"releases/v0.8.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.2/#new-features","title":"\u2728 New Features","text":"
    • update k8s to v1.26.7 by @hangscer8 in https://github.com/kubean-io/kubean/pull/925
    "},{"location":"releases/v0.8.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Ensure the job pod never run again by @hangscer8 in https://github.com/kubean-io/kubean/pull/911
    • Fix incorrect ansible pkgmgr detection for tencentos by @tu1h in https://github.com/kubean-io/kubean/pull/912
    • fix generate release notes content is empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/915
    • Add labeler action by @ErikJiang in https://github.com/kubean-io/kubean/pull/916
    • add labeler.yml config by @ErikJiang in https://github.com/kubean-io/kubean/pull/919
    • update ci bot by @ErikJiang in https://github.com/kubean-io/kubean/pull/922
    • Ensure Cascade Deletion with Ownreference by @hangscer8 in https://github.com/kubean-io/kubean/pull/918

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.1...v0.8.2

    "},{"location":"releases/v0.8.3/","title":"V0.8.3","text":""},{"location":"releases/v0.8.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.3/#documentation","title":"\ud83d\udcda Documentation","text":"
    • update Q3 roadmap by @ErikJiang in https://github.com/kubean-io/kubean/pull/929
    "},{"location":"releases/v0.8.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • disable CI robot by @ErikJiang in https://github.com/kubean-io/kubean/pull/926
    • Add governance doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/927
    • support rhel9 by @tu1h in https://github.com/kubean-io/kubean/pull/930
    • update docs config by @ErikJiang in https://github.com/kubean-io/kubean/pull/931

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.2...v0.8.3

    "},{"location":"releases/v0.8.4/","title":"V0.8.4","text":""},{"location":"releases/v0.8.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.4/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/spf13/cobra from 1.6.0 to 1.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/732
    "},{"location":"releases/v0.8.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Correct download path by @Rei1010 in https://github.com/kubean-io/kubean/pull/933
    • add ISA field to precheck playbook by @tu1h in https://github.com/kubean-io/kubean/pull/934
    • Bump Kubespray version by @tu1h in https://github.com/kubean-io/kubean/pull/937
    "},{"location":"releases/v0.8.4/#new-contributors","title":"New Contributors","text":"
    • @Rei1010 made their first contribution in https://github.com/kubean-io/kubean/pull/933

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.3...v0.8.4

    "},{"location":"releases/v0.8.5/","title":"V0.8.5","text":""},{"location":"releases/v0.8.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • chor: add golanglint --fix flag by @yyzxw in https://github.com/kubean-io/kubean/pull/936
    • Revert \"Bump Kubespray version\" by @tu1h in https://github.com/kubean-io/kubean/pull/938

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.4...v0.8.5

    "},{"location":"releases/v0.9.0/","title":"V0.9.0","text":""},{"location":"releases/v0.9.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update k8s support version by @Rei1010 in https://github.com/kubean-io/kubean/pull/946
    • add ut Test_TrySuspendPod by @KubeKyrie in https://github.com/kubean-io/kubean/pull/944
    • Update E2E kube version by @Rei1010 in https://github.com/kubean-io/kubean/pull/955
    • webhook for clusterOperations by @hangscer8 in https://github.com/kubean-io/kubean/pull/956
    • fix missing latest release note by @ErikJiang in https://github.com/kubean-io/kubean/pull/953
    • update kubespray by @hangscer8 in https://github.com/kubean-io/kubean/pull/960
    "},{"location":"releases/v0.9.0/#new-contributors","title":"New Contributors","text":"
    • @KubeKyrie made their first contribution in https://github.com/kubean-io/kubean/pull/944

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.6...v0.9.0

    "},{"location":"releases/v0.9.1/","title":"V0.9.1","text":""},{"location":"releases/v0.9.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add compability for kubernetes 1.28.0 by @Rei1010 in https://github.com/kubean-io/kubean/pull/957
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/961
    • Build admission image during schedule CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/962
    • Correct config path by @Rei1010 in https://github.com/kubean-io/kubean/pull/966
    • Adjust env conf by @Rei1010 in https://github.com/kubean-io/kubean/pull/967
    • Add missing param by @Rei1010 in https://github.com/kubean-io/kubean/pull/969
    • Auto bump kubean support kubernetes version with CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/971
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/972
    • Optimize CI trigger logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/974
    • update containerd version by @hangscer8 in https://github.com/kubean-io/kubean/pull/977
    "},{"location":"releases/v0.9.1/#new-contributors","title":"New Contributors","text":"
    • @github-actions made their first contribution in https://github.com/kubean-io/kubean/pull/972

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.0...v0.9.1

    "},{"location":"releases/v0.9.2/","title":"V0.9.2","text":""},{"location":"releases/v0.9.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • optimize precheck to avoid losing data by @hangscer8 in https://github.com/kubean-io/kubean/pull/982
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/976
    • Adjust PR CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/984
    • add BackUp Weight for ClusterOperation by @hangscer8 in https://github.com/kubean-io/kubean/pull/983
    • update k8s version by @hangscer8 in https://github.com/kubean-io/kubean/pull/986

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.1...v0.9.2

    "},{"location":"releases/v0.9.3/","title":"V0.9.3","text":""},{"location":"releases/v0.9.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Use complete execute path in playbook renew_certs by @tu1h in https://github.com/kubean-io/kubean/pull/988

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.2...v0.9.3

    "},{"location":"usage/airgap/","title":"Use Kubean in offline cases","text":""},{"location":"usage/airgap/#reminder","title":"Reminder","text":"
    • For RHEL 8.4 series, the pre-installed fuse package may be uninstalled due to package dependency issues.
    "},{"location":"usage/airgap/#preparation","title":"Preparation","text":"
    1. Services requiring pre-deployment:

      • Document resource service minio
      • Image registry services: docker registry\uff082.7 below\uff09 or harbor
    2. Necessary tools to be installed:

      • A tool for importing image files: skopeo, Required >=1.9.2; podman, Required >= 4.4.4
      • A tool for importing binary files: minio client
    3. Deploy Kubean by Helmkubean

    "},{"location":"usage/airgap/#download-offline-resources","title":"Download offline resources","text":"

    The Github Releases page allows us to download the offline resources for the version we want.

    Basic instructions for offline resources:

    \u251c\u2500\u2500 files.list                                  # List of file contents\n\u251c\u2500\u2500 files-${tag}.tar.gz                         # File compression package, including import scripts\n\u251c\u2500\u2500 images.list                                 # List of image contents\n\u251c\u2500\u2500 images-${tag}.tar.gz                        # File compression package, including import scripts\n\u2514\u2500\u2500 os-pkgs-${linux_distribution}-${tag}.tar.gz # Compressed package of each system, including import script\n
    "},{"location":"usage/airgap/#importing-offline-resources-into-the-proper-service","title":"Importing offline resources into the proper service","text":""},{"location":"usage/airgap/#import-binary-resources","title":"Import binary resources","text":"

    First unzip the files-${tag}.tar.gz file, which contains:

    files/\n\u251c\u2500\u2500 import_files.sh       # This script is used to import binary files into the minio file service\n\u2514\u2500\u2500 offline-files.tar.gz  # Compressed package of binary \n

    Execute the following command to import the binary file into the minio service:

    MINIO_USER=${username} MINIO_PASS=${password} ./import_files.sh ${minio_address}\n
    • minio_address is the minio API Server address, typically on port 9000, e.g. http://1.2.3.4:9000
    "},{"location":"usage/airgap/#import-images","title":"Import images","text":"

    It's required to unzip the images-${tag}.tar.gz file, which contains:

    images/\n\u251c\u2500\u2500 import_images.sh       # This script is used to import binary files into the minio file service, and can merge multi-platform images\n\u2514\u2500\u2500 offline-images.tar.gz  # Compressed package of image file\n

    Execute the following command to import the image file into the Docker Registry or the Harbor image repository service:

    # password-free mode\n$ REGISTRY_SCHEME=http REGISTRY_ADDR=${registry_address} ./import_images.sh\n\n# username-password mode\n$ REGISTRY_SCHEME=https REGISTRY_ADDR=${registry_address} REGISTRY_USER=${username} REGISTRY_PASS=${password} ./import_images.sh\n
    • REGISTRY_ADDR is the address of the mirror repository, e.g. 1.2.3.4:5000
    • REGISTRY_USER and REGISTRY_PASS need to be set when username and password authentication exists for the mirror repository
    "},{"location":"usage/airgap/#import-os-packages","title":"Import OS packages","text":"

    Note

    • OS Packages for Centos / Redhat / Kylin / Ubuntu distributions are currently supported.
    • The OS Package of UnionTech V20 series needs to be built manually, see README for the build method.

    It's required to unzip the os-pkgs-${linux_distribution}-${tag}.tar.gz file, which contains:

    os-pkgs\n\u251c\u2500\u2500 import_ospkgs.sh       # This script is used to import os packages to the minio file service\n\u251c\u2500\u2500 os-pkgs-amd64.tar.gz   # os packages for the amd64 architecture\n\u251c\u2500\u2500 os-pkgs-arm64.tar.gz   # os packages for the arm64 architecture\n\u2514\u2500\u2500 os-pkgs.sha256sum.txt  # The sha256sum checksum file for the os packages\n

    Execute the following command to os packages into the minio file service:

    MINIO_USER=${username} MINIO_PASS=${password} ./import_ospkgs.sh ${minio_address} os-pkgs-${arch}.tar.gz\n
    "},{"location":"usage/airgap/#create-offline-sources","title":"Create offline sources","text":""},{"location":"usage/airgap/#create-iso-image-source","title":"Create ISO image source","text":"

    The following [Create local ISO image source] and [Create online ISO image source] only need to execute one of them.

    "},{"location":"usage/airgap/#create-a-local-iso-image-source","title":"Create a local ISO image source","text":"

    OS Packages are primarily used to resolve docker-ce installation dependencies, but for offline deployments, other packages from the distribution may be used, and a local ISO image source will need to be created.

    Note

    It's required to download the ISO system distribution image for the host in advance, currently only the ISO image source for the Centos distribution is supported; This operation needs to be performed on each cluster that creates kubernetes nodes.

    The script artifacts/gen_repo_conf.sh can be used to mount the ISO image and create the Repo configuration file by executing the following command:

    # Basic format\n./gen_repo_conf.sh --iso-mode ${linux_distribution} ${iso_image_file}\n\n# Execute the script to create the ISO image source\n./gen_repo_conf.sh --iso-mode centos CentOS-7-x86_64-Everything-2207-02.iso\n# Check ISO image mounts\ndf -h | grep mnt\n/dev/loop0               9.6G  9.6G     0 100% /mnt/centos-iso\n# Check ISO image source configuration\ncat /etc/yum.repos.d/Kubean-ISO.repo\n
    [kubean-iso]\nname=Kubean ISO Repo\nbaseurl=file:///mnt/centos-iso\nenabled=1\ngpgcheck=0\nsslverify=0\n
    "},{"location":"usage/airgap/#create-an-online-iso-image-source","title":"Create an online ISO image source","text":"

    To import the image source from the ISO into the minio server, use the script artifacts/import_iso.sh

    MINIO_USER=${username} MINIO_PASS=${password} ./import_iso.sh ${minio_address} Centos-XXXX.ISO\n

    Create the following file for the host /etc/yum.repos.d/centos-iso-online.repo to use the online ISO image source:

    [kubean-iso-online]\nname=Kubean ISO Repo Online\nbaseurl=${minio_address}/kubean/centos-iso/$releasever/os/$basearch\nenabled=1\ngpgcheck=0\nsslverify=0\n
    • It's required to replace ${minio_address} with the minio API Server address
    "},{"location":"usage/airgap/#create-extras-software-sources","title":"Create extras software sources","text":"

    Currently only supported on Centos distributions

    When installing a K8S cluster, it also relies on extras, such as container-selinux, which are not always provided in the ISO image source. This is supplemented by the OS packages offline package, which requires us to create an extra repo configuration file for each node after importing minio.

    The Extra Repo can also be created using the script artifacts/gen_repo_conf.sh, by executing the following command:

    ./gen_repo_conf.sh --url-mode ${linux_distribution} ${repo_base_url}\n\n# Execute the script to create a URL source profile\n./gen_repo_conf.sh --url-mode centos ${minio_address}/kubean/centos/\\$releasever/os/\\$basearch\n# View URL source profile\ncat /etc/yum.repos.d/Kubean-URL.repo\n
    [kubean-extra]\nname=Kubean Extra Repo\nbaseurl=http://10.20.30.40:9000/kubean/centos/$releasever/os/$basearch\nenabled=1\ngpgcheck=0\nsslverify=0\n

    Note

    If the repo_base_url parameter has a $ symbol, it needs to be escaped \\$.

    It's required to replace ${minio_address} with the actual minio API Server address.

    "},{"location":"usage/airgap/#create-source-profiles-with-clusteroperation-and-playbook","title":"Create source profiles with ClusterOperation and playbook","text":"

    Only Centos yum repo additions are currently supported

    As the process of creating a source involves all the nodes in the cluster, manual scripting is relatively tedious, so a playbook solution is provided here:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-ops-01\nspec:\n  cluster: sample\n  image: ghcr.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: enable-repo.yml  # Before deploying the cluster, run the enable-repo playbook\n                               # to create a source configuration for each node with the specified url\n      extraArgs: |\n        -e \"{repo_list: ['http://10.20.30.40:9000/kubean/centos/\\$releasever/os/\\$basearch']}\"\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: cluster-info.yml\n    - actionType: playbook\n      action: enable-repo.yml  # After deploying the cluster, restore the yum repo configuration for each node.\n                               # (Note: This step can be added as appropriate.)\n      extraArgs: |\n        -e undo=true\n
    "},{"location":"usage/airgap/#configure-cluster-before-deployment","title":"Configure cluster before deployment","text":"

    Offline settings need to be referred to kubespray Located in kubespray/inventory/sample/group_vars/all/offline.yml configuration file:

    ---\n## Global offline configuration\n### Configure the address of the private container image repository service\nregistry_host: \"{{ registry_address }}\"\n\n### Configuring the address of the binary file service\ngithub_url: https://files.m.daocloud.io/github.com\ndl_k8s_io_url: https://files.m.daocloud.io/dl.k8s.io\nstorage_googleapis_url: https://files.m.daocloud.io/storage.googleapis.com\nget_helm_url: https://files.m.daocloud.io/get.helm.sh\n\n### If you are using CentOS / RedHat / AlmaLinux / Fedora, you need to configure the yum source file service address:\nyum_repo: \"{{ minio_address }}\"\n\n### If using Debian, configure:\ndebian_repo: \"{{ minio_address }}\"\n\n### If using Ubuntu, configure:\nubuntu_repo: \"{{ minio_address }}\"\n\n### If containerd uses a non-secure HTTP authentication-free method, it needs to be configured:\ncontainerd_registries_mirrors:\n  - prefix: \"{{ registry_address }}\"\n    mirrors:\n      - host: \"http://{{ registry_address }}\"\n        capabilities: [\"pull\", \"resolve\"]\n        skip_verify: true\n\n### Required if docker uses non-secure HTTP authentication-free methods:\ndocker_insecure_registries:\n  - {{ registry_address }}\n

    For offline deployment, additional parameters are required for some special operating systems:

    OS Additional parameters RHEL Series rhel_enable_repos: false Oracle Linux Series use_oracle_public_repo: false

    We use examples/install/3.airgap as a template.

    Adapt the offline configuration as above to your specific situation, especially if you need to replace <registry_address> and <minio_address>.

    Finally add the configuration update to the examples/install/3.airgap/VarsConfCM.yml file.

    We also need to change the cluster node IP and username password in examples/install/3.airgap/HostsConfCM.yml.

    Finally, the ClusterOperation task is started with kubectl apply -f examples/install/3.airgap to install the k8s cluster.

    "},{"location":"usage/airgap/#generate-and-use-incremental-offline-packages","title":"Generate and use incremental offline packages","text":"

    For details see Air gap patch usage.

    "},{"location":"usage/airgap_patch_usage/","title":"Generation and use of incremental offline packages","text":"

    To meet users' needs for components of certain versions, Kubean provides the script artifacts/airgap_patch.py to generate a corresponding version of offline packages based on the configuration file manifest.yml.

    "},{"location":"usage/airgap_patch_usage/#generate-an-incremental-offline-package","title":"Generate an incremental offline package","text":"
    1. Create a new manifest.yml file in a folder, with the following example:

      image_arch:\n  - \"amd64\"\n  - \"arm64\"\nkube_version:\n  - \"v1.24.6\"\n  - \"v1.24.4\"\ncalico_version:\n  - \"v3.23.3\"\ncni_version:\n  - \"v1.1.1\"\ncontainerd_version:\n  - \"1.6.8\"\ncilium_version:\n  - \"v1.12.1\"\netcd_version:\n  - \"v3.5.3\"\n
    2. Create a new data folder in the same folder

    3. Run the following command to generate an incremental offline package in the data folder

      docker run \\\n    -v $(pwd)/data:/data \\\n    -v $(pwd)/manifest.yml:/manifest.yml \\\n    ghcr.io/kubean-io/airgap-patch:v0.11.1\n
      Environment Variables Optional Value Description \uff08 is default value\uff09 ZONE DEFAULT: Download offline resources using the default original address. CN: Download offline resources by using DaoCloud mirror address in China. MODE INCR: Build only the offline resources for the components specified in the configuration (i.e.: incremental packages) FULL: Building offline resources includes the components specified in the configuration along with the components necessary for cluster deployment (i.e.: full packages)
    "},{"location":"usage/airgap_patch_usage/#use-the-incremental-offline-package","title":"Use the incremental offline package","text":"

    The directory structure of the incremental package is as follows:

    data\n\u2514\u2500\u2500 airgap_patch\n    \u251c\u2500\u2500 amd64\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 files\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 import_files.sh\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 offline-files.tar.gz\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 images\n    \u2502\u00a0\u00a0     \u251c\u2500\u2500 import_images.sh\n    \u2502\u00a0\u00a0     \u2514\u2500\u2500 offline-images.tar.gz\n    \u251c\u2500\u2500 arm64\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 files\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 import_files.sh\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 offline-files.tar.gz\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 images\n    \u2502\u00a0\u00a0     \u251c\u2500\u2500 import_images.sh\n    \u2502\u00a0\u00a0     \u2514\u2500\u2500 offline-images.tar.gz\n    \u2514\u2500\u2500 localartifactset.cr.yaml\n
    1. Write file data into MinIO

      cd data/airgap_patch/amd64/files\n\nMINIO_USER=${username} MINIO_PASS=${password} ./import_files.sh ${minio_address}\n

      minio_address is the minio API Server address, typically on port 9000, for example: http://1.2.3.4:9000.

    2. Write image data to the docker registry (recommended version 2.6.2) or harbor

      cd data/airgap_patch/amd64/images \n\n# 1. password-free mode\nREGISTRY_SCHEME=http REGISTRY_ADDR=${registry_address} ./import_images.sh\n\n# 2. Username password mode\nREGISTRY_SCHEME=https REGISTRY_ADDR=${registry_address} REGISTRY_USER=${username} REGISTRY_PASS=${password} ./import_images.sh\n
      • REGISTRY_ADDR is the address of the mirror repository, e.g. 1.2.3.4:5000
      • REGISTRY_USER and REGISTRY_PASS need to be set when username and password authentication exists for the mirror repository
    3. Write localartifactset.cr.yaml to the k8s cluster

      cd data/airgap_patch\nkubectl apply -f localartifactset.cr.yaml\n

      This step is to inform the kubean-operator of the new software version available for offline use.

    "},{"location":"usage/all_in_one_install/","title":"Minimal Deployment","text":""},{"location":"usage/all_in_one_install/#prerequisites","title":"Prerequisites","text":"
    1. You have a standard Kubernetes cluster or a cluster provided by a cloud provider.
    2. The kubectl tool has been installed on your cluster control node or cloud terminal.
    3. The kubean helm chart has been deployed on your cluster.
    4. The kubean project has been cloned to your local machine. If you haven't cloned kubean yet, you can execute the following command to clone it:
    git clone https://github.com/kubean-io/kubean.git\n
    "},{"location":"usage/all_in_one_install/#deployment","title":"Deployment","text":"

    In this tutorial, we will use the kubean/example file cloned to your local machine as a template for demonstration purposes.

    With the help of the example template, we can use kubean to complete the deployment of a single-node cluster in just two steps.

    "},{"location":"usage/all_in_one_install/#1-configure-the-allinoneyml-parameters","title":"1. Configure the AllInOne.yml parameters","text":"

    Navigate to the kubean/examples/install/1.minimal file path, edit the AllInOne.yml template for single-node mode deployment, and replace the following parameters with your actual parameters.

    • <IP1>: Node IP.
    • <USERNAME>: The username for logging into the node. It is recommended to use root or a user with root privileges to log in.
    • <PASSWORD>: The password for logging into the node.
    • <TAG>: kubean image version, it is recommended to use the latest version, Refer to the kubean version list.

    For example, the following shows an example of AllInOne.yml:

    Example of AllInOne.yml
    ---\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: mini-hosts-conf\nnamespace: kubean-system\ndata:\nhosts.yml: |\n  all:\n    hosts:\n      node1:\n        ip: 10.6.175.10 # Your node IP\n        access_ip: 10.6.175.10 # Your node IP\n        ansible_host: 10.6.175.10 # Your node IP\n        ansible_connection: ssh\n        ansible_user: root # The username for logging into the node\n        ansible_password: password01 # The password for logging into the node\n    children:\n      kube_control_plane:\n        hosts:\n          node1:\n      kube_node:\n        hosts:\n          node1:\n      etcd:\n        hosts:\n          node1:\n      k8s_cluster:\n        children:\n          kube_control_plane:\n          kube_node:\n      calico_rr:\n        hosts: {}\n\n---\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: mini-vars-conf\nnamespace: kubean-system\ndata:\ngroup_vars.yml: |\n  container_manager: containerd\n  kube_network_plugin: calico\n  etcd_deployment_type: kubeadm\n\n---\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\nname: cluster-mini\nlabels:\n  clusterName: cluster-mini\nspec:\nhostsConfRef:\n  namespace: kubean-system\n  name: mini-hosts-conf\nvarsConfRef:\n  namespace: kubean-system\n  name:  mini-vars-conf\n\n---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\nname: cluster-mini-install-ops\nspec:\ncluster: cluster-mini\nimage: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2 # kubean image version\nactionType: playbook\naction: cluster.yml\npreHook:\n  - actionType: playbook\n    action: disable-firewalld.yml\npostHook:\n  - actionType: playbook\n    action: cluster-info.yml\n

    Execute the following command to edit the AllInOne.yml configuration template:

    vi kubean/examples/install/1.minimal/AllInOne.yml\n
    "},{"location":"usage/all_in_one_install/#2-apply-the-allinoneyml-configuration","title":"2. Apply the AllInOne.yml configuration","text":"

    After completing the above steps and saving the AllInOne.yml file, execute the following command:

    kubectl apply -f examples/install/1.minimal/AllInOne.yml\n

    At this point, you have completed the deployment of a simple single-node cluster.

    "},{"location":"usage/helm_install_kubean/","title":"Installing kubean Helm application","text":""},{"location":"usage/helm_install_kubean/#prerequisites","title":"Prerequisites","text":"
    1. You have a standard Kubernetes cluster or a cluster provided by a cloud provider.
    2. Helm tool has been installed on your cluster control node or cloud terminal. How to install Helm tool
    "},{"location":"usage/helm_install_kubean/#deployment","title":"Deployment","text":""},{"location":"usage/helm_install_kubean/#1-add-kubean-helm-repository","title":"1. Add kubean Helm repository","text":"

    Add the kubean Helm repository to your local Helm repository by executing the following command on your existing cluster control node or cloud terminal.

    helm repo add kubean-io https://kubean-io.github.io/kubean-helm-chart/\n

    After completing the previous step, check if the kubean repository has been added correctly to your local Helm repository.

    $ helm repo list\n\nNAME            URL\nkubean-io       https://kubean-io.github.io/kubean-helm-chart/\n
    "},{"location":"usage/helm_install_kubean/#2-install-kubean","title":"2. Install kubean","text":"

    Check the available charts and their versions in the kubean Helm repository by executing the following command, which will list all the charts available in the kubean Helm repository.

    $ helm search repo kubean\n\nNAME                CHART VERSION   APP VERSION DESCRIPTION\nkubean-io/kubean    v0.5.2          v0.5.2      A Helm chart for kubean\n

    After completing the above steps, execute the following command to install kubean.

    helm install kubean kubean-io/kubean --create-namespace -n kubean-system\n

    Note

    You can also use the \"--version\" parameter to specify the version of kubean.

    "},{"location":"usage/helm_install_kubean/#3-view-installed-kubean-release","title":"3. View installed kubean release","text":"

    You have now completed the deployment of the kubean Helm chart. You can execute the following command to view the helm release in the kubean-system namespace.

    $ helm ls -n kubean-system\n\nNAME    NAMESPACE       REVISION    UPDATED                                     STATUS      CHART               APP VERSION\nkubean  kubean-system   1           2023-05-15 00:24:32.719770617 -0400 -0400   deployed    kubean-v0.4.9-rc1   v0.4.9-rc1\n
    "},{"location":"usage/install/","title":"Cluster Installation","text":"

    Preconditions: Install kubean charts via helm.

    "},{"location":"usage/install/#install-in-a-cluster-with-a-single-node","title":"Install in a cluster with a single node","text":"

    Refer to minimal sample template

    Referring to the template, we will create an all-in-one single-node cluster:

    "},{"location":"usage/install/#1-update-placeholders-in-allinoneyml-to-real-values","title":"1. Update placeholders in AllInOne.yml to real values","text":"
    • <IP1>
    • <USERNAME>
    • <PASSWORD>
    • <TAG>
    "},{"location":"usage/install/#2-apply-allinoneyml","title":"2. Apply AllInOne.yml","text":"
    $ kubectl apply -f examples/install/1.minimal/\n
    "},{"location":"usage/install/#accelerator-mode-deployment","title":"Accelerator mode deployment","text":"

    Refer to mirror sample template

    "},{"location":"usage/install/#1-update-placeholders-for-yaml-manifests-in-2mirror-directory-to-real-values","title":"1. Update placeholders for yaml manifests in 2.mirror directory to real values","text":"
    • <IP1> / <IP2> ...
    • <USERNAME>
    • <PASSWORD>
    • <TAG>
    "},{"location":"usage/install/#2-apply-the-yaml-manifest-in-2mirror","title":"2. Apply the yaml manifest in 2.mirror","text":"
    $ kubectl apply -f examples/install/2.mirror/\n
    "},{"location":"usage/install/#3-please-refer-to-varsconfcm-for-accelerator-mirror-settings","title":"3. Please refer to VarsConfCM for accelerator mirror settings","text":"

    Accelerators used in this example: * Binary acceleration: public binary files mirror * Mirror acceleration: public image mirror

    "},{"location":"usage/install/#offline-installation","title":"Offline installation","text":"

    Refer to airgap sample template

    For details, please refer to Use of Offline Scenarios

    "},{"location":"usage/install/#ssh-key-mode-installation","title":"SSH key mode installation","text":"

    For details, please refer to Use SSH key to deploy K8S cluster

    "},{"location":"usage/install_without_root/","title":"Deploy the cluster as a non-root user","text":""},{"location":"usage/install_without_root/#contents","title":"Contents","text":"
    • \u2713 1. sudo permission check
    • \u2713 2. Create host inventory configuration
    • \u2713 3. Prepare the configuration parameters of the deployment cluster
    • \u2713 4. Prepare Kubean CRs
    • \u2713 5. Start deploying the cluster
    "},{"location":"usage/install_without_root/#sudo-permission-check","title":"sudo permission check","text":"

    The installation process involves system privileged operations, so users need to have sudo privileges, and the following checks can be performed:

    1. Log in to target node as a non-root user

    2. Check for the existence of the sudo command, and install it through the system package manager if it does not exist:

      which sudo

    3. Execute echo | sudo -S -v in the terminal

      If the result outputs xxx is not in the sudoers file. This incident will be reported or User xxx do not have sudo privilege and other similar information, it means that the current user does not have sudo privileges, otherwise it means that the current user has sudo privileges.

    "},{"location":"usage/install_without_root/#configure-host-list","title":"Configure host list","text":"

    Example: The content of the host list HostsConfCM.yml is roughly as follows, replace and below with the actual username and password:

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        master:\n          ip: 192.168.10.11\n          access_ip: 192.168.10.11\n          ansible_host: 192.168.10.11\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n          ansible_become_password: <PASSWORD>\n        worker:\n          ip: 192.168.10.12\n          access_ip: 192.168.10.12\n          ansible_host: 192.168.10.12\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n          ansible_become_password: <PASSWORD>\n      children:\n        kube_control_plane:\n          hosts:\n            master:\n        kube_node:\n          hosts:\n            master:\n            worker:\n        etcd:\n          hosts:\n            master:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    Note: If the user is configured as NOPASSWD (no password escalation) in the /etc/sudoers file, you can comment the line where ansible_become_password is located

    "},{"location":"usage/install_without_root/#prepare-parameters-of-the-deployment-cluster","title":"Prepare parameters of the deployment cluster","text":"

    For the content of the cluster configuration parameter VarsConfCM.yml, please refer to demo vars conf.

    # VarsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    container_manager: containerd\n    kube_network_plugin: calico\n    kube_network_plugin_multus: false\n    kube_proxy_mode: iptables\n    enable_nodelocaldns: false\n    etcd_deployment_type: kubeadm\n    ntp_enabled: true\n    ...\n
    "},{"location":"usage/install_without_root/#prepare-kubean-crs","title":"Prepare Kubean CRs","text":"
    • Example of Cluster CR

      # Cluster.yml\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: sample\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: sample-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: sample-vars-conf\n  sshAuthRef: # Key attribute, specifying the ssh private key secret during cluster deployment\n    namespace: kubean-system\n    name: sample-ssh-auth\n
    • Example of ClusterOperation CR

      # ClusterOperation.yml\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: sample-create-cluster\nspec:\n  cluster: sample\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n
    "},{"location":"usage/install_without_root/#start-deploying-the-cluster","title":"Start deploying the cluster","text":"

    Assuming all YAML manifests are stored in the create_cluster directory:

    $ tree create_cluster/\ncreate_cluster\n\u251c\u2500\u2500 HostsConfCM.yml       # host list\n\u251c\u2500\u2500 SSHAuthSec.yml        # SSH private key\n\u251c\u2500\u2500 VarsConfCM.yml        # cluster parameters\n\u251c\u2500\u2500 Cluster.yml           # Cluster CR\n\u2514\u2500\u2500 ClusterOperation.yml  # ClusterOperation CR\n

    Start deploying the cluster with kubectl apply:

    kubectl apply -f create_cluster/\n
    "},{"location":"usage/mirror_install/","title":"Deploying a Cluster using Accelerated Mode","text":""},{"location":"usage/mirror_install/#prerequisites","title":"Prerequisites","text":"
    1. You already have a standard Kubernetes cluster or a cluster provided by a cloud provider.
    2. The control node or cloud terminal for the cluster has the kubect tool installed.\u3002
    3. The kubean helm chart has been deployed on your cluster.
    4. The kubean projecthas been cloned to your local machine. If you haven't cloned kubean yet, you can do so by executing the following command:
    $ git clone https://github.com/kubean-io/kubean.git\n
    "},{"location":"usage/mirror_install/#getting-started","title":"Getting Started","text":"

    This tutorial will use the kubean/example/2.mirror file that you cloned to your local machine as an example template for demonstrating cluster deployment using accelerated mode.

    The 2.mirror accelerated deployment template already contains built-in acceleration parameter configurations. You only need to modify the host information and other relevant information in the two configuration template files, HostsConfCM.yml and ClusterOperation.yml, located in the /2.mirror file path.

    The main configuration files and purposes inside the `2.mirror` file are as follows:
        .2.mirror\n    \u251c\u2500\u2500 Cluster.yml                        # The main configuration files and their purposes in the `2.mirror` file are as follows:\n    \u251c\u2500\u2500 ClusterOperation.yml        # kubean version and task configuration\n    \u251c\u2500\u2500 HostsConfCM.yml              # Node information configuration for the cluster to be built\n    \u2514\u2500\u2500 VarsConfCM.yml                # Configuration for acceleration and other features\n
    "},{"location":"usage/mirror_install/#1-configure-host-parameters-in-hostsconfcmyml","title":"1. Configure Host Parameters in HostsConfCM.yml","text":"

    Navigate to the kubean/examples/install/2.mirror/ path and edit the HostsConfCM.ymltemplate for the node configuration information of the cluster to be built. Replace the following parameters with your actual parameters:

    • <IP1>\uff1aNode IP.
    • <USERNAME>\uff1a Username for logging in to the node. We recommend using root or a user with root privileges to log in.
    • <PASSWORD>\uff1aPassword for logging in to the node.

    For example, the following is an example HostsConfCM.yml file:

    HostsConfCM.yml Example
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: online-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # Your node IP\n          access_ip: 10.6.175.10 # Your node IP\n          ansible_host: 10.6.175.10 # Your node IP\n          ansible_connection: ssh\n          ansible_user: root # The username for logging into the node\n          ansible_password: password01 # The password for logging into the node\n        node2:\n          ip: 10.6.175.20 # Your node2 IP\n          access_ip: 10.6.175.20 # Your node2 IP\n          ansible_host: 10.6.175.20 # Your node2 IP\n          ansible_connection: ssh\n          ansible_user: root # The username for logging into the node2\n          ansible_password: password02 # The password for logging into the node2\n      children:\n        kube_control_plane: # Configuring the control node\n          hosts:\n            node1:\n        kube_node: # Configuring the working nodes of the cluster\n          hosts:\n            node1:\n            node2:\n        etcd: # Configuring the ETCD nodes of the cluster\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    Execute the following command to edit the HostsConfCM.yml configuration template:

    $ vi kubean/examples/install/2.mirror/HostsConfCM.yml\n
    "},{"location":"usage/mirror_install/#2-configure-kubean-task-parameters-in-clusteroperationyml","title":"2. Configure kubean Task Parameters in ClusterOperation.yml","text":"

    Navigate to the kubean/examples/install/2.mirror/ path and edit the ClusterOperation.yml template for the configuration information of the cluster to be built. Replace the following parameters with your actual parameters:

    • <TAG>: kubean image version. We recommend using the latest version.Refer to the kubean version list

    For example, the following is an example ClusterOperation.yml file:

    ClusterOperation.yml Example
    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-online-install-ops\nspec:\n  cluster: cluster1-online\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2 # kubean image version\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n

    To edit the ClusterOperation.yml configuration template, run the following command:

    $ vi kubean/examples/install/2.mirror/ClusterOperation.yml\n
    "},{"location":"usage/mirror_install/#3-apply-all-configurations-under-the-2mirror-directory","title":"3. Apply all configurations under the 2.mirror directory","text":"

    After completing the above steps and saving the HostsConfCM.yml and ClusterOperation.yml files, run the following command:

    $ kubectl apply -f examples/install/2.mirror\n

    With this, you have completed the deployment of a cluster using the acceleration mode.

    "},{"location":"usage/scale_worknode/","title":"Scaling Cluster Worker Nodes","text":"

    In the process of software development and operation, business growth often requires adding worker nodes to a cluster to meet the demand. For clusters deployed using kubean, we can use a declarative approach to quickly scale the cluster's worker nodes.

    In the kubean/example/scale directory cloned to your local machine, there is a sample template for scaling worker nodes:

    The main configuration files and purposes in the scale file are as follows:
        scale\n    \u251c\u2500\u2500 1.addWorkNode                             # Template for adding worker nodes\n    \u2502   \u251c\u2500\u2500 ClusterOperation.yml                       # kubean version and task configuration\n    \u2502   \u2514\u2500\u2500 HostsConfCM.yml                            # configuration of current cluster node information\n    \u2514\u2500\u2500 2.delWorkNode                             # Template for deleting worker nodes\n    \u2502   \u251c\u2500\u2500 ClusterOperation.yml                       # kubean version and task configuration\n    \u2502   \u2514\u2500\u2500 HostsConfCM.yml                             # configuration of current cluster node information\n

    By observing the scaling configuration template in the scale file, it can be seen that scaling the cluster's worker nodes only requires executing two configuration files: HostsConfCM.yml and ClusterOperation.yml. You will need to replace the parameters such as the information of the new node with your actual parameters.

    Using the example of a single-node cluster deployed in all-in-one mode let's demonstrate how to scale the cluster's worker nodes.

    Note: Before scaling the cluster, you must have completed the deployment of a set of cluster using kubean.

    "},{"location":"usage/scale_worknode/#scaling-worker-nodes","title":"Scaling Worker Nodes","text":""},{"location":"usage/scale_worknode/#1-add-new-node-host-parameters-to-hostsconfcmyml","title":"1. Add New Node Host Parameters to HostsConfCM.yml","text":"

    To add a new node configuration to the ConfigMap named mini-hosts-conf in the existing all-in-one mode, we will add a new worker node node2 based on the original main node node1.

    Specifically, we can go to the path kubean/examples/scale/1.addWorkNode/, edit the prepared node configuration ConfigMap template HostsConfCM.yml, and replace the following parameters with your actual parameters:

    • <IP2>: the IP address of the node.
    • <USERNAME>: the username to log in to the node. We recommend using either \"root\" or a user with root privileges.
    • <PASSWORD>: the password to log in to the node.

    The template content of HostsConfCM.yml in the kubean/examples/scale/1.addWorkNode/ path is as follows:

    HostsConfCM.yml \u6a21\u677f
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: <IP1>\n          access_ip: <IP1>\n          ansible_host: <IP1>\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n        node2:\n          ip: <IP2>\n          access_ip: <IP2>\n          ansible_host: <IP2>\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    Important Parameters:

    • all.hosts.node1: The original main node that already exists in the cluster.
    • all.hosts.node2: The worker node to be added to the cluster.
    • all.children.kube_node.hosts: The group of worker nodes in the cluster.

    Example

    Before Adding New NodeAfter Adding New Node
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # Your node's IP\n          access_ip: 10.6.175.10 # Your node's IP\n          ansible_host: 10.6.175.10 # Your node's IP\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node\n          ansible_password: password01 # The password to log in to the node\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # Your node's IP\n          access_ip: 10.6.175.10 # Your node's IP\n          ansible_host: 10.6.175.10 # Your node's IP\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node\n          ansible_password: password01 # The password to log in to the node\n        node2:\n          ip: 10.6.175.20 # Your node's IP\n          access_ip: 10.6.175.20 # Your node's IP\n          ansible_host: 10.6.175.20 # Your node's IP\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node\n          ansible_password: password01 # The password to log in to the node\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    "},{"location":"usage/scale_worknode/#2-add-scaling-task-through-clusteroperationyml","title":"2. Add Scaling Task through ClusterOperation.yml","text":"

    Go to the path kubean/examples/scale/1.addWorkNode/ and edit the template ClusterOperation.yml,replacing the following parameter with your actual parameter:

    • <TAG>: the kubean image version. We recommend using the latest version. Refer to the kubean version list.

    The template content of ClusterOperation.yml in the kubean/examples/scale/1.addWorkNode/ path is as follows:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-awn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: scale.yml\n  extraArgs: --limit=node2\n
    Important Parameters:

    • spec.cluster: specifies the name of the cluster to be scaled. The above example specifies the cluster named cluster-mini as the scaling target.
    • spec.action:: specifies the kubespray script for scaling the node, which is set to scale.yml here.
    • spec.extraArgs: specifies the limit of the nodes to be scaled. Here, the --limit= parameter is used to limit the scaling to the node2.

    For example, the following is an example of ClusterOperation.yml:

    ClusterOperation.yml Example
    ---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-awn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2\n  actionType: playbook\n  action: scale.yml\n  extraArgs: --limit=node2\n
    "},{"location":"usage/scale_worknode/#3apply-all-configurations-under-scale1addworknode-folder","title":"3.Apply all configurations under scale/1.addWorkNode folder","text":"

    After completing the above steps and saving the HostsConfCM.yml and ClusterOperation.yml files, run the following command:

    $ kubectl apply -f examples/install/scale/1.addWorkNode/\n

    At this point, you have completed the scaling of a working node in a cluster.

    "},{"location":"usage/scale_worknode/#shrink-working-nodes","title":"Shrink Working Nodes","text":""},{"location":"usage/scale_worknode/#1-add-scaling-task-through-clusteroperationyml","title":"1. Add Scaling Task through ClusterOperation.yml","text":"

    Go to the path kubean/examples/scale/2.delWorkNode/ and edit the template ClusterOperation.yml, replacing the following parameter with your actual parameter:

    • <TAG>\uff1athe kubean image version. We recommend using the latest version. Refer to the kubean version list.

    The template content of ClusterOperation.yml in the kubean/examples/scale/2.delWoorkNode/ path is as follows:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-dwn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: remove-node.yml\n  extraArgs: -e node=node2\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • spec.cluster: specifies the name of the cluster to be scaled. The above example specifies the cluster named cluster-mini as the scaling target.
    • spec.action: specifies the kubespray script for scaling the node, which is set to remove-node.yml here.
    • spec.extraArgs: specifies the nodes to be scaled down. Here, the -e parameter is used to specify the node2 to be scaled down.

    For example, the following is an example of ClusterOperation.yml:

    ClusterOperation.yml Example
    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-dwn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2\n  actionType: playbook\n  action: remove-node.yml\n  extraArgs: -e node=node2\n
    "},{"location":"usage/scale_worknode/#2apply-the-clusteroperation-scaling-task-list-under-the-scale2delworknode-directory","title":"2.Apply the ClusterOperation scaling task list under the scale/2.delWorkNode directory","text":"

    After completing the above steps and saving the ClusterOperation.yml file, run the following command:

    $ kubectl apply -f examples/install/scale/2.delWorkNode/ClusterOperation.yml\n

    By default, enter the kubean-system namespace and check the execution status of the scaling task:

    $ kubectl -n kubean-system get pod | grep cluster-mini-dwn-ops\n
    To learn about the progress of the scaling task, you can view the logs of the pod.

    "},{"location":"usage/scale_worknode/#3-delete-the-working-node-host-parameters-through-hostsconfcmyml","title":"3. Delete the working node host parameters through HostsConfCM.yml","text":"

    We have executed the scaling task through the above two steps. After the scaling task is completed, node2 will be permanently removed from the existing cluster. Then, we need to complete the final step, which is to remove the node2 information from the node configuration related Configmap.

    Go to the path kubean/examples/scale/2.delWorkNode/ and edit the prepared node configuration template HostsConfCM.yml to remove the configuration of the working node that needs to be removed.

    The deleted parameters are as follows:

    • all.hosts: The node2 node access parameters.
    • all.children.kube_node.hosts: The node name node2.

    Example

    Before removing the nodeAfter removing a node
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # Your node's IP\n          access_ip: 10.6.175.10 # Your node's IP\n          ansible_host: 10.6.175.10 # Your node's IP\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node\n          ansible_password: password01 # The password to log in to the node\n        node2:\n          ip: 10.6.175.20 # The IP address of node 2 is added\n          access_ip: 10.6.175.20 # The IP address of node 2 is added\n          ansible_host: 10.6.175.20 # The IP address of node 2 is added\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node2\n          ansible_password: password01 # password to log in to the node2\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # Your node's IP\n          access_ip: 10.6.175.10 # Your node's IP\n          ansible_host: 10.6.175.10 # Your node's IP\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node\n          ansible_password: password01 # The password to log in to the node\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    After completing the above steps and saving the HostsConfCM.yml file, execute the following command:

    $ kubectl apply -f examples/install/scale/2.delWorkNode/HostsConfCM.yml\n

    At this point, we have removed the node2 worker node from the cluster and cleaned up all the host information related to node2. The entire scaling down operation is now complete.

    "},{"location":"usage/sshkey_deploy_cluster/","title":"Deploy Kubernetes clusters with SSH","text":"

    Contents

    • \u2713 1. Generate and distribute an SSH private key
    • \u2713 2. Make a Secret with private key
    • \u2713 3. Create a host configuration file
    • \u2713 4. Provision parameters for cluster deployment
    • \u2713 5. Prepare Kubean's CRDs
    • \u2713 6. Deploy a cluster
    "},{"location":"usage/sshkey_deploy_cluster/#generate-and-distribute-an-ssh-private-key","title":"Generate and distribute an SSH private key","text":"
    1. Generate a pair of public-private keys with ssh-keygen command:

      $ ssh-keygen -t rsa -b 4096 -C \"your_email@example.com\" -f $HOME/.ssh/id_rsa\nGenerating public/private rsa key pair.\nCreated directory '/root/.ssh'.\nEnter passphrase (empty for no passphrase):\nEnter same passphrase again:\nYour identification has been saved in /root/.ssh/id_rsa.\nYour public key has been saved in /root/.ssh/id_rsa.pub.\nThe key fingerprint is:\nSHA256:oMqlhL8wLuYycOkUNXyiDso62C+ryNYc9k3LMDltQZs your_email@example.com\nThe keys randomart image is:\n+---[RSA 4096]----+\n|   .             |\n|    = ..         |\n|   o +o o        |\n|..o  . E         |\n|+o.oo o S        |\n|o==* = +         |\n|*=O o O .        |\n|@=++ . +         |\n|OBo+.            |\n+----[SHA256]-----+\n\n$ ls /root/.ssh/id_rsa* -lh\n-rw-------. 1 root root 1.7K Nov 10 03:47 /root/.ssh/id_rsa         # private key\n-rw-r--r--. 1 root root  408 Nov 10 03:47 /root/.ssh/id_rsa.pub     # public key\n
    2. Distribute the key pair to nodes of the cluster to be deployed:

      # for example, specify to distribute the public key to nodes `192.168.10.11` and `192.168.10.12`.\n$ declare -a IPS=(192.168.10.11 192.168.10.12)\n\n# traverse node IPs to distribute the public key (/root/.ssh/id_rsa.pub) with the presumptive account/password: root/kubean\n$ for ip in ${IPS[@]}; do sshpass -p \"kubean\" ssh-copy-id -i /root/.ssh/id_rsa.pub -o  StrictHostKeyChecking=no root@$ip; done\n
    "},{"location":"usage/sshkey_deploy_cluster/#make-a-secret-with-private-key","title":"Make a Secret with private key","text":"

    Generate a Secret for the private key with the following command:

    $ kubectl -n kubean-system \\                            # specify namespace: kubean-system\n    create secret generic sample-ssh-auth \\             # specify the name of Secret: sample-ssh-auth\n    --type='kubernetes.io/ssh-auth' \\                   # specify the type of Secret: kubernetes.io/ssh-auth\n    --from-file=ssh-privatekey=/root/.ssh/id_rsa \\      # specify the filepath of the ssh private key\n    --dry-run=client -o yaml > SSHAuthSec.yml           # specify the target path of the new Secret YAML\n

    The expected SSHAuthSec.yml looks like:

    # SSHAuthSec.yml\napiVersion: v1\nkind: Secret\nmetadata:\n  creationTimestamp: null\n  name: sample-ssh-auth\n  namespace: kubean-system\ntype: kubernetes.io/ssh-auth\ndata:\n  ssh-privatekey: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdWVDbC8rSng1b0RT...\n
    "},{"location":"usage/sshkey_deploy_cluster/#create-a-host-configuration-file","title":"Create a host configuration file","text":"

    Replace the below with the actual username, the HostsConfCM.yml file looks like:

    # HostsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        master:\n          ip: 192.168.10.11\n          access_ip: 192.168.10.11\n          ansible_host: 192.168.10.11\n          ansible_user: <USRENAME>\n        worker:\n          ip: 192.168.10.12\n          access_ip: 192.168.10.12\n          ansible_host: 192.168.10.12\n          ansible_user: <USRENAME>\n      children:\n        kube_control_plane:\n          hosts:\n            master:\n        kube_node:\n          hosts:\n            master:\n            worker:\n        etcd:\n          hosts:\n            master:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    Note: It is not necessary to include the password (ansible_password) when logging in with a private key.

    "},{"location":"usage/sshkey_deploy_cluster/#provision-parameters-for-cluster-deployment","title":"Provision parameters for cluster deployment","text":"

    For contents of VarsConfCM.yaml, refer to demo vars conf.

    # VarsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    container_manager: containerd\n    kube_network_plugin: calico\n    kube_network_plugin_multus: false\n    kube_proxy_mode: iptables\n    enable_nodelocaldns: false\n    etcd_deployment_type: kubeadm\n    ntp_enabled: true\n    ...\n
    "},{"location":"usage/sshkey_deploy_cluster/#prepare-kubeans-crds","title":"Prepare Kubean's CRDs","text":"
    • Example of a Cluster CR:

      # Cluster.yml\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: sample\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: sample-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: sample-vars-conf\n  sshAuthRef: # key field: specifies the Secret of the ssh private key for cluster deployment\n    namespace: kubean-system\n    name: sample-ssh-auth\n
    • Example of a ClusterOperation CR:

      # ClusterOperation.yml\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: sample-create-cluster\nspec:\n  cluster: sample\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n
    "},{"location":"usage/sshkey_deploy_cluster/#deploy-a-cluster","title":"Deploy a cluster","text":"

    Suppose all YAML manifests are stored in the create_cluster directory:

    $ tree create_cluster/\ncreate_cluster\n\u251c\u2500\u2500 HostsConfCM.yml       # host list\n\u251c\u2500\u2500 SSHAuthSec.yml        # SSH key\n\u251c\u2500\u2500 VarsConfCM.yml        # cluster parameters\n\u251c\u2500\u2500 Cluster.yml           # Cluster CR\n\u2514\u2500\u2500 ClusterOperation.yml  # ClusterOperation CR\n

    Deploy a cluster with kubectl apply:

    kubectl apply -f create_cluster/\n
    "},{"location":"usage/uninstall/","title":"Cluster Uninstallation","text":"

    This section will show you how to use kubean to uninstall a cluster. In the kubean/example/uninstall directory that you cloned to your local machine, there is a sample template for uninstalling a cluster:

    The main configuration files and their purposes in the uninstall directory are as follows:
        uninstall\n    \u251c\u2500\u2500 ClusterOperation.yml                # Uninstall cluster task\n

    In the following example, we will use a single-node cluster deployed in all-in-one mode to demonstrate the cluster upgrade operation.

    Note: Before performing a cluster uninstallation, you must have completed the deployment of a cluster using kubean.

    "},{"location":"usage/uninstall/#1-add-an-uninstallation-task","title":"1. Add an uninstallation task","text":"

    Go to the kubean/examples/uninstall/ directory and edit the template ClusterOperation.yml, replacing the following parameters with your actual parameters:

    • <TAG>\uff1aThe kubean image version. It is recommended to use the latest version.Refer to the kubean version list.

    The template content of kubean/examples/uninstall/ ClusterOperation.yml path is as follows:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-uninstall-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: reset.yml\n
    Important Parameters:

    • spec.cluster: Specifies the name of the cluster to be uninstalled. In the example above, the cluster named cluster-mini is the target for uninstallation.
    • spec.action:\uff1a: Specifies the Kubespray playbook for uninstallation. Here it is set to reset.yml.
    "},{"location":"usage/uninstall/#2apply-the-configuration-in-the-uninstall-directory","title":"2.Apply the Configuration in the uninstall Directory","text":"

    After completing the above steps and saving the ClusterOperation.yml file, execute the following command:

    $ kubectl apply -f examples/uninstall/\n

    At this point, you have successfully uninstalled a cluster.

    "},{"location":"usage/upgrade/","title":"Cluster Version Upgrade","text":"

    This section will introduce how to upgrade the Kubernetes version of a cluster using kubean. The kubean/example/upgrade directory that you cloned locally provides a sample template for cluster version upgrades:

    The main configuration files and their purposes in the upgrade directory are as follows:
        upgrade\n    \u251c\u2500\u2500 ClusterOperation.yml                  # Upgrade cluster tasks\n    \u2514\u2500\u2500 VarsConfCM.yml                        # Configuration parameters for cluster version upgrades\n

    To demonstrate the process of upgrading a cluster version, we will use the example of a single node cluster deployed using the all-in-one mode.

    Note: that before upgrading the cluster version, you must have completed the deployment of a cluster using kubean.

    "},{"location":"usage/upgrade/#1-add-an-upgrade-task","title":"1. Add an upgrade task","text":"

    Go to the kubean/examples/upgrade/ directory and edit the ClusterOperation.yml template. Replace the following parameters with your actual parameters:

    • <TAG>\uff1aThe version of the kubean image. We recommend using the latest version.Refer to the kubean version list.

    The template for ClusterOperation.yml in the kubean/examples/upgrade/ directory is as follows:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-upgrade-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: upgrade-cluster.yml\n
    Important Parameters:

    • spec.cluster: Specifies the name of the cluster to be upgraded. In the above example, the cluster named cluster-mini is the upgrade target.
    • spec.action: Specifies the kubespray playbook related to the upgrade. Here it is set to upgrade-cluster.yml.
    "},{"location":"usage/upgrade/#2-specify-the-upgraded-version-of-the-cluster","title":"2. Specify the upgraded version of the cluster","text":"

    Go to the kubean/examples/upgrade/ directory and edit the VarsConfCM.yml template. Specify the version of the cluster upgrade by configuring the kube_version parameter.

    The template for VarsConfCM.yml in the kubean/examples/upgrade/ directory is as follows:

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.8\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n
    Important Parameters:

    • kube_version: Specifies the version of the cluster to be upgraded. In the above example, it is set to upgrade to k8s v1.25.8.

    Example

    Before upgrading the versionAfter upgrading the version
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.0\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.8\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n

    Bonus: kubean cluster version support mechanism:

    kubean Version Recommended Kubernetes Version Supported Kubernetes Version Range v0.5.2 v1.25.4 - \"v1.27.2\" - \"v1.26.5\" - \"v1.26.4\" - \"v1.26.3\" - \"v1.26.2\" - \"v1.26.1\" - \"v1.26.0\" - \"v1.25.10\" - \"v1.25.9\" - \"v1.25.8\" - \"v1.25.7\" - \"v1.25.6\" - \"v1.25.5\" - \"v1.25.4\" - \"v1.25.3\" - \"v1.25.2\" - \"v1.25.1\" - \"v1.25.0\"

    For more detailed information about upgrading parameters, please refer to the kubespray documentation:Updating Kubernetes with Kubespray.

    "},{"location":"usage/upgrade/#3apply-all-configurations-under-the-upgrade-directory","title":"3.Apply all configurations under the upgrade directory","text":"

    After completing the above steps andsaving the ClusterOperation.yml and VarsConfCM.yml files, run the following command:

    $ kubectl apply -f examples/upgrade/\n

    With this, you have completed the upgrade of the Kubernetes version for a cluster.

    "}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\u200b\\u3000\\-\u3001\u3002\uff0c\uff0e\uff1f\uff01\uff1b]+","pipeline":["stemmer"]},"docs":[{"location":"","title":"Kubean","text":"

    Kubean is a product ready cluster lifecycle management toolchains based on kubespray and other cluster LCM engine.

    "},{"location":"#awesome-features","title":"Awesome features","text":"
    • Simplicity: Deploying of Kubean and powerful lifecycle management of kubernetes cluster implementing by declarative API.
    • Offline Supported: Offline packages(os-pkgs, images, binarys) are released with the release. You won't have to worry about how to gather all the resources you need.
    • Compatibility: Multi-arch delivery Supporting. Such as AMD, ARM with common Linux distributions. Also include Kunpeng with Kylin.
    • Expandability: Allowing custom actions be added to cluster without any changes for Kubespray.
    "},{"location":"#others","title":"Others","text":"

    Copyright The Kubean Authors

    We are a Cloud Native Computing Foundation sandbox project.

    The Linux Foundation\u00ae (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see Trademark Usage.

    "},{"location":"concepts/architecture/","title":"Kubean Infrastructure","text":"

    The overall architecture of Kubean is shown below\uff1a

    Kubean needs to run on an existing Kubernetes cluster. It controls and manages cluster lifecycle (install, uninstall, upgrade, scale up & down, etc.) by applying the standard CRDs provided by Kubean and Kubernetes built-in resources. Kubean uses Kubespray as the underlying technology. On the one hand, it simplifies the operation process of cluster deployment and lowers the threshold of use. On the other hand, many new features such as cluster operation records and offline version records have been added on the basis of Kubespray's capabilities.

    Kubean runs several controllers to track changes of Kubean CRDs and communicates with the underlying cluster's API server to create Kubernetes native resources. It consists of four components\uff1a

    1. Cluster Controller: monitors 'Cluster Objects'. It uniquely identifies a cluster, has the access information, type information, and deployment parameter information of the cluster node, and is associated with all operations on the cluster ('ClusterOperation Objects');
    2. ClusterOperation Controller: monitors ClusterOperation Objects. When a ClusterOperation Object is created, the controller assembles a Job to perform the operations defined in the CRD object;
    3. Manifest Controller: monitors Manifest Objects. It records and maintains components, packages and versions that are used by or compatible with the current version of Kubean;
    4. LocalArtifactSet Controller\uff1amonitors LocalArtifactSet Objects. It records information about the components and versions supported by the offline package.
    "},{"location":"concepts/comparisons/","title":"Kubean vs Kubespray","text":"

    Kubespray uses Ansible as the underlying layer to configure and orchestrate clusters. It can run on bare metal machines, virtual machines, and most kinds of cloud environment. It supports a wide range of Kubernetes versions and various plugins. With Kubespray, you can flexibly build and configure clusters from 0 to 1, and maintain you clusters through their lifecycles.

    Kubean is based on Kubespray and boasts all the advantages of Kubespray. Moreover, Kubean introduces the concept of Operator to fully implement the philosophy of cloud native. Kubean is designed to run as a container, and can be easily installed with a Helm chart.

    Kubespray only supports offline at the parameter level and provides no process for building an offline install package, making it very troublesome for users who need to use it offline. They may gradually lose patience with Kubespray.

    Kubean not only has a mature workflow for making offline packages, it also simplifies Kubespray's configuration, allowing users to manage cluster life cycle in a cloud-native way.

    "},{"location":"concepts/crds/","title":"CRDs","text":"

    CustomResourceDefinition (CRD) is a Kubernetes built-in resource for creating custom resources to further extend the Kubernetes API. Kubean provides four built-in CRDs: Cluster, ClusterOperation, Manifest, and LocalArtifact.

    "},{"location":"concepts/crds/#cluster","title":"Cluster","text":"

    In Kubean, you can declare (uniquely identify) a Kubernetes cluster with a Cluster CRD. Clusters will be deployed according to their Cluster CRDs.

    Here's an example of the Cluster CRD:

    apiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: cluster1-offline-demo\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: cluster1-offline-demo-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: cluster1-offline-demo-vars-conf\n

    Each field in this CRD is explained as follows:

    "},{"location":"concepts/crds/#metadata-section","title":"Metadata Section","text":"
    • name: declares a globally unique cluster.
    "},{"location":"concepts/crds/#spec-section","title":"Spec Section","text":"
    • hostConfRef: a ConfigMap resource in the format of ansible inventory. It includes information about nodes in a cluster, types, and groups. For further details, refer to demo.

    • name: name of the ConfigMap referenced by hostConfRef.

    • namespace: namespace of the ConfigMap referenced by hostConfRef.

    • varsConfRef: a ConfigMap resource to initialize or override variable values declared in Kubespray. This is very useful if you need to execute actions offline. For its specific content, refer to demo.

    • name: name of the ConfigMap referenced by varsConfRef.

    • namespace: namespace of the ConfigMap referenced by varsConfRef.

    • sshAuthRef: a Secret resource used only in the SSH private key mode.

    • name: name of the Secret referenced by sshAuthRef.

    • namespace: namespace of the Secret referenced by sshAuthRef.
    "},{"location":"concepts/crds/#clusteroperation","title":"ClusterOperation","text":"

    In Kubean, you can declare actions (deployment, upgrade, etc.) against a Kubernetes cluster with a ClusterOperation CRD. This CRD must be correctly associated with the corresponding Cluster CRD, which provides necessary information for executing these actions.

    Here's an example of the ClusterOperation CRD:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-demo-ops-1\nspec:\n  cluster: cluster1-demo\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n

    Each field in this CRD is explained as follows:

    "},{"location":"concepts/crds/#metadata-section_1","title":"Metadata Section","text":"
    • name: uniquely identifies an action against the associated cluster.
    "},{"location":"concepts/crds/#spec","title":"Spec","text":"
    • cluster: name of the cluster against which this action will be executed. It should be the same as the value declared in the Cluster CRD.
    • image: address of the Kubespray image. You can use the image in the Kubean repo or your own image.
    • actionType: type of the action. It currently can be set as either playbook or shell.
    • action: the action to be executed. It currently can be set as either a playbook file path or a shell command.
    • preHook: what should be done before executing the action. Allow multiple values, such as test connectivity.
    • actionType: refer to the above actionType.
    • action: refer to the above action.
    • postHook: what to do after executing the action. Allow multiple values, such as get the cluster status.
    • actionType: refer to the above actionType.
    • action: refer to the above action.
    "},{"location":"concepts/crds/#manifest","title":"Manifest","text":"

    In Kubean, you can use a Manifest CRD to create and maintain a record of components, packages, and versions used by or compatible with the current version of Kubean. You don't need to do this job manually. Kubean will take care of it for you.

    Here's an example of the Manifest CRD:

    apiVersion: kubean.io/v1alpha1\nkind: Manifest\nmetadata:\n  name: kubeaninfomanifest-v0-4-0-rc2\nspec:\n  components:\n  - defaultVersion: v1.1.1\n    name: cni\n    versionRange:\n    - v1.0.1\n    - v1.1.1\n  - defaultVersion: 1.6.9\n    name: containerd\n    versionRange:\n    .......\n    - 1.6.7\n    - 1.6.8\n    - 1.6.9\n  - defaultVersion: \"\"\n    name: kube\n    versionRange:\n    - v1.25.3\n    - v1.25.2\n    - v1.25.1\n    ........\n  - defaultVersion: v3.23.3\n    name: calico\n    versionRange:\n    - v3.23.3\n    - v3.22.4\n    - v3.21.6\n  - defaultVersion: v1.12.1\n    name: cilium\n    versionRange: []\n  - defaultVersion: \"null\"\n    name: etcd\n    versionRange:\n    - v3.5.3\n    - v3.5.4\n    - v3.5.5\n  docker:\n  - defaultVersion: \"20.10\"\n    os: redhat-7\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  - defaultVersion: \"20.10\"\n    os: debian\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  - defaultVersion: \"20.10\"\n    os: ubuntu\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  kubeanVersion: v0.4.0-rc2\n  kubesprayVersion: c788620\n

    Each field in this CRD is explained as follows:

    • components: declares versions of images or binary files.
    • name: name of a component.
    • defaultVersion: default versions of the component.
    • versionRange: supported component versions.
    • docker: manages Docker versions.
    • os: supported operating systems.
    • defaultVersion: the default version used.
    • versionRange: supported versions.
    • kubeanVersion: version of Kubean.
    • kubesprayVersion: version of the Kubespray used in Kubean.
    "},{"location":"concepts/crds/#localartifact","title":"LocalArtifact","text":"

    In Kubean, you can use a LocalArtifact CRD to record components and their versions supported by Kubean's offline package. You don't need to do this job manually. Kubean will take care of it for you.

    Here's an example of the LocalArtifact CRD:

    apiVersion: kubean.io/v1alpha1\nkind: LocalArtifactSet\nmetadata:\n  name: \"localartifactset-1709796014\"\n  labels:\n    kubean.io/sprayRelease: master\nspec:\n  kubespray: \"989ba207e9da2e1364f375450561d08af80c8535\"\n  items:\n    - name: cilium\n      versionRange:\n        - \"v1.13.4\"\n    - name: flannel\n      versionRange:\n        - \"v0.22.0\"\n    - name: kube_ovn\n      versionRange:\n        - \"v1.11.5\"\n    - name: runc\n      versionRange:\n        - \"v1.1.12\"\n    - name: kube\n      versionRange:\n        - \"v1.1.12\"\n    - name: cni\n      versionRange:\n        - \"v1.3.0\"\n    - name: calico\n      versionRange:\n        - \"v3.26.4\"\n    - name: containerd\n      versionRange:\n        - \"1.7.13\"\n

    Each field in this CRD is explained as follows:

    • arch: a list of supported CPU architectures.
    • kubespray: Kubespray version used.
    • docker: manages Docker versions.
    • os: operating systems supported by Docker
    • versionRange: a list of supported Docker versions.
    • items: manages versions of other components.
    • name: name of a component.
    • versionRange: a list of supported versions of the component.
    "},{"location":"concepts/custom_action/","title":"Custom Actions","text":""},{"location":"concepts/custom_action/#motivation","title":"Motivation","text":"

    For users, the products of Kubean and Kubespray are OCI images, Helm charts, and K8s manifests. If you want to customize some operations after obtaining these products, it is possible but can be complicated and requires a lot of manual configuration modifications. We hope to simplify this process.

    "},{"location":"concepts/custom_action/#goal","title":"Goal","text":"

    Provide a convenient way for users to use customized actions to view, modify, and control the status of cluster nodes.

    "},{"location":"concepts/custom_action/#crd-design","title":"CRD Design","text":"
    1. Add the ActionSource field to declare the source of the action, whose value currently supports:

    2. builtin (default)

      Indicates the use of Kubean's built-in Ansible playbook or shell script in the manifest.\n
    3. configmap

      Indicates that the required Ansible playbook or shell script is obtained by referencing a K8s ConfigMap.\n
    4. Add the ActionSourceRef field to declare the resource object referenced when ActionSource is configmap. This field only takes effect when ActionSource is configmap, and its format is:

      actionSourceRef:\n  name: <configmap name>\n  namespace: <namespace of configmap>\n

    Configuration example:

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: cluster1-demo-myaction\n  namespace: kubean-system\ndata:\n  myplaybook.yml: |\n    - hosts: k8s_cluster\n      gather_facts: false\n      become: yes\n      any_errors_fatal: \"{{ any_errors_fatal | default(true) }}\"\n      tasks:\n        - name: Print inventory hostname\n          debug:\n            msg: \"inventory_hostname is {{ inventory_hostname }}\"\n  hello.sh: |\n    echo \"hello world!\"\n---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-demo-ops-1\nspec:\n  cluster: cluster1-demo\n  image: ghcr.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: myplaybook.yml\n  actionSource: configmap\n  actionSourceRef:\n    name: cluster1-demo-myaction\n    namespace: kubean-system\n  preHook:\n    - actionType: shell\n      action: hello.sh\n      actionSource: configmap\n      actionSourceRef:\n        name: cluster1-demo-myaction\n        namespace: kubean-system\n
    "},{"location":"concepts/theory_of_airgapped_package/","title":"Theory of Air-gapped packages","text":"

    Kubean CI builds offline assets to install Kubernetes in air-gapped environment.

    NOTE: About usage for the offline assets, please refer to offline.md

    This chapter explains the theory how the air-gapped packages come from.

    • Assets: Github Releases
    • Major contents:
    Asset Description files-*.tar.gz The binaries required in Kubespray installation: example : kubeadm, runc images-*.tar.gz The k8s cluster images as well as CNI images os-pkgs-${linux_distribution}-${tag}.tar.gz deb/rpm required during k8s installion"},{"location":"concepts/theory_of_airgapped_package/#how-to-build-the-assets","title":"How to build the assets","text":"
    1. Images & binaries

      As stated in Kubespray offline deployment guide, Kubespray already provides scripts to generate images and binaries list. (Thanks to great Kubespray! )

      With help of Kubespray script to generate binaries & images list, then we can use manage-offline-files.sh to download those binaries and images. At last, Kubean provides an call-offline-build.yaml(Github Action scripts) to make them together.

    2. os-packages (deb/rpm)

      During the k8s installation, a few packages could not be installed as binaries, so we have to install them via deb/rpm. The os packages list defines what packages will be involved.

      Github Action will build packages in different OS (as Qemu) via dnf/apt to download and archive RPM/DEB packages.

    3. CI process

      The offline assets are generated/managed by Github Action scripts.

    "},{"location":"develop/roadmap/","title":"Kubean Roadmap","text":"

    The current Roadmap is tentative, and the exact schedule depends on the needs of the community.

    For features not mentioned in the Roadmap, we can discuss them in the issues.

    "},{"location":"develop/roadmap/#q3-2022","title":"Q3 2022","text":"
    • Design Kubean project architecture process like architecture.md
    • Verify Kubean's cluster lifecycle management operations
    • Add OS packages to build CI https://github.com/kubean-io/kubean/pull/62
    • Provide Kubean API https://github.com/kubean-io/kubean/pull/128
    "},{"location":"develop/roadmap/#q4-2022","title":"Q4 2022","text":"
    • Implement E2E tests like kubean test case
    • Ensure k8s images and binary packages support the ARM architecture https://github.com/kubean-io/kubean/pull/200
    • Support for upgrade package builds https://github.com/kubean-io/kubean/pull/289
    • Adapt the deployment for offline scenario RHEL8.4 https://github.com/kubean-io/kubean/pull/325
    • Support for restore package manager configuration https://github.com/kubean-io/kubean/pull/298
    • Support for restoring Kubeconfig after the cluster deployment https://github.com/kubean-io/kubean/pull/192
    • Add SSH Key authentication deployment method https://github.com/kubean-io/kubean/pull/302
    "},{"location":"develop/roadmap/#q1-2023","title":"Q1 2023","text":"
    • Support for apt package manager configuration https://github.com/kubean-io/kubean/pull/459
    • Support for custom actions for Cluster Operation CRD https://github.com/kubean-io/kubean/issues/361
    • Kubean chart supports charts-syncer https://github.com/kubean-io/kubean/pull/468
    • Add pre-testing before deployment https://github.com/kubean-io/kubean/pull/555
    • Adapt the Uniontech V20 1020a linux https://github.com/kubean-io/kubean/pull/583
    "},{"location":"develop/roadmap/#q2-2023","title":"Q2 2023","text":"
    • Support for clustered deployments based on OpenEuler offline scenarios https://github.com/kubean-io/kubean/pull/628
    • Support for Other Linux to automatically build offline scenario-dependent system packages via scripts https://github.com/kubean-io/kubean/pull/627
    • Update the kubean documentation site with mkdocs https://github.com/kubean-io/kubean/pull/728
    • Optimize release CI https://github.com/kubean-io/kubean/pull/863
    • Add ansible script for certificate renewal https://github.com/kubean-io/kubean/pull/884
    • Update the release process https://github.com/kubean-io/kubean/pull/869
    "},{"location":"develop/roadmap/#q3-2023","title":"Q3 2023","text":"
    • Add certificate renewal script: https://github.com/kubean-io/kubean/pull/884
    • Implement daily deployment verification for the latest version of upstream kubespray: https://github.com/kubean-io/kubean/pull/870
    • Ensure cascading deletion of Cluster resources: https://github.com/kubean-io/kubean/pull/918
    • Add cleanup weight for ClusterOperation records: https://github.com/kubean-io/kubean/pull/983
    "},{"location":"develop/roadmap/#q4-2023","title":"Q4 2023","text":"
    • Optimize offline image package to OCI format: https://github.com/kubean-io/kubean/pull/996
    • Improve logging input for Operators: https://github.com/kubean-io/kubean/pull/1032
    • Enhance query efficiency of Manifest resources: https://github.com/kubean-io/kubean/pull/1036
    • Refactor image import script to support multi-architecture import: https://github.com/kubean-io/kubean/pull/1040
    "},{"location":"develop/roadmap/#q1-2024","title":"Q1 2024","text":"
    • Improve execution efficiency of precheck script: https://github.com/kubean-io/kubean/pull/1076
    • Optimize tuning performance of ClusterOperation: https://github.com/kubean-io/kubean/pull/1082
    • Refactor logic of custom resource generation script: https://github.com/kubean-io/kubean/pull/1152
    • Fix offline package version issue for Ubuntu 18.04: https://github.com/kubean-io/kubean/pull/1158
    • Automate pre-steps for limiting disk usage per container in Docker: https://github.com/kubean-io/kubean/pull/1179
    "},{"location":"develop/roadmap/#q2-2024","title":"Q2 2024","text":"
    • Provide a client command-line tool and convenient method for generating custom resource modules
    • Capacity planning for cluster deployment on different node scales
    • Provide a complete offline resource management solution
    • Support multiple lifecycle management engines, such as kubespray and kubekey.
    • Enable cluster operation rollback based on ostree.
    "},{"location":"releases/artifacts/","title":"Artifacts","text":""},{"location":"releases/artifacts/#release-224","title":"\u25b6\ufe0f release-2.24","text":"

    \u2693 kube_version range: [ v1.26.0 ~ v1.29.1 ]

    Commit Date Artifacts \ud83d\udcc5 2024-07-29 07:00:34 \ud83d\udcdd manifest-2.24-1688e05.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-1688e05 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-1688e05 \ud83d\udcc5 2024-06-11 07:55:11 \ud83d\udcdd manifest-2.24-5377247.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-5377247 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-5377247 \ud83d\udcc5 2024-03-07 15:59:09 \ud83d\udcdd manifest-2.24-bc6bd21.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-bc6bd21 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-bc6bd21"},{"location":"releases/artifacts/#release-222","title":"\u25b6\ufe0f release-2.22","text":"

    \u2693 kube_version range: [ v1.24.0 ~ v1.26.13 ]

    Commit Date Artifacts \ud83d\udcc5 2024-02-07 19:59:36 \ud83d\udcdd manifest-2.22-71b6fa1.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-71b6fa1 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-71b6fa1 \ud83d\udcc5 2024-01-22 16:23:42 \ud83d\udcdd manifest-2.22-d8a8fb0.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-d8a8fb0 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-d8a8fb0 \ud83d\udcc5 2024-01-11 13:59:56 \ud83d\udcdd manifest-2.22-774d824.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-774d824 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-774d824"},{"location":"releases/artifacts/#release-223","title":"\u25b6\ufe0f release-2.23","text":"

    \u2693 kube_version range: [ v1.25.0 ~ v1.27.10 ]

    Commit Date Artifacts \ud83d\udcc5 2024-05-03 09:20:40 \ud83d\udcdd manifest-2.23-e5fc8a9.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-e5fc8a9 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-e5fc8a9 \ud83d\udcc5 2024-02-06 14:06:16 \ud83d\udcdd manifest-2.23-07e19e5.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-07e19e5 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-07e19e5 \ud83d\udcc5 2023-12-13 10:30:18 \ud83d\udcdd manifest-2.23-e4be213.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-e4be213 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-e4be213"},{"location":"releases/artifacts/#release-221","title":"\u25b6\ufe0f release-2.21","text":"

    \u2693 kube_version range: [ v1.23.0 ~ v1.25.6 ]

    Commit Date Artifacts \ud83d\udcc5 2024-01-22 16:13:31 \ud83d\udcdd manifest-2.21-e86c0cf.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.21-e86c0cf \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.21-e86c0cf \ud83d\udcc5 2024-01-12 07:28:51 \ud83d\udcdd manifest-2.21-e4ac3ab.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.21-e4ac3ab \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.21-e4ac3ab"},{"location":"releases/artifacts/#release-225","title":"\u25b6\ufe0f release-2.25","text":"

    \u2693 kube_version range: [ v1.27.0 ~ v1.29.5 ]

    Commit Date Artifacts \ud83d\udcc5 2024-07-15 06:11:10 \ud83d\udcdd manifest-2.25-462e68b.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.25-462e68b \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.25-462e68b"},{"location":"releases/v0.10.0/","title":"V0.10.0","text":""},{"location":"releases/v0.10.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.10.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • sync chart to release.daocloud.io by @hangscer8 in https://github.com/kubean-io/kubean/pull/991
    • fix upload charts to release.daocloud.io by @hangscer8 in https://github.com/kubean-io/kubean/pull/992
    • Change image artifact to OCI format by @tu1h in https://github.com/kubean-io/kubean/pull/996
    • Optimize file handle logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/998
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/997
    • Optimize file import logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/1000
    • Allow etcd hosts in some playbooks by @tu1h in https://github.com/kubean-io/kubean/pull/1001
    • Allow etcd hosts in playbook remove-pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/1002
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1003
    • spray artifact patch by @tu1h in https://github.com/kubean-io/kubean/pull/1005
    • Fix kubespray image build compatibility by @tu1h in https://github.com/kubean-io/kubean/pull/1006
    • Update airgap patch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1004
    • make kubespray download files compatible by @tu1h in https://github.com/kubean-io/kubean/pull/1007
    • Fixing airgap-patch image build issues by @ErikJiang in https://github.com/kubean-io/kubean/pull/1008
    • fix upload assets greater than 2 GiB issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1009

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.3...v0.10.0

    "},{"location":"releases/v0.11.0/","title":"V0.11.0","text":""},{"location":"releases/v0.11.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-qemu-action from 2 to 3 by @dependabot in https://github.com/kubean-io/kubean/pull/1019
    • Bump mikefarah/yq from 4.33.3 to 4.40.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1018
    • Bump docker/build-push-action from 4.1.1 to 5.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1017
    • Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1016
    • Bump docker/login-action from 2 to 3 by @dependabot in https://github.com/kubean-io/kubean/pull/1015
    • Bump docker/setup-buildx-action from 2.7.0 to 3.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1028
    • Bump mikefarah/yq from 4.40.2 to 4.40.4 by @dependabot in https://github.com/kubean-io/kubean/pull/1041
    • Bump actions/labeler from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1042
    • Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1046
    • Bump mikefarah/yq from 4.40.4 to 4.40.5 by @dependabot in https://github.com/kubean-io/kubean/pull/1052
    • Bump actions/setup-go from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1047
    "},{"location":"releases/v0.11.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add kubespray commit timestamp by @ErikJiang in https://github.com/kubean-io/kubean/pull/1010
    • clean debug info for manual CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1011
    • update kubespray artifact patch CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1012
    • fix rebuild kubespray image issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1013
    • clean manifest dir by @ErikJiang in https://github.com/kubean-io/kubean/pull/1014
    • update artifact patch md by @ErikJiang in https://github.com/kubean-io/kubean/pull/1024
    • Revert \"Bump actions/checkout from 3 to 4\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1026
    • Refactor controllers of Manifest and Localartifact by @tu1h in https://github.com/kubean-io/kubean/pull/1025
    • update airgap patch docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1029
    • fix airgap dockerfile issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1030
    • Enhancement log print by @tu1h in https://github.com/kubean-io/kubean/pull/1032
    • Fix bump version failed by @Rei1010 in https://github.com/kubean-io/kubean/pull/1035
    • Optimize manifest lookup overhead by @tu1h in https://github.com/kubean-io/kubean/pull/1036
    • Add unit test by @tu1h in https://github.com/kubean-io/kubean/pull/1038
    • Refactor import images script to support merge multi-platform image by @tu1h in https://github.com/kubean-io/kubean/pull/1040
    • Allows using the airgap patch script to generate full offline packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1033
    • refine airgap demo by @ErikJiang in https://github.com/kubean-io/kubean/pull/1043
    • Fix e2e failure since incompatible image-importing script by @tu1h in https://github.com/kubean-io/kubean/pull/1044
    • Update CNCF image in README by @tu1h in https://github.com/kubean-io/kubean/pull/1048
    • Fix nop-copy in code generation by @tu1h in https://github.com/kubean-io/kubean/pull/1051
    • Fix upstream breaking-change #10626 by @tu1h in https://github.com/kubean-io/kubean/pull/1050
    • Revert \"Bump actions/setup-go from 4 to 5\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1053
    • update kubespray commit by @ErikJiang in https://github.com/kubean-io/kubean/pull/1045

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.10.0...v0.11.0

    "},{"location":"releases/v0.11.1/","title":"V0.11.1","text":""},{"location":"releases/v0.11.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add unit test cases by @tu1h in https://github.com/kubean-io/kubean/pull/1061
    • Adjust support matrix permission by @Rei1010 in https://github.com/kubean-io/kubean/pull/1063
    • set default flag for airgap full mode by @ErikJiang in https://github.com/kubean-io/kubean/pull/1064

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.0...v0.11.1

    "},{"location":"releases/v0.11.2/","title":"V0.11.2","text":""},{"location":"releases/v0.11.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1065
    • Fix e2e when upgrade cluster by @tu1h in https://github.com/kubean-io/kubean/pull/1066
    • Restore image address by @ErikJiang in https://github.com/kubean-io/kubean/pull/1067
    • update binaries url by @ErikJiang in https://github.com/kubean-io/kubean/pull/1068
    • clear old airgap data in dockerfile by @ErikJiang in https://github.com/kubean-io/kubean/pull/1069
    • update airgap scripts by @ErikJiang in https://github.com/kubean-io/kubean/pull/1070
    • update release latest status by @ErikJiang in https://github.com/kubean-io/kubean/pull/1071

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.1...v0.11.2

    "},{"location":"releases/v0.12.0/","title":"V0.12.0","text":""},{"location":"releases/v0.12.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Remove building and uses of kubespray latest tag by @tu1h in https://github.com/kubean-io/kubean/pull/1073
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1072
    • Get correct kubespray version in e2e by @tu1h in https://github.com/kubean-io/kubean/pull/1074
    • Add playbook for kube-vip configuration by @tu1h in https://github.com/kubean-io/kubean/pull/1075
    • Improve execution efficiency for precheck playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1076
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1077

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.2...v0.12.0

    "},{"location":"releases/v0.12.1/","title":"V0.12.1","text":""},{"location":"releases/v0.12.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • get pause image tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/1080
    • Optimize clusteroperation reconcile by @tu1h in https://github.com/kubean-io/kubean/pull/1082
    • Add new playbook into whitelist by @tu1h in https://github.com/kubean-io/kubean/pull/1081
    • [zh-cn] update offline build script describe by @my-git9 in https://github.com/kubean-io/kubean/pull/1062
    • Patch for #1076 - cancel gather fact in playbook level by @tu1h in https://github.com/kubean-io/kubean/pull/1083
    • Fix coredns image version mismatch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1084
    • fixed crictl binary version mismatch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1085
    • update denpendencies url by @ErikJiang in https://github.com/kubean-io/kubean/pull/1086
    • add project for harbor by @ErikJiang in https://github.com/kubean-io/kubean/pull/1087
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1088

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.0...v0.12.1

    "},{"location":"releases/v0.12.2/","title":"V0.12.2","text":""},{"location":"releases/v0.12.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Fix verify Kubespray e2e by @tu1h in https://github.com/kubean-io/kubean/pull/1094
    • Fix verify Kubespray e2e in cluster reset step by @tu1h in https://github.com/kubean-io/kubean/pull/1095
    • migrate old version localArtifactSet by @ErikJiang in https://github.com/kubean-io/kubean/pull/1096
    • enhance quick start gif by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1098
    • add podman for offline e2e by @ErikJiang in https://github.com/kubean-io/kubean/pull/1099
    • fix missing version_lt function by @ErikJiang in https://github.com/kubean-io/kubean/pull/1100
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1078
    • Refine kube vip playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1101

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.1...v0.12.2

    "},{"location":"releases/v0.12.3/","title":"V0.12.3","text":""},{"location":"releases/v0.12.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [cherry-pick] Add Rockylinux support by @tu1h in https://github.com/kubean-io/kubean/pull/1129

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.2...v0.12.3

    "},{"location":"releases/v0.13.0/","title":"V0.13.0","text":""},{"location":"releases/v0.13.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Unrestrict kubeproxy mode for kubevip playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1106
    • update spray version to 0dbde75 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1107
    • remove cd step in release ci and change workflows name by @ErikJiang in https://github.com/kubean-io/kubean/pull/1105

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.2...v0.13.0

    "},{"location":"releases/v0.13.1/","title":"V0.13.1","text":""},{"location":"releases/v0.13.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.27.6 to 1.31.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1091
    • Bump actions/cache from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1089
    • Bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1057
    • Bump actions/download-artifact from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1056
    "},{"location":"releases/v0.13.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add Rockylinux 9 support by @tu1h in https://github.com/kubean-io/kubean/pull/1104
    • Bump default E2E Kubernetes version by @Rei1010 in https://github.com/kubean-io/kubean/pull/1108
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1102
    • Revert \"Bump github.com/onsi/gomega from 1.27.6 to 1.31.1\" by @tu1h in https://github.com/kubean-io/kubean/pull/1109
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1112
    • add concurrency policy for PR CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1113

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.0...v0.13.1

    "},{"location":"releases/v0.13.10/","title":"V0.13.10","text":""},{"location":"releases/v0.13.10/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.10/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1197
    • Bump peaceiris/actions-gh-pages from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1200
    "},{"location":"releases/v0.13.10/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1193
    • Reconstruct the daily e2e test structure and add automatic retry of e2e tests by @FloatXD in https://github.com/kubean-io/kubean/pull/1194
    • add panpan0000 as maintainer. by @panpan0000 in https://github.com/kubean-io/kubean/pull/1196
    • update roadmap for Q2 2024 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1195
    • update sonobouy_e2e CONTAINER_TAG by @FloatXD in https://github.com/kubean-io/kubean/pull/1198
    • Update README.md by @wawa0210 in https://github.com/kubean-io/kubean/pull/1199
    • rollback kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1202
    "},{"location":"releases/v0.13.10/#new-contributors","title":"New Contributors","text":"
    • @FloatXD made their first contribution in https://github.com/kubean-io/kubean/pull/1194

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.14.0...v0.13.10

    "},{"location":"releases/v0.13.11/","title":"V0.13.11","text":""},{"location":"releases/v0.13.11/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.11/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1203
    • Support multi-arch for Ubuntu ospkg by @tu1h in https://github.com/kubean-io/kubean/pull/1204
    • Update MAINTAINERS by @tu1h in https://github.com/kubean-io/kubean/pull/1205

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.10...v0.13.11

    "},{"location":"releases/v0.13.2/","title":"V0.13.2","text":""},{"location":"releases/v0.13.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1115
    • add stale workflow by @ErikJiang in https://github.com/kubean-io/kubean/pull/1116
    • Remove kubectl get version option by @Rei1010 in https://github.com/kubean-io/kubean/pull/1117
    • Bump offline E2E Kubernetes version by @Rei1010 in https://github.com/kubean-io/kubean/pull/1122
    • Bump offline E2E Kubernetes version to 1.27.5 by @Rei1010 in https://github.com/kubean-io/kubean/pull/1128
    • Enhance Kubean chart helper template by @tu1h in https://github.com/kubean-io/kubean/pull/1132
    • Bump docker-containerd to 1.6.28 for ospkgs by @tu1h in https://github.com/kubean-io/kubean/pull/1131
    • Correct the downloads info generation by @tu1h in https://github.com/kubean-io/kubean/pull/1134
    • fix kube_version empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/1136
    • update verify tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/1137

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.1...v0.13.2

    "},{"location":"releases/v0.13.3/","title":"V0.13.3","text":""},{"location":"releases/v0.13.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix empty images list file by @ErikJiang in https://github.com/kubean-io/kubean/pull/1138

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.2...v0.13.3

    "},{"location":"releases/v0.13.4/","title":"V0.13.4","text":""},{"location":"releases/v0.13.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.4/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.40.5 to 4.42.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1135
    • Bump docker/setup-buildx-action from 3.0.0 to 3.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1141
    "},{"location":"releases/v0.13.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add runc component version info by @ErikJiang in https://github.com/kubean-io/kubean/pull/1139
    • add runc key in template by @ErikJiang in https://github.com/kubean-io/kubean/pull/1140
    • Bump Offline E2E by @Rei1010 in https://github.com/kubean-io/kubean/pull/1133
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1130
    • Fix E2E Failure by @Rei1010 in https://github.com/kubean-io/kubean/pull/1143
    • remove pause version function by @ErikJiang in https://github.com/kubean-io/kubean/pull/1144
    • Remove etcd from optional component version information by @ErikJiang in https://github.com/kubean-io/kubean/pull/1146
    • add docker version 24.0 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1145
    • Remove etcd version multi-select information from custom resources by @ErikJiang in https://github.com/kubean-io/kubean/pull/1147
    • Fix container-selinux version for redhat8 by @tu1h in https://github.com/kubean-io/kubean/pull/1148

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.3...v0.13.4

    "},{"location":"releases/v0.13.5/","title":"V0.13.5","text":""},{"location":"releases/v0.13.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.5/#new-features","title":"\u2728 New Features","text":"
    • refactoring custom resource generate script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1152
    "},{"location":"releases/v0.13.5/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump softprops/action-gh-release from 1 to 2 by @dependabot in https://github.com/kubean-io/kubean/pull/1155
    • Bump docker/build-push-action from 5.1.0 to 5.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1154
    • Bump golangci/golangci-lint-action from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1120
    • Bump peter-evans/create-pull-request from 5 to 6 by @dependabot in https://github.com/kubean-io/kubean/pull/1111
    "},{"location":"releases/v0.13.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix artifacts kube_version_range by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1150
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1149
    • clean unused files by @ErikJiang in https://github.com/kubean-io/kubean/pull/1153
    • fix docker-ce-cli version in ubuntu2004 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1157

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.4...v0.13.5

    "},{"location":"releases/v0.13.6/","title":"V0.13.6","text":""},{"location":"releases/v0.13.6/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.6/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 5.2.0 to 5.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1162
    • Bump docker/setup-buildx-action from 3.1.0 to 3.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1161
    "},{"location":"releases/v0.13.6/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1159
    • fix docker-ce-cli version in ubuntu18.04 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1158
    • fresh package list when build os pkgs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1160
    • add debug script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1163
    • Precheck if docker is running by @tu1h in https://github.com/kubean-io/kubean/pull/1164
    • Add playbook to config insecure registry by @tu1h in https://github.com/kubean-io/kubean/pull/1170
    • Add playbook to enable nf_conntrack by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1171

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.5...v0.13.6

    "},{"location":"releases/v0.13.7/","title":"V0.13.7","text":""},{"location":"releases/v0.13.7/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.7/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix missing lib file in arm-arch container by @ErikJiang in https://github.com/kubean-io/kubean/pull/1173
    • fix kube version rendering error by @ErikJiang in https://github.com/kubean-io/kubean/pull/1174

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.6...v0.13.7

    "},{"location":"releases/v0.13.8/","title":"V0.13.8","text":""},{"location":"releases/v0.13.8/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.8/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix build ubuntu os-pkg: lack unzip pkg by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1175

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.7...v0.13.8

    "},{"location":"releases/v0.13.9/","title":"V0.13.9","text":""},{"location":"releases/v0.13.9/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.9/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Make the python version determined in config-insecure-registry.yml by @tu1h in https://github.com/kubean-io/kubean/pull/1176
    • enable live restore for docker by @tu1h in https://github.com/kubean-io/kubean/pull/1178
    • fix build os-pkg for ubuntu2004: set containerd to 1.6.28-1 when install docker by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1177
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1172

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.8...v0.13.9

    "},{"location":"releases/v0.14.0/","title":"V0.14.0","text":""},{"location":"releases/v0.14.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.14.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.42.1 to 4.43.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1182
    "},{"location":"releases/v0.14.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • playbook: mount xfs device with pquota option by @ErikJiang in https://github.com/kubean-io/kubean/pull/1179
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1180
    • add ut by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1183
    • Chore: update chart readme by @yyzxw in https://github.com/kubean-io/kubean/pull/1186
    • clear coverage temp file by @ErikJiang in https://github.com/kubean-io/kubean/pull/1188
    • coverage spelling mistake by @ErikJiang in https://github.com/kubean-io/kubean/pull/1189
    • add ut by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1187
    • add release version 2.24 for artifact doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/1190
    • change spray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1191
    • Bump python version for offline build github action by @tu1h in https://github.com/kubean-io/kubean/pull/1192

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.9...v0.14.0

    "},{"location":"releases/v0.15.0/","title":"V0.15.0","text":""},{"location":"releases/v0.15.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump golangci/golangci-lint-action from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1213
    "},{"location":"releases/v0.15.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • load kubeconfig filepath when load rest config fail by @HeavenTonight in https://github.com/kubean-io/kubean/pull/1201
    • fix: makefile error by @yyzxw in https://github.com/kubean-io/kubean/pull/1215
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1206
    • add other info for docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1219
    • Add license scan report and status by @fossabot in https://github.com/kubean-io/kubean/pull/1218
    • Update README and GOVERNANCE md by @tu1h in https://github.com/kubean-io/kubean/pull/1220
    • Support for Ubuntu jammy by @tu1h in https://github.com/kubean-io/kubean/pull/1221
    • [docs] Improve usage/airgap.md by @windsonsea in https://github.com/kubean-io/kubean/pull/1223
    • optimized pkg_mgr patch logic by @ErikJiang in https://github.com/kubean-io/kubean/pull/1222
    • fix CVE-2023-24538 vulnerabilities in spray image by @ErikJiang in https://github.com/kubean-io/kubean/pull/1225
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1216
    "},{"location":"releases/v0.15.0/#new-contributors","title":"New Contributors","text":"
    • @HeavenTonight made their first contribution in https://github.com/kubean-io/kubean/pull/1201
    • @fossabot made their first contribution in https://github.com/kubean-io/kubean/pull/1218

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.11...v0.15.0

    "},{"location":"releases/v0.15.1/","title":"V0.15.1","text":""},{"location":"releases/v0.15.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump golangci/golangci-lint-action from 5 to 6 by @dependabot in https://github.com/kubean-io/kubean/pull/1226
    "},{"location":"releases/v0.15.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1227
    • Modify Kubespray CI's rebuild logic for image building by @ErikJiang in https://github.com/kubean-io/kubean/pull/1229
    • fix get dockerfile commit is empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/1230
    • add dockerfile commit outputs var by @ErikJiang in https://github.com/kubean-io/kubean/pull/1231
    • Remove quotes from Dockerfile commit values in image building CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1232
    • Bump Kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1233

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.0...v0.15.1

    "},{"location":"releases/v0.15.2/","title":"V0.15.2","text":""},{"location":"releases/v0.15.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1234
    • add sha256sum file to release assets by @ErikJiang in https://github.com/kubean-io/kubean/pull/1236
    • update the image: kubean architecture by @windsonsea in https://github.com/kubean-io/kubean/pull/1235
    • Update en and zh README by @windsonsea in https://github.com/kubean-io/kubean/pull/1228
    • update fossa badge for readme by @ErikJiang in https://github.com/kubean-io/kubean/pull/1238
    • Supplement centos in os pkgs matrix by @ErikJiang in https://github.com/kubean-io/kubean/pull/1240

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.1...v0.15.2

    "},{"location":"releases/v0.15.3/","title":"V0.15.3","text":""},{"location":"releases/v0.15.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.3/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.43.1 to 4.44.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1242
    • Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1246
    • Bump github.com/go-logr/logr from 1.2.4 to 1.4.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1247
    "},{"location":"releases/v0.15.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add checksum in the download script by @FloatXD in https://github.com/kubean-io/kubean/pull/1237
    • fix util download_resource_files by @FloatXD in https://github.com/kubean-io/kubean/pull/1248
    • Fix invalid use of klog format specifier by @tu1h in https://github.com/kubean-io/kubean/pull/1249
    • Fix incorrect e2e assert by @tu1h in https://github.com/kubean-io/kubean/pull/1251
    • update default kube_version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1250

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.2...v0.15.3

    "},{"location":"releases/v0.16.0/","title":"V0.16.0","text":""},{"location":"releases/v0.16.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/go-logr/logr from 1.4.1 to 1.4.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1263
    • Bump docker/build-push-action from 5.3.0 to 5.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1266
    • Bump github.com/onsi/ginkgo/v2 from 2.9.4 to 2.19.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1267
    "},{"location":"releases/v0.16.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1252
    • streamlined remote access with ssh key mode for other linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/1253
    • update KUBE_VERSION in e2e_test by @FloatXD in https://github.com/kubean-io/kubean/pull/1258
    • update offline e2e kube verison by @FloatXD in https://github.com/kubean-io/kubean/pull/1259
    • update e2e kube verison by @FloatXD in https://github.com/kubean-io/kubean/pull/1260
    • Remove kubectl get version option by @FloatXD in https://github.com/kubean-io/kubean/pull/1262
    • bump kube_version to v1.29 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1268
    • add docker 26.1 to os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1269
    • update rhel8 os package by @ErikJiang in https://github.com/kubean-io/kubean/pull/1270

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.3...v0.16.0

    "},{"location":"releases/v0.16.1/","title":"V0.16.1","text":""},{"location":"releases/v0.16.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1271
    • update e2e kube verison to v1.29.0 by @FloatXD in https://github.com/kubean-io/kubean/pull/1272
    • Add playbook to set containerd registry mirrors by @tu1h in https://github.com/kubean-io/kubean/pull/1273
    • Refine playbook set_containerd_registry_mirror by @tu1h in https://github.com/kubean-io/kubean/pull/1274

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.0...v0.16.1

    "},{"location":"releases/v0.16.2/","title":"V0.16.2","text":""},{"location":"releases/v0.16.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.1 to 4.44.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1282
    • Bump docker/build-push-action from 5.4.0 to 6.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1281
    • Bump k8s.io/klog/v2 from 2.100.1 to 2.130.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1280
    • Bump github.com/spf13/cobra from 1.8.0 to 1.8.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1276
    "},{"location":"releases/v0.16.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1275
    • Support disable kernel unattended upgrades for Ubuntu by @tu1h in https://github.com/kubean-io/kubean/pull/1283
    • Fix bug of #1283 by @tu1h in https://github.com/kubean-io/kubean/pull/1284

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.1...v0.16.2

    "},{"location":"releases/v0.16.3/","title":"V0.16.3","text":""},{"location":"releases/v0.16.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix kylinv10 containerd version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1286

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.2...v0.16.3

    "},{"location":"releases/v0.17.0/","title":"V0.17.0","text":""},{"location":"releases/v0.17.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.0/#new-features","title":"\u2728 New Features","text":"
    • restart components after renew certs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1295
    • Add ipset & ipvsadm to os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1298
    • fix CVE-2024-24790 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1300
    "},{"location":"releases/v0.17.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.0.0 to 6.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1289
    • Bump k8s.io/klog/v2 from 2.130.0 to 2.130.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1291
    • Bump docker/build-push-action from 6.1.0 to 6.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1293
    • Bump docker/build-push-action from 6.2.0 to 6.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1299
    • Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1301
    "},{"location":"releases/v0.17.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix config error in e2e upgrade test by @FloatXD in https://github.com/kubean-io/kubean/pull/1287
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1285
    • update os-pkg linux list by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1290
    • Simplify kubean download_url format by @ErikJiang in https://github.com/kubean-io/kubean/pull/1294
    • restart control plane pods after renew certs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1297
    • Use orcalelinux7 instead of centos7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1296
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1302

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.3...v0.17.0

    "},{"location":"releases/v0.17.1/","title":"V0.17.1","text":""},{"location":"releases/v0.17.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1303
    • Clean os pkgs for rhel7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1304
    • Add os pkg for kylin v10 sp3 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1305

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.0...v0.17.1

    "},{"location":"releases/v0.17.2/","title":"V0.17.2","text":""},{"location":"releases/v0.17.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • update kylin default docker version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1307
    • Change Docker cgroupDriver to cgroupfs in Kylin SP2 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1308
    • bump docker containerd version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1309
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1306

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.1...v0.17.2

    "},{"location":"releases/v0.17.3/","title":"V0.17.3","text":""},{"location":"releases/v0.17.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.3/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.3.0 to 6.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1311
    "},{"location":"releases/v0.17.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1310
    • update kylin iso repo urls by @ErikJiang in https://github.com/kubean-io/kubean/pull/1312
    • add precheck time info by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1313

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.2...v0.17.3

    "},{"location":"releases/v0.17.4/","title":"V0.17.4","text":""},{"location":"releases/v0.17.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [e2e]fix os repo in arm-offline-e2e by @FloatXD in https://github.com/kubean-io/kubean/pull/1323
    • Bump kubespray to 2d194af by @tu1h in https://github.com/kubean-io/kubean/pull/1324

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.3...v0.17.4

    "},{"location":"releases/v0.17.5/","title":"V0.17.5","text":""},{"location":"releases/v0.17.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • update artifact doc script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1316
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1314
    • Bump kubespray to 86f9803 by @tu1h in https://github.com/kubean-io/kubean/pull/1329

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.4...v0.17.5

    "},{"location":"releases/v0.18.0/","title":"V0.18.0","text":""},{"location":"releases/v0.18.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.4.0 to 3.6.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1328
    • Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1327
    • Bump docker/build-push-action from 6.4.0 to 6.5.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1318
    "},{"location":"releases/v0.18.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [docs] remove $ from only-command to reduce actions by @windsonsea in https://github.com/kubean-io/kubean/pull/1325

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.5...v0.18.0

    "},{"location":"releases/v0.18.1/","title":"V0.18.1","text":""},{"location":"releases/v0.18.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Fix role privilege by @tu1h in https://github.com/kubean-io/kubean/pull/1336

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.0...v0.18.1

    "},{"location":"releases/v0.18.2/","title":"V0.18.2","text":""},{"location":"releases/v0.18.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.5.0 to 6.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1339
    "},{"location":"releases/v0.18.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test]fix network e2e by @FloatXD in https://github.com/kubean-io/kubean/pull/1338
    • Image building enhancement by @tu1h in https://github.com/kubean-io/kubean/pull/1341
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1330

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.1...v0.18.2

    "},{"location":"releases/v0.18.3/","title":"V0.18.3","text":""},{"location":"releases/v0.18.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add SprayJobImageRegistry to kubean-config and update manifest by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1348

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.2...v0.18.3

    "},{"location":"releases/v0.18.4/","title":"V0.18.4","text":""},{"location":"releases/v0.18.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • keep current manifest when helm upgrade kubean by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1349
    • bump kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1350

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.3...v0.18.4

    "},{"location":"releases/v0.18.5/","title":"V0.18.5","text":""},{"location":"releases/v0.18.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix kubean manifest helm keep policy by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1352

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.4...v0.18.5

    "},{"location":"releases/v0.19.0/","title":"V0.19.0","text":""},{"location":"releases/v0.19.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.19.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.2 to 4.44.3 by @dependabot in https://github.com/kubean-io/kubean/pull/1333
    • Bump github.com/onsi/gomega from 1.34.0 to 1.34.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1334
    • Bump k8s.io/apiserver from 0.26.4 to 0.31.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1343
    • Bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1360
    • Bump github.com/onsi/gomega from 1.34.1 to 1.34.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1359
    • Bump peter-evans/create-pull-request from 6 to 7 by @dependabot in https://github.com/kubean-io/kubean/pull/1361
    "},{"location":"releases/v0.19.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix rls version handing in artifacts doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/1351
    • Update gen_artifact_doc.py by @ErikJiang in https://github.com/kubean-io/kubean/pull/1353
    • Support Rocky Linux 8 by @tu1h in https://github.com/kubean-io/kubean/pull/1354
    • Update renew-certs.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/1355
    • [Test]Use ls -l instead of ll by @FloatXD in https://github.com/kubean-io/kubean/pull/1347
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1342
    • Revert \"Bump k8s.io/apiserver from 0.26.4 to 0.31.0\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1357
    • add helm hook to add manifest annotation by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1358
    • update spray commit & kube version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1362

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.5...v0.19.0

    "},{"location":"releases/v0.20.0/","title":"V0.20.0","text":""},{"location":"releases/v0.20.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.20.0/#documentation","title":"\ud83d\udcda Documentation","text":"
    • [test]update Kubean test case by @FloatXD in https://github.com/kubean-io/kubean/pull/1383
    "},{"location":"releases/v0.20.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.6.1 to 3.7.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1382
    • Bump docker/build-push-action from 6.7.0 to 6.9.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1380
    • Bump aquasecurity/trivy-action from 0.20.0 to 0.28.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1385
    "},{"location":"releases/v0.20.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test]update kube_version in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1364
    • [Test]Optimize the retry logic in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1366
    • [Test]Remove check for /proc/sys/net/ipv4/tcp_tw_recycle by @FloatXD in https://github.com/kubean-io/kubean/pull/1367
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1363
    • [Test]update e2e test for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1368
    • [Test]update e2e test for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1369
    • [Test]update e2e test for import rocky8 os-pkg by @FloatXD in https://github.com/kubean-io/kubean/pull/1374
    • [Test]update e2e test for import rocky8 iso_image by @FloatXD in https://github.com/kubean-io/kubean/pull/1375
    • Enable gosec in golangci check by @tu1h in https://github.com/kubean-io/kubean/pull/1377
    • [Test]update e2e test offline_minio_url by @FloatXD in https://github.com/kubean-io/kubean/pull/1376
    • [Test]update offline_e2e kubeanClusterOps.yml by @FloatXD in https://github.com/kubean-io/kubean/pull/1379
    • Enable cert scan by @tu1h in https://github.com/kubean-io/kubean/pull/1378
    • [e2e] add ca auto_renew check in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1384
    • update testcase reference by @emmanuel-ferdman in https://github.com/kubean-io/kubean/pull/1386
    • bump kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1391
    "},{"location":"releases/v0.20.0/#new-contributors","title":"New Contributors","text":"
    • @emmanuel-ferdman made their first contribution in https://github.com/kubean-io/kubean/pull/1386

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.19.0...v0.20.0

    "},{"location":"releases/v0.21.0/","title":"V0.21.0","text":""},{"location":"releases/v0.21.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.21.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/ginkgo/v2 from 2.20.2 to 2.21.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1395
    "},{"location":"releases/v0.21.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test] Remove centos7 from the test list by @FloatXD in https://github.com/kubean-io/kubean/pull/1393
    • [Test]Replacement check items for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1394
    • [Test] Replace the centos7 test label with rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1396
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1392
    • optimize tool scripts for other os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1398

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.20.0...v0.21.0

    "},{"location":"releases/v0.21.1/","title":"V0.21.1","text":""},{"location":"releases/v0.21.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.21.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.34.2 to 1.35.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1402
    "},{"location":"releases/v0.21.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI] Add support list in release notes markdown by @FloatXD in https://github.com/kubean-io/kubean/pull/1401
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1399
    • [Test] Upgrade k8s version to 1.30.5 by @FloatXD in https://github.com/kubean-io/kubean/pull/1403
    • [Test] Fixed the issue that rocky8 cannot select the correct kubeanClusterOps.yml in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1405
    • add nfs client tools in os-packages by @san3Xian in https://github.com/kubean-io/kubean/pull/1404
    • Update Maintainer by @0ekk in https://github.com/kubean-io/kubean/pull/1406
    • Bump Kubespray by @0ekk in https://github.com/kubean-io/kubean/pull/1407
    "},{"location":"releases/v0.21.1/#new-contributors","title":"New Contributors","text":"
    • @san3Xian made their first contribution in https://github.com/kubean-io/kubean/pull/1404

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.21.0...v0.21.1 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.22.0/","title":"V0.22.0","text":""},{"location":"releases/v0.22.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump aquasecurity/trivy-action from 0.28.0 to 0.29.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1412
    • Bump mikefarah/yq from 4.44.3 to 4.44.5 by @dependabot in https://github.com/kubean-io/kubean/pull/1410
    • Bump github.com/onsi/ginkgo/v2 from 2.21.0 to 2.22.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1417
    • Bump docker/build-push-action from 6.9.0 to 6.10.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1422
    • Bump github.com/onsi/gomega from 1.35.1 to 1.36.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1425
    "},{"location":"releases/v0.22.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI] Add support list in release notes body by @FloatXD in https://github.com/kubean-io/kubean/pull/1409
    • [Test]Optimize the generation method of rocky-kubeanclusterops by @FloatXD in https://github.com/kubean-io/kubean/pull/1413
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1408
    • [doc]Fix the incorrect Default Kubernetes Version by @FloatXD in https://github.com/kubean-io/kubean/pull/1414
    • [Test]Update the Cluster Type in calicoctl version to v3.28.1 by @FloatXD in https://github.com/kubean-io/kubean/pull/1415
    • [Test]Remove redundant operations on kubeanClusterOps.yml by @FloatXD in https://github.com/kubean-io/kubean/pull/1421
    • clear redundant log info by @ErikJiang in https://github.com/kubean-io/kubean/pull/1426
    • bump kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1427
    • fix set secret OwnerReferences by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1424
    • fix latest tag invaild in release action by @ErikJiang in https://github.com/kubean-io/kubean/pull/1428

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.21.1...v0.22.0 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | null | null|

    "},{"location":"releases/v0.22.1/","title":"V0.22.1","text":""},{"location":"releases/v0.22.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.5 to 4.44.6 by @dependabot in https://github.com/kubean-io/kubean/pull/1431
    "},{"location":"releases/v0.22.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI]Added the function of judging whether curl successfully obtains manifest.cr.yaml by @FloatXD in https://github.com/kubean-io/kubean/pull/1430
    • fix: airgap package build doesn't exit on error by @ErikJiang in https://github.com/kubean-io/kubean/pull/1435

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.0...v0.22.1 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | 'v1.31.3' \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.7' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.11' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.22.2/","title":"V0.22.2","text":""},{"location":"releases/v0.22.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.36.0 to 1.36.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1443
    • Bump docker/setup-buildx-action from 3.7.1 to 3.8.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1438
    "},{"location":"releases/v0.22.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1436
    • Allow run playbook facts.yml in Kubean by @0ekk in https://github.com/kubean-io/kubean/pull/1444
    • [Test]Before using --limit run playbook facts.yml in test by @FloatXD in https://github.com/kubean-io/kubean/pull/1433

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.1...v0.22.2 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | 'v1.31.3' \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.7' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.11' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.22.3/","title":"V0.22.3","text":""},{"location":"releases/v0.22.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix set owner-reference by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1446
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1445

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.2...v0.22.3 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | 'v1.31.3' \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.7' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.11' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.4.0/","title":"V0.4.0","text":""},{"location":"releases/v0.4.0/#whats-changed","title":"What's Changed","text":"
    • update docker os-pkg version by @hangscer8 in https://github.com/kubean-io/kubean/pull/262
    • cluster info with more retry time by @hangscer8 in https://github.com/kubean-io/kubean/pull/261
    • Manifest crd support multi image repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/266
    • update kubespray default version to v1.24.7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/272
    • Disable cn proxy sources to improve kubean image build efficiency by @ErikJiang in https://github.com/kubean-io/kubean/pull/273
    • fix e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/267
    • add dasu23 into approvers by @YunShiHang in https://github.com/kubean-io/kubean/pull/275
    • Update offline doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/276
    • Fix temporary version tag issues by @YunShiHang in https://github.com/kubean-io/kubean/pull/281
    • add version constraints of dependencies in offline case by @tu1h in https://github.com/kubean-io/kubean/pull/274
    • [chroe] Improve the install trivy method by @SSmallMonster in https://github.com/kubean-io/kubean/pull/282
    • add certificated logo by @wenting-guo in https://github.com/kubean-io/kubean/pull/284
    • adjust generate_offline_package to multi harbor projects by @hangscer8 in https://github.com/kubean-io/kubean/pull/285
    • Unified k8s version by @ErikJiang in https://github.com/kubean-io/kubean/pull/286
    • Update README badge by @ErikJiang in https://github.com/kubean-io/kubean/pull/287
    • Add Dockerfile for airgap-patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/289
    • Add os package for ubuntu by @ErikJiang in https://github.com/kubean-io/kubean/pull/291
    • rename ansible_ssh_pass to ansible_password by @tu1h in https://github.com/kubean-io/kubean/pull/290
    • rename doc folder to docs by @tu1h in https://github.com/kubean-io/kubean/pull/293
    • Add Doc For Airgap Patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/294
    • fix pr e2e fail by @wenting-guo in https://github.com/kubean-io/kubean/pull/288
    • Support restore yum repo in enable-repo.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/298
    • update & add some docs by @tu1h in https://github.com/kubean-io/kubean/pull/299
    • Add documentation for deploying clusters with ssh secret keys by @ErikJiang in https://github.com/kubean-io/kubean/pull/302
    • Update doc for deploy cluster with ssh key by @ErikJiang in https://github.com/kubean-io/kubean/pull/306
    • Add auto release notes ci by @YunShiHang in https://github.com/kubean-io/kubean/pull/309
    • add os compatibility e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/310
    • fix checkout repository bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/311
    • add unit test by @hangscer8 in https://github.com/kubean-io/kubean/pull/314
    • chore: add ut by @yyzxw in https://github.com/kubean-io/kubean/pull/313
    • fix airgap patch mod by @hangscer8 in https://github.com/kubean-io/kubean/pull/315
    • import_iso support kylin v10 sp2 by @hangscer8 in https://github.com/kubean-io/kubean/pull/316
    • Translation of kubean documents (issue305) by @yulng in https://github.com/kubean-io/kubean/pull/307
    • upgrade kind version to 1.25.3 by @wenting-guo in https://github.com/kubean-io/kubean/pull/312
    • [CI]add incremental packages by @YunShiHang in https://github.com/kubean-io/kubean/pull/317
    • Update os_family for kylin in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/318
    • Add os packages for kylin linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/321
    • Update os packages for kylin linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/324
    • Update the absolute path of the command in playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/326
    • Offline adapation for RHEL 8.4 by @tu1h in https://github.com/kubean-io/kubean/pull/325
    • fix Dockerfile.redhat8 by @tu1h in https://github.com/kubean-io/kubean/pull/327
    • v0.4.1 Pre-release version by @ErikJiang in https://github.com/kubean-io/kubean/pull/329
    "},{"location":"releases/v0.4.0/#new-contributors","title":"New Contributors","text":"
    • @tu1h made their first contribution in https://github.com/kubean-io/kubean/pull/274
    • @SSmallMonster made their first contribution in https://github.com/kubean-io/kubean/pull/282
    • @yulng made their first contribution in https://github.com/kubean-io/kubean/pull/307

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.3.7...v0.4.0

    "},{"location":"releases/v0.4.1/","title":"V0.4.1","text":""},{"location":"releases/v0.4.1/#whats-changed","title":"What's Changed","text":"
    • Fix import_iso.sh by @tu1h in https://github.com/kubean-io/kubean/pull/330
    • specify k8s version by @ErikJiang in https://github.com/kubean-io/kubean/pull/331
    • Fix kylin linux offline deployment python3-libselinux dependency issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/332
    • translate sshkey_deploy_cluster.md by @Michelle951 in https://github.com/kubean-io/kubean/pull/323
    • translate comparisons.md by @Michelle951 in https://github.com/kubean-io/kubean/pull/322
    • translate crds.md to en by @Michelle951 in https://github.com/kubean-io/kubean/pull/320
    • update packages.yml for kylin os by @ErikJiang in https://github.com/kubean-io/kubean/pull/335
    • fix test by @hangscer8 in https://github.com/kubean-io/kubean/pull/334
    • add release-process.md by @hangscer8 in https://github.com/kubean-io/kubean/pull/333
    • Fix released image tag overrided by @tu1h in https://github.com/kubean-io/kubean/pull/336
    • add offline-e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/341
    • fix offline e2e workflow file by @wenting-guo in https://github.com/kubean-io/kubean/pull/342
    • chart: namespace should go with release by @weizhoublue in https://github.com/kubean-io/kubean/pull/337
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/343
    • Fix template rendering failure by @tu1h in https://github.com/kubean-io/kubean/pull/338
    • fix offline workflow by @wenting-guo in https://github.com/kubean-io/kubean/pull/344
    • fix offline shell by @wenting-guo in https://github.com/kubean-io/kubean/pull/345
    • update airgap_patch image tag in doc by @hangscer8 in https://github.com/kubean-io/kubean/pull/349
    • oprimize offline shell by @wenting-guo in https://github.com/kubean-io/kubean/pull/369
    • optimize logs output by @hangscer8 in https://github.com/kubean-io/kubean/pull/362
    • Optimize kubeanoperation spec.image tag by @hangscer8 in https://github.com/kubean-io/kubean/pull/371
    • shihang.yun-fix-cd-bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/374
    • shihang.yun-optimize-input by @YunShiHang in https://github.com/kubean-io/kubean/pull/375
    • fix cd image tag's bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/376
    • use kube-vip first by @hangscer8 in https://github.com/kubean-io/kubean/pull/379
    • fix kubeconfig playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/380
    • Reduce kubespray image size by @tu1h in https://github.com/kubean-io/kubean/pull/382
    • allow custom kubean image repo in cd by @tu1h in https://github.com/kubean-io/kubean/pull/372
    • fix arm image build failure by @tu1h in https://github.com/kubean-io/kubean/pull/384
    • fix airgap-patch image build failure by @tu1h in https://github.com/kubean-io/kubean/pull/385
    • Remove libselinux from os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/386
    • Fix local Service yum repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/387
    • optimize offline-e2e environment set by @wenting-guo in https://github.com/kubean-io/kubean/pull/389
    • add rhel7 ospkg by @tu1h in https://github.com/kubean-io/kubean/pull/390
    • Check if the OS package needs to be rebuilt by @ErikJiang in https://github.com/kubean-io/kubean/pull/391
    • Update get latest tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/393
    • Ready for release version v0.4.1 by @ErikJiang in https://github.com/kubean-io/kubean/pull/394
    "},{"location":"releases/v0.4.1/#new-contributors","title":"New Contributors","text":"
    • @Michelle951 made their first contribution in https://github.com/kubean-io/kubean/pull/323
    • @weizhoublue made their first contribution in https://github.com/kubean-io/kubean/pull/337

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.0...v0.4.1

    "},{"location":"releases/v0.4.10/","title":"V0.4.10","text":""},{"location":"releases/v0.4.10/#whats-changed","title":"What's Changed","text":"
    • update redaht8 related e2e case by @wenting-guo in https://github.com/kubean-io/kubean/pull/654
    • fix: ignore actionSourceRef not set by @jonyhy96 in https://github.com/kubean-io/kubean/pull/666
    • optimize generate crds by @hangscer8 in https://github.com/kubean-io/kubean/pull/667
    • add UT by @hangscer8 in https://github.com/kubean-io/kubean/pull/670
    • kubean install on none kubean-system ns e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/672
    • fix speedup offline package by @wenting-guo in https://github.com/kubean-io/kubean/pull/676
    • [docs] update and translate theory-of-air-gapped-package.md by @windsonsea in https://github.com/kubean-io/kubean/pull/671
    • cleanup: replace pkg ioutil with os by @yyzxw in https://github.com/kubean-io/kubean/pull/680
    • update e2e case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/683
    • fix create job occasionally unsuccessfully from ops by @hangscer8 in https://github.com/kubean-io/kubean/pull/684
    • Fix ansible lint by @tu1h in https://github.com/kubean-io/kubean/pull/694
    • Add kubean examples by @ErikJiang in https://github.com/kubean-io/kubean/pull/693

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.9...v0.4.10

    "},{"location":"releases/v0.4.2/","title":"V0.4.2","text":""},{"location":"releases/v0.4.2/#whats-changed","title":"What's Changed","text":"
    • Update previous tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/395
    • remove preset playbook by @tu1h in https://github.com/kubean-io/kubean/pull/396
    • fix enable-repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/397
    • Block the update repo from kylin os by @ErikJiang in https://github.com/kubean-io/kubean/pull/399
    • Revert \"fix enable-repo\" by @hangscer8 in https://github.com/kubean-io/kubean/pull/400
    • Remove unnecessary pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/403
    • Improve check_rebuild_pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/404
    • Restore os pkg by @tu1h in https://github.com/kubean-io/kubean/pull/411
    • Revert \"Restore os pkg\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/412
    • Restore os pkg by @tu1h in https://github.com/kubean-io/kubean/pull/413
    • add kylin os case by @wenting-guo in https://github.com/kubean-io/kubean/pull/416
    • fix offline e2e bug by @wenting-guo in https://github.com/kubean-io/kubean/pull/417
    • update pr ci yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/422
    • make pr ci from vagrant to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/423
    • add a parameter to pr ci workflow by @wenting-guo in https://github.com/kubean-io/kubean/pull/435
    • add calico case in nightly e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/438
    • add secrets for nightly e2e in workflow yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/445
    • Add resources by @ErikJiang in https://github.com/kubean-io/kubean/pull/447
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/448
    • update nightly e2e yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/449
    • update kubean logo by @ErikJiang in https://github.com/kubean-io/kubean/pull/450
    • update os compatibility e2e to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/451
    • update nightly e2e passwd to secret by @wenting-guo in https://github.com/kubean-io/kubean/pull/455
    • add secrets parameter in os compatibility workflow yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/456
    • Remove versions.json by @tu1h in https://github.com/kubean-io/kubean/pull/452
    • optimize hardcode namespace by @hangscer8 in https://github.com/kubean-io/kubean/pull/457
    • Support import for ubuntu iso by @tu1h in https://github.com/kubean-io/kubean/pull/458
    • Add spray job timeout by @hangscer8 in https://github.com/kubean-io/kubean/pull/462
    • Remove fuse only in docker mode by @tu1h in https://github.com/kubean-io/kubean/pull/463
    • add apt repo in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/459
    • Update the check scripts for building os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/464
    • fix nightly e2e helm version set by @wenting-guo in https://github.com/kubean-io/kubean/pull/466
    • support charts syncer by @ErikJiang in https://github.com/kubean-io/kubean/pull/468
    • update restore apt condition in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/471
    • Update action version for workflows by @ErikJiang in https://github.com/kubean-io/kubean/pull/474
    • add redhat offline e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/475
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/476
    • add unit test by @hangscer8 in https://github.com/kubean-io/kubean/pull/478
    • set runner2 ip for e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/485
    • update e2e k8s version to 1.24.7 by @wenting-guo in https://github.com/kubean-io/kubean/pull/489
    • set nightly e2e and online os-compatibility-e2e to the online runner by @wenting-guo in https://github.com/kubean-io/kubean/pull/491
    • Add ansible-lint for playbooks in pr gate by @tu1h in https://github.com/kubean-io/kubean/pull/483
    • Support import offline resource parallelly by @tu1h in https://github.com/kubean-io/kubean/pull/482
    • Fix job creating failure across different namespace by @tu1h in https://github.com/kubean-io/kubean/pull/488
    • change upgrade e2e to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/492
    • fix sa error by @cleverhu in https://github.com/kubean-io/kubean/pull/493
    • change cluster lcm e2e case to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/497
    • Get serviceaccount name by labelselector by @tu1h in https://github.com/kubean-io/kubean/pull/499
    • add calico dual stack e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/500
    • update online os compatibility run rate by @wenting-guo in https://github.com/kubean-io/kubean/pull/501
    • support imageRepo with password by @hangscer8 in https://github.com/kubean-io/kubean/pull/502
    • optimize ClusterRole && set COMMIT_SHA for release by @hangscer8 in https://github.com/kubean-io/kubean/pull/506
    • set kubespray commit by @hangscer8 in https://github.com/kubean-io/kubean/pull/507

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.1...v0.4.2

    "},{"location":"releases/v0.4.3/","title":"V0.4.3","text":""},{"location":"releases/v0.4.3/#whats-changed","title":"What's Changed","text":"
    • rollback clusterrole by @hangscer8 in https://github.com/kubean-io/kubean/pull/511
    • update minio repo by @wenting-guo in https://github.com/kubean-io/kubean/pull/512
    • Fix incomplete ospkg cache judgment by @tu1h in https://github.com/kubean-io/kubean/pull/513

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.2...v0.4.3

    "},{"location":"releases/v0.4.4/","title":"V0.4.4","text":""},{"location":"releases/v0.4.4/#whats-changed","title":"What's Changed","text":"
    • Remove ospkg buiding immediate exit by @tu1h in https://github.com/kubean-io/kubean/pull/514
    • Fix import ospkgs script by @tu1h in https://github.com/kubean-io/kubean/pull/515
    • Remove audit on rhel8 by @tu1h in https://github.com/kubean-io/kubean/pull/517
    • add kubean maintainer by @wawa0210 in https://github.com/kubean-io/kubean/pull/519
    • fix release image by @ErikJiang in https://github.com/kubean-io/kubean/pull/520
    "},{"location":"releases/v0.4.4/#new-contributors","title":"New Contributors","text":"
    • @wawa0210 made their first contribution in https://github.com/kubean-io/kubean/pull/519

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.3...v0.4.4

    "},{"location":"releases/v0.4.5/","title":"V0.4.5","text":""},{"location":"releases/v0.4.5/#whats-changed","title":"What's Changed","text":"
    • fix typo hack script for setup by @yanggangtony in https://github.com/kubean-io/kubean/pull/516
    • chore: delete unused file #523 by @yyzxw in https://github.com/kubean-io/kubean/pull/526
    • Fix offline e2e failure by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/530
    • Remove runc on offline rhel8 from playbook by @tu1h in https://github.com/kubean-io/kubean/pull/531
    • fix imageRepo field by @panguicai008 in https://github.com/kubean-io/kubean/pull/534
    • Update e2e_schedule.yaml by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/536
    • fix variable definition by @panguicai008 in https://github.com/kubean-io/kubean/pull/533
    • fix spray-job container name by @hangscer8 in https://github.com/kubean-io/kubean/pull/537
    • fix cluster status.conditions.startTime and endTime invalid value null by @panguicai008 in https://github.com/kubean-io/kubean/pull/538
    • fix clusteroperation multi field invalid value null by @panguicai008 in https://github.com/kubean-io/kubean/pull/539
    • Support custom action by @tu1h in https://github.com/kubean-io/kubean/pull/540
    • Reduce centos7 package size by @yankay in https://github.com/kubean-io/kubean/pull/543
    • Update CD about helm cmd vars by @tu1h in https://github.com/kubean-io/kubean/pull/546
    • provide auto ci of k8s version compatibility by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/547
    • Support upgrade kubean CRDs by helm by @tu1h in https://github.com/kubean-io/kubean/pull/552
    • Fix charts rendering exception by @tu1h in https://github.com/kubean-io/kubean/pull/554
    • support pre-check playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/555
    • Fix incorrect rendered template by @tu1h in https://github.com/kubean-io/kubean/pull/556
    • optimize pre-check playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/559
    • add ut by @hangscer8 in https://github.com/kubean-io/kubean/pull/560
    • Set offline-pkg default k8s version to 1.25.4 by @hangscer8 in https://github.com/kubean-io/kubean/pull/564
    • Add Others OS package build method by @ErikJiang in https://github.com/kubean-io/kubean/pull/561
    • fix offline e2e and update iptables e2e test by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/557
    • fix main branch: auto-kubean-compatibility-schedule.yaml was modified incorrectly by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/563
    • fix the wrong image tag when the main ci builds images. by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/558
    • Fix image name when push, and update the default k8s version to 1.26.0, fix kube_version of offline e2e by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/566
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/568
    • support import iso for uniontech by @ErikJiang in https://github.com/kubean-io/kubean/pull/570
    • add node affinity for chart by @ErikJiang in https://github.com/kubean-io/kubean/pull/571
    • fix airgap patch image build and push by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/572
    • support unionTech for enable repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/575
    • update anti affinity for kubean by @ErikJiang in https://github.com/kubean-io/kubean/pull/579
    • set helm upgrade timeout and sprayJob tag by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/578
    • fix: update offline usage docs by @yyzxw in https://github.com/kubean-io/kubean/pull/577
    • add theory-of-air-gapped-package by @panpan0000 in https://github.com/kubean-io/kubean/pull/582
    • Update build script for UOS by @ErikJiang in https://github.com/kubean-io/kubean/pull/583
    • optimize airgap patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/584
    • fix mv no such file in RHEL by @ErikJiang in https://github.com/kubean-io/kubean/pull/586
    • optimize airgap patch image by @hangscer8 in https://github.com/kubean-io/kubean/pull/588
    • change runner1 e2e ips by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/589
    • fix wrong tag of cd when running main ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/581
    • add call-cd params in main ci and release ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/591
    • add extra binary for airgap-patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/592
    • add create cilium cluster e2e test by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/594
    • remove registry.k8s.io/pause:3.4 by @hangscer8 in https://github.com/kubean-io/kubean/pull/595
    "},{"location":"releases/v0.4.5/#new-contributors","title":"New Contributors","text":"
    • @XiuguangHuang made their first contribution in https://github.com/kubean-io/kubean/pull/530
    • @panguicai008 made their first contribution in https://github.com/kubean-io/kubean/pull/534
    • @panpan0000 made their first contribution in https://github.com/kubean-io/kubean/pull/582

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.4...v0.4.5

    "},{"location":"releases/v0.4.6/","title":"V0.4.6","text":""},{"location":"releases/v0.4.6/#whats-changed","title":"What's Changed","text":"
    • clean unnecessary files by @hangscer8 in https://github.com/kubean-io/kubean/pull/597
    • add debugger2 vms and debug cilium cluster by @wenting-guo in https://github.com/kubean-io/kubean/pull/598
    • delete unused test case doc by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/599
    • Precheck Result Configmap by @hangscer8 in https://github.com/kubean-io/kubean/pull/600
    • fix upgrade failed due to hard affinity by @ErikJiang in https://github.com/kubean-io/kubean/pull/601
    • add cilium_kube_proxy_replacement by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/605
    • download offline files after release ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/607

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.5...v0.4.6

    "},{"location":"releases/v0.4.7/","title":"V0.4.7","text":""},{"location":"releases/v0.4.7/#whats-changed","title":"What's Changed","text":"
    • Fix incorrect data type on ActionSource by @tu1h in https://github.com/kubean-io/kubean/pull/613

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.6...v0.4.7

    "},{"location":"releases/v0.4.8/","title":"V0.4.8","text":""},{"location":"releases/v0.4.8/#whats-changed","title":"What's Changed","text":"
    • add multi kubean operator e2e case by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/608
    • Update changes imported by pointer type by @tu1h in https://github.com/kubean-io/kubean/pull/618

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.7...v0.4.8

    "},{"location":"releases/v0.4.9/","title":"V0.4.9","text":""},{"location":"releases/v0.4.9/#whats-changed","title":"What's Changed","text":"
    • fix download files job by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/620
    • fix remount iso by @hangscer8 in https://github.com/kubean-io/kubean/pull/624
    • adding flannel\u3001kube-ovn to manifest cr by @cyclinder in https://github.com/kubean-io/kubean/pull/622
    • [docs] add readme_zh.md by @windsonsea in https://github.com/kubean-io/kubean/pull/623
    • Add code-of-conduct and CONTRIBUTING documentation by @tu1h in https://github.com/kubean-io/kubean/pull/625
    • remove redundant docker os_pkgs by @hangscer8 in https://github.com/kubean-io/kubean/pull/626
    • support openEuler by @hangscer8 in https://github.com/kubean-io/kubean/pull/628
    • optimize import iso openeuler by @hangscer8 in https://github.com/kubean-io/kubean/pull/629
    • support other linux in AirGap scenario by @ErikJiang in https://github.com/kubean-io/kubean/pull/627
    • update pkgs.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/630
    • fix unkonwn arch image by @ErikJiang in https://github.com/kubean-io/kubean/pull/631
    • add openeuler ospkg by @hangscer8 in https://github.com/kubean-io/kubean/pull/632
    • Support import ISO data to local path by @tu1h in https://github.com/kubean-io/kubean/pull/640
    • Add Dependabot by @ErikJiang in https://github.com/kubean-io/kubean/pull/641
    • Bump mikefarah/yq from 4.30.8 to 4.33.3 by @dependabot in https://github.com/kubean-io/kubean/pull/645
    • Bump docker/build-push-action from 3.3.0 to 4.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/642
    • Fix import_iso.sh by @tu1h in https://github.com/kubean-io/kubean/pull/651
    • Bump docker/setup-buildx-action from 2.2.1 to 2.5.0 by @dependabot in https://github.com/kubean-io/kubean/pull/644
    • Bump actions/setup-go from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/643
    • set pr-ci nightly-ci run time-limit to 15h by @wenting-guo in https://github.com/kubean-io/kubean/pull/653
    • include dockerfile on ospkg cache judgment include by @tu1h in https://github.com/kubean-io/kubean/pull/655
    • doc: fix english doc broken link by @jonyhy96 in https://github.com/kubean-io/kubean/pull/656
    • add speedup offline packages by @wenting-guo in https://github.com/kubean-io/kubean/pull/657
    • Add Roadmap by @ErikJiang in https://github.com/kubean-io/kubean/pull/661
    • generate offline package for flannel by @cyclinder in https://github.com/kubean-io/kubean/pull/662
    • add unsafe_show_logs to debug the download failed resource by @wenting-guo in https://github.com/kubean-io/kubean/pull/663
    "},{"location":"releases/v0.4.9/#new-contributors","title":"New Contributors","text":"
    • @cyclinder made their first contribution in https://github.com/kubean-io/kubean/pull/622
    • @dependabot made their first contribution in https://github.com/kubean-io/kubean/pull/645
    • @jonyhy96 made their first contribution in https://github.com/kubean-io/kubean/pull/656

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.8...v0.4.9

    "},{"location":"releases/v0.5.0/","title":"V0.5.0","text":""},{"location":"releases/v0.5.0/#whats-changed","title":"What's Changed","text":"
    • support oracle linux in offline enviroment by @ErikJiang in https://github.com/kubean-io/kubean/pull/700

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.10...v0.5.0

    "},{"location":"releases/v0.5.1/","title":"V0.5.1","text":""},{"location":"releases/v0.5.1/#whats-changed","title":"What's Changed","text":"
    • remove dockerCE from openeuler pkgs by @hangscer8 in https://github.com/kubean-io/kubean/pull/706
    • kubean e2e ci follow kubespray structure category by @tukwila in https://github.com/kubean-io/kubean/pull/707
    • Fix KUBEAN_E2E_TEST_CI Error: A branch or tag with the name kubean_ci_test could not be found by @tukwila in https://github.com/kubean-io/kubean/pull/709
    • fix kubean e2e ci not really run problem by @tukwila in https://github.com/kubean-io/kubean/pull/712
    • Rename subdir api mod path by @hangscer8 in https://github.com/kubean-io/kubean/pull/715
    • update other linux tool script by @ErikJiang in https://github.com/kubean-io/kubean/pull/716
    • fix ci config variables by @tukwila in https://github.com/kubean-io/kubean/pull/718
    • Update go mod dep version by @hangscer8 in https://github.com/kubean-io/kubean/pull/719
    • add ipvs case by @wenting-guo in https://github.com/kubean-io/kubean/pull/714
    • enable trivy security scanning by @hangscer8 in https://github.com/kubean-io/kubean/pull/721
    • update enable repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/723
    • add clean repolist in other linux script by @ErikJiang in https://github.com/kubean-io/kubean/pull/725
    • update yum repo config in other linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/726
    • add mkdocs by @ErikJiang in https://github.com/kubean-io/kubean/pull/728
    • update docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/729

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.0...v0.5.1

    "},{"location":"releases/v0.5.2/","title":"V0.5.2","text":""},{"location":"releases/v0.5.2/#whats-changed","title":"What's Changed","text":"
    • add module repo for yum manager by @ErikJiang in https://github.com/kubean-io/kubean/pull/730
    • CI failure:debug vm change to runner vm by @yulng in https://github.com/kubean-io/kubean/pull/734
    • update kube download url by @ErikJiang in https://github.com/kubean-io/kubean/pull/735

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.1...v0.5.2

    "},{"location":"releases/v0.5.3/","title":"V0.5.3","text":""},{"location":"releases/v0.5.3/#whats-changed","title":"What's Changed","text":"
    • CI failure :change vm config and update docker rm command by @yulng in https://github.com/kubean-io/kubean/pull/740
    • fetch os kernel version in precheck.yml by @hangscer8 in https://github.com/kubean-io/kubean/pull/739
    • add ut by @hangscer8 in https://github.com/kubean-io/kubean/pull/741
    • add kubean compatibility k8s version 1.27.1 by @wenting-guo in https://github.com/kubean-io/kubean/pull/743
    • Update allinone.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/749
    • Support script import_iso.sh to load main function by @ErikJiang in https://github.com/kubean-io/kubean/pull/753
    • Update README.md by @wawa0210 in https://github.com/kubean-io/kubean/pull/754
    • add readme for docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/755
    • ignore pull pause 4 image by @ErikJiang in https://github.com/kubean-io/kubean/pull/756
    "},{"location":"releases/v0.5.3/#new-contributors","title":"New Contributors","text":"
    • @yanrongshi made their first contribution in https://github.com/kubean-io/kubean/pull/749

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.2...v0.5.3

    "},{"location":"releases/v0.5.4/","title":"V0.5.4","text":""},{"location":"releases/v0.5.4/#whats-changed","title":"What's Changed","text":"
    • remove alpha_arm by @hangscer8 in https://github.com/kubean-io/kubean/pull/759
    • centos_cilium_online should use offline runner by @tukwila in https://github.com/kubean-io/kubean/pull/761
    • e2e:update worker cluster k8s version by @yulng in https://github.com/kubean-io/kubean/pull/760
    • update import iso by @ErikJiang in https://github.com/kubean-io/kubean/pull/762

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.3...v0.5.4

    "},{"location":"releases/v0.6.0/","title":"V0.6.0","text":""},{"location":"releases/v0.6.0/#whats-changed","title":"What's Changed","text":"
    • add mirror.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/758
    • fix-cluster-controllers-reconcile-loop by @learner0810 in https://github.com/kubean-io/kubean/pull/765
    • fix:add kubean version in readme by @yulng in https://github.com/kubean-io/kubean/pull/763
    • e2e:modify e2e k8s version by @yulng in https://github.com/kubean-io/kubean/pull/767
    • fix error: Failed to compile kubean_ipvs_cluster_e2e by @tukwila in https://github.com/kubean-io/kubean/pull/766
    • Add scale docs by @yanrongshi in https://github.com/kubean-io/kubean/pull/768
    • update scale docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/769
    • Update upgrade.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/771
    • Translate installation and use documentation by @yanrongshi in https://github.com/kubean-io/kubean/pull/772
    • translation en by @yanrongshi in https://github.com/kubean-io/kubean/pull/773
    • fix speedup offline package with curl by @yulng in https://github.com/kubean-io/kubean/pull/727
    • when pr just changed docs file not run e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/781
    • add kubean support k8s version range by @wenting-guo in https://github.com/kubean-io/kubean/pull/782
    • [docs]Fix upgrade.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/774
    • add field to identify image repo scheme by @tu1h in https://github.com/kubean-io/kubean/pull/784
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/788
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/789
    • check user has sudo_access by @hangscer8 in https://github.com/kubean-io/kubean/pull/793
    • support tencentos 3.1 by @ErikJiang in https://github.com/kubean-io/kubean/pull/791
    • fix the Chinese in en docs by @my-git9 in https://github.com/kubean-io/kubean/pull/794
    • update import iso sh by @ErikJiang in https://github.com/kubean-io/kubean/pull/797
    "},{"location":"releases/v0.6.0/#new-contributors","title":"New Contributors","text":"
    • @learner0810 made their first contribution in https://github.com/kubean-io/kubean/pull/765
    • @my-git9 made their first contribution in https://github.com/kubean-io/kubean/pull/794

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.4...v0.6.0

    "},{"location":"releases/v0.6.1/","title":"V0.6.1","text":""},{"location":"releases/v0.6.1/#whats-changed","title":"What's Changed","text":"
    • Update os package for tencentos by @ErikJiang in https://github.com/kubean-io/kubean/pull/800

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.0...v0.6.1

    "},{"location":"releases/v0.6.2/","title":"V0.6.2","text":""},{"location":"releases/v0.6.2/#whats-changed","title":"What's Changed","text":"
    • fix trap issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/802
    • update kube version to v1.26.5 by @ErikJiang in https://github.com/kubean-io/kubean/pull/803
    • detect dual_stack network by @hangscer8 in https://github.com/kubean-io/kubean/pull/805
    • Add auto bump pause version by @ErikJiang in https://github.com/kubean-io/kubean/pull/807

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.1...v0.6.2

    "},{"location":"releases/v0.6.3/","title":"V0.6.3","text":""},{"location":"releases/v0.6.3/#whats-changed","title":"What's Changed","text":"
    • optimize check sudo_access by @hangscer8 in https://github.com/kubean-io/kubean/pull/809
    • [e2e test] change kindest version to v1.26.4 by @yulng in https://github.com/kubean-io/kubean/pull/816
    • optimize accelerate address by @hangscer8 in https://github.com/kubean-io/kubean/pull/822
    • chore: update docs i18n by @yyzxw in https://github.com/kubean-io/kubean/pull/819
    • add test case to markdown by @yulng in https://github.com/kubean-io/kubean/pull/796
    • Bump mikefarah/yq from 4.33.3 to 4.34.1 by @dependabot in https://github.com/kubean-io/kubean/pull/751
    • Bump docker/build-push-action from 4.0.0 to 4.1.1 by @dependabot in https://github.com/kubean-io/kubean/pull/818
    • Bump docker/setup-buildx-action from 2.5.0 to 2.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/817
    • add import iso script to release assets by @ErikJiang in https://github.com/kubean-io/kubean/pull/825
    • Bump cpina/github-action-push-to-another-repository from 1.5.1 to 1.7.2 by @dependabot in https://github.com/kubean-io/kubean/pull/747
    • [docs] update en/zh usage files by @windsonsea in https://github.com/kubean-io/kubean/pull/821
    • separate resource build from e2e step by @wenting-guo in https://github.com/kubean-io/kubean/pull/827

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.2...v0.6.3

    "},{"location":"releases/v0.6.4/","title":"V0.6.4","text":""},{"location":"releases/v0.6.4/#whats-changed","title":"What's Changed","text":"
    • update the e2e case list by @wenting-guo in https://github.com/kubean-io/kubean/pull/829
    • optimize check vip by @hangscer8 in https://github.com/kubean-io/kubean/pull/830

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.3...v0.6.4

    "},{"location":"releases/v0.6.5/","title":"V0.6.5","text":""},{"location":"releases/v0.6.5/#whats-changed","title":"What's Changed","text":"
    • fix spray-job endTime when operator crashed And return pkg_mgr info by @hangscer8 in https://github.com/kubean-io/kubean/pull/831

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.4...v0.6.5

    "},{"location":"releases/v0.6.6/","title":"V0.6.6","text":""},{"location":"releases/v0.6.6/#whats-changed","title":"What's Changed","text":"
    • Update deploy script for main CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/840
    • fix helm client-side throttling by @ErikJiang in https://github.com/kubean-io/kubean/pull/842
    • apply for a seat to maintain docs by @windsonsea in https://github.com/kubean-io/kubean/pull/841
    • [docs] fix a term \u6a21\u677f by @windsonsea in https://github.com/kubean-io/kubean/pull/834
    • [docs] fix indentations in theory_of_airgapped_package.md by @windsonsea in https://github.com/kubean-io/kubean/pull/833
    • [docs] update custom_action by @windsonsea in https://github.com/kubean-io/kubean/pull/832
    • fix version parse in manage_version_cr.sh by @ErikJiang in https://github.com/kubean-io/kubean/pull/844
    • doc: install with non-root user by @tu1h in https://github.com/kubean-io/kubean/pull/845

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.5...v0.6.6

    "},{"location":"releases/v0.7.0/","title":"V0.7.0","text":""},{"location":"releases/v0.7.0/#whats-changed","title":"What's Changed","text":"
    • [test] release CI auto to update the 'k8s supported version range list' by @yulng in https://github.com/kubean-io/kubean/pull/849
    • [CI failure]retry to get pod name and state running by @yulng in https://github.com/kubean-io/kubean/pull/846
    • [e2e test] create 3master+vip cluster by @yulng in https://github.com/kubean-io/kubean/pull/848
    • docs: update usage/install by @my-git9 in https://github.com/kubean-io/kubean/pull/847
    • [e2e case ] add runner vm (vipadd) and fix readme by @yulng in https://github.com/kubean-io/kubean/pull/855
    • [docs] resolve documentation issue 824,360,359,250 by @yulng in https://github.com/kubean-io/kubean/pull/850
    • fix kubespray package by @hangscer8 in https://github.com/kubean-io/kubean/pull/859
    • Optimize Reconcile Requeue by @RuliXu in https://github.com/kubean-io/kubean/pull/860
    • refactor network testcase architecture by @tukwila in https://github.com/kubean-io/kubean/pull/861
    • Lock kubespray commit sha by @ErikJiang in https://github.com/kubean-io/kubean/pull/863
    • Fix release created repeatedly by @ErikJiang in https://github.com/kubean-io/kubean/pull/866
    "},{"location":"releases/v0.7.0/#new-contributors","title":"New Contributors","text":"
    • @RuliXu made their first contribution in https://github.com/kubean-io/kubean/pull/860

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.6...v0.7.0

    "},{"location":"releases/v0.7.1/","title":"V0.7.1","text":""},{"location":"releases/v0.7.1/#whats-changed","title":"What's Changed","text":"
    • Update spray image by @ErikJiang in https://github.com/kubean-io/kubean/pull/872
    • work with oracle 8 by @hangscer8 in https://github.com/kubean-io/kubean/pull/871

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.0...v0.7.1

    "},{"location":"releases/v0.7.2/","title":"V0.7.2","text":""},{"location":"releases/v0.7.2/#whats-changed","title":"What's Changed","text":"
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/873
    • verify kubespray master head commit id sha pipeline by @tukwila in https://github.com/kubean-io/kubean/pull/870
    • retry more times to download files in e2e schedule testing by @tukwila in https://github.com/kubean-io/kubean/pull/875
    • correct workflow yaml by @tukwila in https://github.com/kubean-io/kubean/pull/876
    • correct verify kubespray yaml errors by @tukwila in https://github.com/kubean-io/kubean/pull/877
    • correct HELM_CHART_VERSION value in verify_kubespray_e2e_test by @tukwila in https://github.com/kubean-io/kubean/pull/879
    • fix some bug in kubespray commit workflow by @tukwila in https://github.com/kubean-io/kubean/pull/882
    • Add renew certs playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/884

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.1...v0.7.2

    "},{"location":"releases/v0.7.3/","title":"V0.7.3","text":""},{"location":"releases/v0.7.3/#whats-changed","title":"What's Changed","text":"
    • Add sshpass for sync ansible module by @ErikJiang in https://github.com/kubean-io/kubean/pull/886

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.2...v0.7.3

    "},{"location":"releases/v0.7.4/","title":"V0.7.4","text":""},{"location":"releases/v0.7.4/#whats-changed","title":"What's Changed","text":"
    • Set ownReference for clusterOperation releated with cluster by @hangscer8 in https://github.com/kubean-io/kubean/pull/889
    • Update renew certs groups by @ErikJiang in https://github.com/kubean-io/kubean/pull/891

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.3...v0.7.4

    "},{"location":"releases/v0.8.0/","title":"V0.8.0","text":""},{"location":"releases/v0.8.0/#whats-changed","title":"What's Changed","text":"
    • Update release process by @tu1h in https://github.com/kubean-io/kubean/pull/869
    • enable to config max records by @hangscer8 in https://github.com/kubean-io/kubean/pull/893
    • Add license info by @ErikJiang in https://github.com/kubean-io/kubean/pull/892
    • Bump actions/setup-go from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/838
    • fix static check format by @hangscer8 in https://github.com/kubean-io/kubean/pull/900
    • add cncf to readme by @windsonsea in https://github.com/kubean-io/kubean/pull/897
    • add kubean v0.7.4 version compatible with k8s version by @tukwila in https://github.com/kubean-io/kubean/pull/901
    • docs: add en install_without_root.md by @my-git9 in https://github.com/kubean-io/kubean/pull/902
    • Add killercoda to README by @tu1h in https://github.com/kubean-io/kubean/pull/903
    • make cache for new repo by @ErikJiang in https://github.com/kubean-io/kubean/pull/906
    • Remove backofflimit by @hangscer8 in https://github.com/kubean-io/kubean/pull/905

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.4...v0.8.0

    "},{"location":"releases/v0.8.1/","title":"V0.8.1","text":""},{"location":"releases/v0.8.1/#whats-changed","title":"What's Changed","text":"
    • update repo url for tencentos by @ErikJiang in https://github.com/kubean-io/kubean/pull/907

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.0...v0.8.1

    "},{"location":"releases/v0.8.2/","title":"V0.8.2","text":""},{"location":"releases/v0.8.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.2/#new-features","title":"\u2728 New Features","text":"
    • update k8s to v1.26.7 by @hangscer8 in https://github.com/kubean-io/kubean/pull/925
    "},{"location":"releases/v0.8.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Ensure the job pod never run again by @hangscer8 in https://github.com/kubean-io/kubean/pull/911
    • Fix incorrect ansible pkgmgr detection for tencentos by @tu1h in https://github.com/kubean-io/kubean/pull/912
    • fix generate release notes content is empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/915
    • Add labeler action by @ErikJiang in https://github.com/kubean-io/kubean/pull/916
    • add labeler.yml config by @ErikJiang in https://github.com/kubean-io/kubean/pull/919
    • update ci bot by @ErikJiang in https://github.com/kubean-io/kubean/pull/922
    • Ensure Cascade Deletion with Ownreference by @hangscer8 in https://github.com/kubean-io/kubean/pull/918

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.1...v0.8.2

    "},{"location":"releases/v0.8.3/","title":"V0.8.3","text":""},{"location":"releases/v0.8.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.3/#documentation","title":"\ud83d\udcda Documentation","text":"
    • update Q3 roadmap by @ErikJiang in https://github.com/kubean-io/kubean/pull/929
    "},{"location":"releases/v0.8.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • disable CI robot by @ErikJiang in https://github.com/kubean-io/kubean/pull/926
    • Add governance doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/927
    • support rhel9 by @tu1h in https://github.com/kubean-io/kubean/pull/930
    • update docs config by @ErikJiang in https://github.com/kubean-io/kubean/pull/931

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.2...v0.8.3

    "},{"location":"releases/v0.8.4/","title":"V0.8.4","text":""},{"location":"releases/v0.8.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.4/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/spf13/cobra from 1.6.0 to 1.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/732
    "},{"location":"releases/v0.8.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Correct download path by @Rei1010 in https://github.com/kubean-io/kubean/pull/933
    • add ISA field to precheck playbook by @tu1h in https://github.com/kubean-io/kubean/pull/934
    • Bump Kubespray version by @tu1h in https://github.com/kubean-io/kubean/pull/937
    "},{"location":"releases/v0.8.4/#new-contributors","title":"New Contributors","text":"
    • @Rei1010 made their first contribution in https://github.com/kubean-io/kubean/pull/933

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.3...v0.8.4

    "},{"location":"releases/v0.8.5/","title":"V0.8.5","text":""},{"location":"releases/v0.8.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • chor: add golanglint --fix flag by @yyzxw in https://github.com/kubean-io/kubean/pull/936
    • Revert \"Bump Kubespray version\" by @tu1h in https://github.com/kubean-io/kubean/pull/938

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.4...v0.8.5

    "},{"location":"releases/v0.9.0/","title":"V0.9.0","text":""},{"location":"releases/v0.9.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update k8s support version by @Rei1010 in https://github.com/kubean-io/kubean/pull/946
    • add ut Test_TrySuspendPod by @KubeKyrie in https://github.com/kubean-io/kubean/pull/944
    • Update E2E kube version by @Rei1010 in https://github.com/kubean-io/kubean/pull/955
    • webhook for clusterOperations by @hangscer8 in https://github.com/kubean-io/kubean/pull/956
    • fix missing latest release note by @ErikJiang in https://github.com/kubean-io/kubean/pull/953
    • update kubespray by @hangscer8 in https://github.com/kubean-io/kubean/pull/960
    "},{"location":"releases/v0.9.0/#new-contributors","title":"New Contributors","text":"
    • @KubeKyrie made their first contribution in https://github.com/kubean-io/kubean/pull/944

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.6...v0.9.0

    "},{"location":"releases/v0.9.1/","title":"V0.9.1","text":""},{"location":"releases/v0.9.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add compability for kubernetes 1.28.0 by @Rei1010 in https://github.com/kubean-io/kubean/pull/957
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/961
    • Build admission image during schedule CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/962
    • Correct config path by @Rei1010 in https://github.com/kubean-io/kubean/pull/966
    • Adjust env conf by @Rei1010 in https://github.com/kubean-io/kubean/pull/967
    • Add missing param by @Rei1010 in https://github.com/kubean-io/kubean/pull/969
    • Auto bump kubean support kubernetes version with CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/971
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/972
    • Optimize CI trigger logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/974
    • update containerd version by @hangscer8 in https://github.com/kubean-io/kubean/pull/977
    "},{"location":"releases/v0.9.1/#new-contributors","title":"New Contributors","text":"
    • @github-actions made their first contribution in https://github.com/kubean-io/kubean/pull/972

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.0...v0.9.1

    "},{"location":"releases/v0.9.2/","title":"V0.9.2","text":""},{"location":"releases/v0.9.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • optimize precheck to avoid losing data by @hangscer8 in https://github.com/kubean-io/kubean/pull/982
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/976
    • Adjust PR CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/984
    • add BackUp Weight for ClusterOperation by @hangscer8 in https://github.com/kubean-io/kubean/pull/983
    • update k8s version by @hangscer8 in https://github.com/kubean-io/kubean/pull/986

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.1...v0.9.2

    "},{"location":"releases/v0.9.3/","title":"V0.9.3","text":""},{"location":"releases/v0.9.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Use complete execute path in playbook renew_certs by @tu1h in https://github.com/kubean-io/kubean/pull/988

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.2...v0.9.3

    "},{"location":"usage/airgap/","title":"Use Kubean in offline cases","text":""},{"location":"usage/airgap/#reminder","title":"Reminder","text":"
    • For RHEL 8.4 series, the pre-installed fuse package may be uninstalled due to package dependency issues.
    "},{"location":"usage/airgap/#preparation","title":"Preparation","text":"
    1. Services requiring pre-deployment:

      • Document resource service minio
      • Image registry services: docker registry\uff082.7 below\uff09 or harbor
    2. Necessary tools to be installed:

      • A tool for importing image files: skopeo, Required >=1.9.2; podman, Required >= 4.4.4
      • A tool for importing binary files: minio client
    3. Deploy Kubean by Helmkubean

    "},{"location":"usage/airgap/#download-offline-resources","title":"Download offline resources","text":"

    The Github Releases page allows us to download the offline resources for the version we want.

    Basic instructions for offline resources:

    \u251c\u2500\u2500 files.list                                  # List of file contents\n\u251c\u2500\u2500 files-${tag}.tar.gz                         # File compression package, including import scripts\n\u251c\u2500\u2500 images.list                                 # List of image contents\n\u251c\u2500\u2500 images-${tag}.tar.gz                        # File compression package, including import scripts\n\u2514\u2500\u2500 os-pkgs-${linux_distribution}-${tag}.tar.gz # Compressed package of each system, including import script\n
    "},{"location":"usage/airgap/#importing-offline-resources-into-the-proper-service","title":"Importing offline resources into the proper service","text":""},{"location":"usage/airgap/#import-binary-resources","title":"Import binary resources","text":"

    First unzip the files-${tag}.tar.gz file, which contains:

    files/\n\u251c\u2500\u2500 import_files.sh       # This script is used to import binary files into the minio file service\n\u2514\u2500\u2500 offline-files.tar.gz  # Compressed package of binary \n

    Execute the following command to import the binary file into the minio service:

    MINIO_USER=${username} MINIO_PASS=${password} ./import_files.sh ${minio_address}\n
    • minio_address is the minio API Server address, typically on port 9000, e.g. http://1.2.3.4:9000
    "},{"location":"usage/airgap/#import-images","title":"Import images","text":"

    It's required to unzip the images-${tag}.tar.gz file, which contains:

    images/\n\u251c\u2500\u2500 import_images.sh       # This script is used to import binary files into the minio file service, and can merge multi-platform images\n\u2514\u2500\u2500 offline-images.tar.gz  # Compressed package of image file\n

    Execute the following command to import the image file into the Docker Registry or the Harbor image repository service:

    # password-free mode\n$ REGISTRY_SCHEME=http REGISTRY_ADDR=${registry_address} ./import_images.sh\n\n# username-password mode\n$ REGISTRY_SCHEME=https REGISTRY_ADDR=${registry_address} REGISTRY_USER=${username} REGISTRY_PASS=${password} ./import_images.sh\n
    • REGISTRY_ADDR is the address of the mirror repository, e.g. 1.2.3.4:5000
    • REGISTRY_USER and REGISTRY_PASS need to be set when username and password authentication exists for the mirror repository
    "},{"location":"usage/airgap/#import-os-packages","title":"Import OS packages","text":"

    Note

    • OS Packages for Centos / Redhat / Kylin / Ubuntu distributions are currently supported.
    • The OS Package of UnionTech V20 series needs to be built manually, see README for the build method.

    It's required to unzip the os-pkgs-${linux_distribution}-${tag}.tar.gz file, which contains:

    os-pkgs\n\u251c\u2500\u2500 import_ospkgs.sh       # This script is used to import os packages to the minio file service\n\u251c\u2500\u2500 os-pkgs-amd64.tar.gz   # os packages for the amd64 architecture\n\u251c\u2500\u2500 os-pkgs-arm64.tar.gz   # os packages for the arm64 architecture\n\u2514\u2500\u2500 os-pkgs.sha256sum.txt  # The sha256sum checksum file for the os packages\n

    Execute the following command to os packages into the minio file service:

    MINIO_USER=${username} MINIO_PASS=${password} ./import_ospkgs.sh ${minio_address} os-pkgs-${arch}.tar.gz\n
    "},{"location":"usage/airgap/#create-offline-sources","title":"Create offline sources","text":""},{"location":"usage/airgap/#create-iso-image-source","title":"Create ISO image source","text":"

    The following [Create local ISO image source] and [Create online ISO image source] only need to execute one of them.

    "},{"location":"usage/airgap/#create-a-local-iso-image-source","title":"Create a local ISO image source","text":"

    OS Packages are primarily used to resolve docker-ce installation dependencies, but for offline deployments, other packages from the distribution may be used, and a local ISO image source will need to be created.

    Note

    It's required to download the ISO system distribution image for the host in advance, currently only the ISO image source for the Centos distribution is supported; This operation needs to be performed on each cluster that creates kubernetes nodes.

    The script artifacts/gen_repo_conf.sh can be used to mount the ISO image and create the Repo configuration file by executing the following command:

    # Basic format\n./gen_repo_conf.sh --iso-mode ${linux_distribution} ${iso_image_file}\n\n# Execute the script to create the ISO image source\n./gen_repo_conf.sh --iso-mode centos CentOS-7-x86_64-Everything-2207-02.iso\n# Check ISO image mounts\ndf -h | grep mnt\n/dev/loop0               9.6G  9.6G     0 100% /mnt/centos-iso\n# Check ISO image source configuration\ncat /etc/yum.repos.d/Kubean-ISO.repo\n
    [kubean-iso]\nname=Kubean ISO Repo\nbaseurl=file:///mnt/centos-iso\nenabled=1\ngpgcheck=0\nsslverify=0\n
    "},{"location":"usage/airgap/#create-an-online-iso-image-source","title":"Create an online ISO image source","text":"

    To import the image source from the ISO into the minio server, use the script artifacts/import_iso.sh

    MINIO_USER=${username} MINIO_PASS=${password} ./import_iso.sh ${minio_address} Centos-XXXX.ISO\n

    Create the following file for the host /etc/yum.repos.d/centos-iso-online.repo to use the online ISO image source:

    [kubean-iso-online]\nname=Kubean ISO Repo Online\nbaseurl=${minio_address}/kubean/centos-iso/$releasever/os/$basearch\nenabled=1\ngpgcheck=0\nsslverify=0\n
    • It's required to replace ${minio_address} with the minio API Server address
    "},{"location":"usage/airgap/#create-extras-software-sources","title":"Create extras software sources","text":"

    Currently only supported on Centos distributions

    When installing a K8S cluster, it also relies on extras, such as container-selinux, which are not always provided in the ISO image source. This is supplemented by the OS packages offline package, which requires us to create an extra repo configuration file for each node after importing minio.

    The Extra Repo can also be created using the script artifacts/gen_repo_conf.sh, by executing the following command:

    ./gen_repo_conf.sh --url-mode ${linux_distribution} ${repo_base_url}\n\n# Execute the script to create a URL source profile\n./gen_repo_conf.sh --url-mode centos ${minio_address}/kubean/centos/\\$releasever/os/\\$basearch\n# View URL source profile\ncat /etc/yum.repos.d/Kubean-URL.repo\n
    [kubean-extra]\nname=Kubean Extra Repo\nbaseurl=http://10.20.30.40:9000/kubean/centos/$releasever/os/$basearch\nenabled=1\ngpgcheck=0\nsslverify=0\n

    Note

    If the repo_base_url parameter has a $ symbol, it needs to be escaped \\$.

    It's required to replace ${minio_address} with the actual minio API Server address.

    "},{"location":"usage/airgap/#create-source-profiles-with-clusteroperation-and-playbook","title":"Create source profiles with ClusterOperation and playbook","text":"

    Only Centos yum repo additions are currently supported

    As the process of creating a source involves all the nodes in the cluster, manual scripting is relatively tedious, so a playbook solution is provided here:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-ops-01\nspec:\n  cluster: sample\n  image: ghcr.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: enable-repo.yml  # Before deploying the cluster, run the enable-repo playbook\n                               # to create a source configuration for each node with the specified url\n      extraArgs: |\n        -e \"{repo_list: ['http://10.20.30.40:9000/kubean/centos/\\$releasever/os/\\$basearch']}\"\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: cluster-info.yml\n    - actionType: playbook\n      action: enable-repo.yml  # After deploying the cluster, restore the yum repo configuration for each node.\n                               # (Note: This step can be added as appropriate.)\n      extraArgs: |\n        -e undo=true\n
    "},{"location":"usage/airgap/#configure-cluster-before-deployment","title":"Configure cluster before deployment","text":"

    Offline settings need to be referred to kubespray Located in kubespray/inventory/sample/group_vars/all/offline.yml configuration file:

    ---\n## Global offline configuration\n### Configure the address of the private container image repository service\nregistry_host: \"{{ registry_address }}\"\n\n### Configuring the address of the binary file service\ngithub_url: https://files.m.daocloud.io/github.com\ndl_k8s_io_url: https://files.m.daocloud.io/dl.k8s.io\nstorage_googleapis_url: https://files.m.daocloud.io/storage.googleapis.com\nget_helm_url: https://files.m.daocloud.io/get.helm.sh\n\n### If you are using CentOS / RedHat / AlmaLinux / Fedora, you need to configure the yum source file service address:\nyum_repo: \"{{ minio_address }}\"\n\n### If using Debian, configure:\ndebian_repo: \"{{ minio_address }}\"\n\n### If using Ubuntu, configure:\nubuntu_repo: \"{{ minio_address }}\"\n\n### If containerd uses a non-secure HTTP authentication-free method, it needs to be configured:\ncontainerd_registries_mirrors:\n  - prefix: \"{{ registry_address }}\"\n    mirrors:\n      - host: \"http://{{ registry_address }}\"\n        capabilities: [\"pull\", \"resolve\"]\n        skip_verify: true\n\n### Required if docker uses non-secure HTTP authentication-free methods:\ndocker_insecure_registries:\n  - {{ registry_address }}\n

    For offline deployment, additional parameters are required for some special operating systems:

    OS Additional parameters RHEL Series rhel_enable_repos: false Oracle Linux Series use_oracle_public_repo: false

    We use examples/install/3.airgap as a template.

    Adapt the offline configuration as above to your specific situation, especially if you need to replace <registry_address> and <minio_address>.

    Finally add the configuration update to the examples/install/3.airgap/VarsConfCM.yml file.

    We also need to change the cluster node IP and username password in examples/install/3.airgap/HostsConfCM.yml.

    Finally, the ClusterOperation task is started with kubectl apply -f examples/install/3.airgap to install the k8s cluster.

    "},{"location":"usage/airgap/#generate-and-use-incremental-offline-packages","title":"Generate and use incremental offline packages","text":"

    For details see Air gap patch usage.

    "},{"location":"usage/airgap_patch_usage/","title":"Generation and use of incremental offline packages","text":"

    To meet users' needs for components of certain versions, Kubean provides the script artifacts/airgap_patch.py to generate a corresponding version of offline packages based on the configuration file manifest.yml.

    "},{"location":"usage/airgap_patch_usage/#generate-an-incremental-offline-package","title":"Generate an incremental offline package","text":"
    1. Create a new manifest.yml file in a folder, with the following example:

      image_arch:\n  - \"amd64\"\n  - \"arm64\"\nkube_version:\n  - \"v1.24.6\"\n  - \"v1.24.4\"\ncalico_version:\n  - \"v3.23.3\"\ncni_version:\n  - \"v1.1.1\"\ncontainerd_version:\n  - \"1.6.8\"\ncilium_version:\n  - \"v1.12.1\"\netcd_version:\n  - \"v3.5.3\"\n
    2. Create a new data folder in the same folder

    3. Run the following command to generate an incremental offline package in the data folder

      docker run \\\n    -v $(pwd)/data:/data \\\n    -v $(pwd)/manifest.yml:/manifest.yml \\\n    ghcr.io/kubean-io/airgap-patch:v0.11.1\n
      Environment Variables Optional Value Description \uff08 is default value\uff09 ZONE DEFAULT: Download offline resources using the default original address. CN: Download offline resources by using DaoCloud mirror address in China. MODE INCR: Build only the offline resources for the components specified in the configuration (i.e.: incremental packages) FULL: Building offline resources includes the components specified in the configuration along with the components necessary for cluster deployment (i.e.: full packages)
    "},{"location":"usage/airgap_patch_usage/#use-the-incremental-offline-package","title":"Use the incremental offline package","text":"

    The directory structure of the incremental package is as follows:

    data\n\u2514\u2500\u2500 airgap_patch\n    \u251c\u2500\u2500 amd64\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 files\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 import_files.sh\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 offline-files.tar.gz\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 images\n    \u2502\u00a0\u00a0     \u251c\u2500\u2500 import_images.sh\n    \u2502\u00a0\u00a0     \u2514\u2500\u2500 offline-images.tar.gz\n    \u251c\u2500\u2500 arm64\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 files\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 import_files.sh\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 offline-files.tar.gz\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 images\n    \u2502\u00a0\u00a0     \u251c\u2500\u2500 import_images.sh\n    \u2502\u00a0\u00a0     \u2514\u2500\u2500 offline-images.tar.gz\n    \u2514\u2500\u2500 localartifactset.cr.yaml\n
    1. Write file data into MinIO

      cd data/airgap_patch/amd64/files\n\nMINIO_USER=${username} MINIO_PASS=${password} ./import_files.sh ${minio_address}\n

      minio_address is the minio API Server address, typically on port 9000, for example: http://1.2.3.4:9000.

    2. Write image data to the docker registry (recommended version 2.6.2) or harbor

      cd data/airgap_patch/amd64/images \n\n# 1. password-free mode\nREGISTRY_SCHEME=http REGISTRY_ADDR=${registry_address} ./import_images.sh\n\n# 2. Username password mode\nREGISTRY_SCHEME=https REGISTRY_ADDR=${registry_address} REGISTRY_USER=${username} REGISTRY_PASS=${password} ./import_images.sh\n
      • REGISTRY_ADDR is the address of the mirror repository, e.g. 1.2.3.4:5000
      • REGISTRY_USER and REGISTRY_PASS need to be set when username and password authentication exists for the mirror repository
    3. Write localartifactset.cr.yaml to the k8s cluster

      cd data/airgap_patch\nkubectl apply -f localartifactset.cr.yaml\n

      This step is to inform the kubean-operator of the new software version available for offline use.

    "},{"location":"usage/all_in_one_install/","title":"Minimal Deployment","text":""},{"location":"usage/all_in_one_install/#prerequisites","title":"Prerequisites","text":"
    1. You have a standard Kubernetes cluster or a cluster provided by a cloud provider.
    2. The kubectl tool has been installed on your cluster control node or cloud terminal.
    3. The kubean helm chart has been deployed on your cluster.
    4. The kubean project has been cloned to your local machine. If you haven't cloned kubean yet, you can execute the following command to clone it:
    git clone https://github.com/kubean-io/kubean.git\n
    "},{"location":"usage/all_in_one_install/#deployment","title":"Deployment","text":"

    In this tutorial, we will use the kubean/example file cloned to your local machine as a template for demonstration purposes.

    With the help of the example template, we can use kubean to complete the deployment of a single-node cluster in just two steps.

    "},{"location":"usage/all_in_one_install/#1-configure-the-allinoneyml-parameters","title":"1. Configure the AllInOne.yml parameters","text":"

    Navigate to the kubean/examples/install/1.minimal file path, edit the AllInOne.yml template for single-node mode deployment, and replace the following parameters with your actual parameters.

    • <IP1>: Node IP.
    • <USERNAME>: The username for logging into the node. It is recommended to use root or a user with root privileges to log in.
    • <PASSWORD>: The password for logging into the node.
    • <TAG>: kubean image version, it is recommended to use the latest version, Refer to the kubean version list.

    For example, the following shows an example of AllInOne.yml:

    Example of AllInOne.yml
    ---\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: mini-hosts-conf\nnamespace: kubean-system\ndata:\nhosts.yml: |\n  all:\n    hosts:\n      node1:\n        ip: 10.6.175.10 # Your node IP\n        access_ip: 10.6.175.10 # Your node IP\n        ansible_host: 10.6.175.10 # Your node IP\n        ansible_connection: ssh\n        ansible_user: root # The username for logging into the node\n        ansible_password: password01 # The password for logging into the node\n    children:\n      kube_control_plane:\n        hosts:\n          node1:\n      kube_node:\n        hosts:\n          node1:\n      etcd:\n        hosts:\n          node1:\n      k8s_cluster:\n        children:\n          kube_control_plane:\n          kube_node:\n      calico_rr:\n        hosts: {}\n\n---\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: mini-vars-conf\nnamespace: kubean-system\ndata:\ngroup_vars.yml: |\n  container_manager: containerd\n  kube_network_plugin: calico\n  etcd_deployment_type: kubeadm\n\n---\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\nname: cluster-mini\nlabels:\n  clusterName: cluster-mini\nspec:\nhostsConfRef:\n  namespace: kubean-system\n  name: mini-hosts-conf\nvarsConfRef:\n  namespace: kubean-system\n  name:  mini-vars-conf\n\n---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\nname: cluster-mini-install-ops\nspec:\ncluster: cluster-mini\nimage: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2 # kubean image version\nactionType: playbook\naction: cluster.yml\npreHook:\n  - actionType: playbook\n    action: disable-firewalld.yml\npostHook:\n  - actionType: playbook\n    action: cluster-info.yml\n

    Execute the following command to edit the AllInOne.yml configuration template:

    vi kubean/examples/install/1.minimal/AllInOne.yml\n
    "},{"location":"usage/all_in_one_install/#2-apply-the-allinoneyml-configuration","title":"2. Apply the AllInOne.yml configuration","text":"

    After completing the above steps and saving the AllInOne.yml file, execute the following command:

    kubectl apply -f examples/install/1.minimal/AllInOne.yml\n

    At this point, you have completed the deployment of a simple single-node cluster.

    "},{"location":"usage/helm_install_kubean/","title":"Installing kubean Helm application","text":""},{"location":"usage/helm_install_kubean/#prerequisites","title":"Prerequisites","text":"
    1. You have a standard Kubernetes cluster or a cluster provided by a cloud provider.
    2. Helm tool has been installed on your cluster control node or cloud terminal. How to install Helm tool
    "},{"location":"usage/helm_install_kubean/#deployment","title":"Deployment","text":""},{"location":"usage/helm_install_kubean/#1-add-kubean-helm-repository","title":"1. Add kubean Helm repository","text":"

    Add the kubean Helm repository to your local Helm repository by executing the following command on your existing cluster control node or cloud terminal.

    helm repo add kubean-io https://kubean-io.github.io/kubean-helm-chart/\n

    After completing the previous step, check if the kubean repository has been added correctly to your local Helm repository.

    $ helm repo list\n\nNAME            URL\nkubean-io       https://kubean-io.github.io/kubean-helm-chart/\n
    "},{"location":"usage/helm_install_kubean/#2-install-kubean","title":"2. Install kubean","text":"

    Check the available charts and their versions in the kubean Helm repository by executing the following command, which will list all the charts available in the kubean Helm repository.

    $ helm search repo kubean\n\nNAME                CHART VERSION   APP VERSION DESCRIPTION\nkubean-io/kubean    v0.5.2          v0.5.2      A Helm chart for kubean\n

    After completing the above steps, execute the following command to install kubean.

    helm install kubean kubean-io/kubean --create-namespace -n kubean-system\n

    Note

    You can also use the \"--version\" parameter to specify the version of kubean.

    "},{"location":"usage/helm_install_kubean/#3-view-installed-kubean-release","title":"3. View installed kubean release","text":"

    You have now completed the deployment of the kubean Helm chart. You can execute the following command to view the helm release in the kubean-system namespace.

    $ helm ls -n kubean-system\n\nNAME    NAMESPACE       REVISION    UPDATED                                     STATUS      CHART               APP VERSION\nkubean  kubean-system   1           2023-05-15 00:24:32.719770617 -0400 -0400   deployed    kubean-v0.4.9-rc1   v0.4.9-rc1\n
    "},{"location":"usage/install/","title":"Cluster Installation","text":"

    Preconditions: Install kubean charts via helm.

    "},{"location":"usage/install/#install-in-a-cluster-with-a-single-node","title":"Install in a cluster with a single node","text":"

    Refer to minimal sample template

    Referring to the template, we will create an all-in-one single-node cluster:

    "},{"location":"usage/install/#1-update-placeholders-in-allinoneyml-to-real-values","title":"1. Update placeholders in AllInOne.yml to real values","text":"
    • <IP1>
    • <USERNAME>
    • <PASSWORD>
    • <TAG>
    "},{"location":"usage/install/#2-apply-allinoneyml","title":"2. Apply AllInOne.yml","text":"
    $ kubectl apply -f examples/install/1.minimal/\n
    "},{"location":"usage/install/#accelerator-mode-deployment","title":"Accelerator mode deployment","text":"

    Refer to mirror sample template

    "},{"location":"usage/install/#1-update-placeholders-for-yaml-manifests-in-2mirror-directory-to-real-values","title":"1. Update placeholders for yaml manifests in 2.mirror directory to real values","text":"
    • <IP1> / <IP2> ...
    • <USERNAME>
    • <PASSWORD>
    • <TAG>
    "},{"location":"usage/install/#2-apply-the-yaml-manifest-in-2mirror","title":"2. Apply the yaml manifest in 2.mirror","text":"
    $ kubectl apply -f examples/install/2.mirror/\n
    "},{"location":"usage/install/#3-please-refer-to-varsconfcm-for-accelerator-mirror-settings","title":"3. Please refer to VarsConfCM for accelerator mirror settings","text":"

    Accelerators used in this example: * Binary acceleration: public binary files mirror * Mirror acceleration: public image mirror

    "},{"location":"usage/install/#offline-installation","title":"Offline installation","text":"

    Refer to airgap sample template

    For details, please refer to Use of Offline Scenarios

    "},{"location":"usage/install/#ssh-key-mode-installation","title":"SSH key mode installation","text":"

    For details, please refer to Use SSH key to deploy K8S cluster

    "},{"location":"usage/install_without_root/","title":"Deploy the cluster as a non-root user","text":""},{"location":"usage/install_without_root/#contents","title":"Contents","text":"
    • \u2713 1. sudo permission check
    • \u2713 2. Create host inventory configuration
    • \u2713 3. Prepare the configuration parameters of the deployment cluster
    • \u2713 4. Prepare Kubean CRs
    • \u2713 5. Start deploying the cluster
    "},{"location":"usage/install_without_root/#sudo-permission-check","title":"sudo permission check","text":"

    The installation process involves system privileged operations, so users need to have sudo privileges, and the following checks can be performed:

    1. Log in to target node as a non-root user

    2. Check for the existence of the sudo command, and install it through the system package manager if it does not exist:

      which sudo

    3. Execute echo | sudo -S -v in the terminal

      If the result outputs xxx is not in the sudoers file. This incident will be reported or User xxx do not have sudo privilege and other similar information, it means that the current user does not have sudo privileges, otherwise it means that the current user has sudo privileges.

    "},{"location":"usage/install_without_root/#configure-host-list","title":"Configure host list","text":"

    Example: The content of the host list HostsConfCM.yml is roughly as follows, replace and below with the actual username and password:

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        master:\n          ip: 192.168.10.11\n          access_ip: 192.168.10.11\n          ansible_host: 192.168.10.11\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n          ansible_become_password: <PASSWORD>\n        worker:\n          ip: 192.168.10.12\n          access_ip: 192.168.10.12\n          ansible_host: 192.168.10.12\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n          ansible_become_password: <PASSWORD>\n      children:\n        kube_control_plane:\n          hosts:\n            master:\n        kube_node:\n          hosts:\n            master:\n            worker:\n        etcd:\n          hosts:\n            master:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    Note: If the user is configured as NOPASSWD (no password escalation) in the /etc/sudoers file, you can comment the line where ansible_become_password is located

    "},{"location":"usage/install_without_root/#prepare-parameters-of-the-deployment-cluster","title":"Prepare parameters of the deployment cluster","text":"

    For the content of the cluster configuration parameter VarsConfCM.yml, please refer to demo vars conf.

    # VarsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    container_manager: containerd\n    kube_network_plugin: calico\n    kube_network_plugin_multus: false\n    kube_proxy_mode: iptables\n    enable_nodelocaldns: false\n    etcd_deployment_type: kubeadm\n    ntp_enabled: true\n    ...\n
    "},{"location":"usage/install_without_root/#prepare-kubean-crs","title":"Prepare Kubean CRs","text":"
    • Example of Cluster CR

      # Cluster.yml\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: sample\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: sample-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: sample-vars-conf\n  sshAuthRef: # Key attribute, specifying the ssh private key secret during cluster deployment\n    namespace: kubean-system\n    name: sample-ssh-auth\n
    • Example of ClusterOperation CR

      # ClusterOperation.yml\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: sample-create-cluster\nspec:\n  cluster: sample\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n
    "},{"location":"usage/install_without_root/#start-deploying-the-cluster","title":"Start deploying the cluster","text":"

    Assuming all YAML manifests are stored in the create_cluster directory:

    $ tree create_cluster/\ncreate_cluster\n\u251c\u2500\u2500 HostsConfCM.yml       # host list\n\u251c\u2500\u2500 SSHAuthSec.yml        # SSH private key\n\u251c\u2500\u2500 VarsConfCM.yml        # cluster parameters\n\u251c\u2500\u2500 Cluster.yml           # Cluster CR\n\u2514\u2500\u2500 ClusterOperation.yml  # ClusterOperation CR\n

    Start deploying the cluster with kubectl apply:

    kubectl apply -f create_cluster/\n
    "},{"location":"usage/mirror_install/","title":"Deploying a Cluster using Accelerated Mode","text":""},{"location":"usage/mirror_install/#prerequisites","title":"Prerequisites","text":"
    1. You already have a standard Kubernetes cluster or a cluster provided by a cloud provider.
    2. The control node or cloud terminal for the cluster has the kubect tool installed.\u3002
    3. The kubean helm chart has been deployed on your cluster.
    4. The kubean projecthas been cloned to your local machine. If you haven't cloned kubean yet, you can do so by executing the following command:
    $ git clone https://github.com/kubean-io/kubean.git\n
    "},{"location":"usage/mirror_install/#getting-started","title":"Getting Started","text":"

    This tutorial will use the kubean/example/2.mirror file that you cloned to your local machine as an example template for demonstrating cluster deployment using accelerated mode.

    The 2.mirror accelerated deployment template already contains built-in acceleration parameter configurations. You only need to modify the host information and other relevant information in the two configuration template files, HostsConfCM.yml and ClusterOperation.yml, located in the /2.mirror file path.

    The main configuration files and purposes inside the `2.mirror` file are as follows:
        .2.mirror\n    \u251c\u2500\u2500 Cluster.yml                        # The main configuration files and their purposes in the `2.mirror` file are as follows:\n    \u251c\u2500\u2500 ClusterOperation.yml        # kubean version and task configuration\n    \u251c\u2500\u2500 HostsConfCM.yml              # Node information configuration for the cluster to be built\n    \u2514\u2500\u2500 VarsConfCM.yml                # Configuration for acceleration and other features\n
    "},{"location":"usage/mirror_install/#1-configure-host-parameters-in-hostsconfcmyml","title":"1. Configure Host Parameters in HostsConfCM.yml","text":"

    Navigate to the kubean/examples/install/2.mirror/ path and edit the HostsConfCM.ymltemplate for the node configuration information of the cluster to be built. Replace the following parameters with your actual parameters:

    • <IP1>\uff1aNode IP.
    • <USERNAME>\uff1a Username for logging in to the node. We recommend using root or a user with root privileges to log in.
    • <PASSWORD>\uff1aPassword for logging in to the node.

    For example, the following is an example HostsConfCM.yml file:

    HostsConfCM.yml Example
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: online-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # Your node IP\n          access_ip: 10.6.175.10 # Your node IP\n          ansible_host: 10.6.175.10 # Your node IP\n          ansible_connection: ssh\n          ansible_user: root # The username for logging into the node\n          ansible_password: password01 # The password for logging into the node\n        node2:\n          ip: 10.6.175.20 # Your node2 IP\n          access_ip: 10.6.175.20 # Your node2 IP\n          ansible_host: 10.6.175.20 # Your node2 IP\n          ansible_connection: ssh\n          ansible_user: root # The username for logging into the node2\n          ansible_password: password02 # The password for logging into the node2\n      children:\n        kube_control_plane: # Configuring the control node\n          hosts:\n            node1:\n        kube_node: # Configuring the working nodes of the cluster\n          hosts:\n            node1:\n            node2:\n        etcd: # Configuring the ETCD nodes of the cluster\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    Execute the following command to edit the HostsConfCM.yml configuration template:

    $ vi kubean/examples/install/2.mirror/HostsConfCM.yml\n
    "},{"location":"usage/mirror_install/#2-configure-kubean-task-parameters-in-clusteroperationyml","title":"2. Configure kubean Task Parameters in ClusterOperation.yml","text":"

    Navigate to the kubean/examples/install/2.mirror/ path and edit the ClusterOperation.yml template for the configuration information of the cluster to be built. Replace the following parameters with your actual parameters:

    • <TAG>: kubean image version. We recommend using the latest version.Refer to the kubean version list

    For example, the following is an example ClusterOperation.yml file:

    ClusterOperation.yml Example
    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-online-install-ops\nspec:\n  cluster: cluster1-online\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2 # kubean image version\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n

    To edit the ClusterOperation.yml configuration template, run the following command:

    $ vi kubean/examples/install/2.mirror/ClusterOperation.yml\n
    "},{"location":"usage/mirror_install/#3-apply-all-configurations-under-the-2mirror-directory","title":"3. Apply all configurations under the 2.mirror directory","text":"

    After completing the above steps and saving the HostsConfCM.yml and ClusterOperation.yml files, run the following command:

    $ kubectl apply -f examples/install/2.mirror\n

    With this, you have completed the deployment of a cluster using the acceleration mode.

    "},{"location":"usage/scale_worknode/","title":"Scaling Cluster Worker Nodes","text":"

    In the process of software development and operation, business growth often requires adding worker nodes to a cluster to meet the demand. For clusters deployed using kubean, we can use a declarative approach to quickly scale the cluster's worker nodes.

    In the kubean/example/scale directory cloned to your local machine, there is a sample template for scaling worker nodes:

    The main configuration files and purposes in the scale file are as follows:
        scale\n    \u251c\u2500\u2500 1.addWorkNode                             # Template for adding worker nodes\n    \u2502   \u251c\u2500\u2500 ClusterOperation.yml                       # kubean version and task configuration\n    \u2502   \u2514\u2500\u2500 HostsConfCM.yml                            # configuration of current cluster node information\n    \u2514\u2500\u2500 2.delWorkNode                             # Template for deleting worker nodes\n    \u2502   \u251c\u2500\u2500 ClusterOperation.yml                       # kubean version and task configuration\n    \u2502   \u2514\u2500\u2500 HostsConfCM.yml                             # configuration of current cluster node information\n

    By observing the scaling configuration template in the scale file, it can be seen that scaling the cluster's worker nodes only requires executing two configuration files: HostsConfCM.yml and ClusterOperation.yml. You will need to replace the parameters such as the information of the new node with your actual parameters.

    Using the example of a single-node cluster deployed in all-in-one mode let's demonstrate how to scale the cluster's worker nodes.

    Note: Before scaling the cluster, you must have completed the deployment of a set of cluster using kubean.

    "},{"location":"usage/scale_worknode/#scaling-worker-nodes","title":"Scaling Worker Nodes","text":""},{"location":"usage/scale_worknode/#1-add-new-node-host-parameters-to-hostsconfcmyml","title":"1. Add New Node Host Parameters to HostsConfCM.yml","text":"

    To add a new node configuration to the ConfigMap named mini-hosts-conf in the existing all-in-one mode, we will add a new worker node node2 based on the original main node node1.

    Specifically, we can go to the path kubean/examples/scale/1.addWorkNode/, edit the prepared node configuration ConfigMap template HostsConfCM.yml, and replace the following parameters with your actual parameters:

    • <IP2>: the IP address of the node.
    • <USERNAME>: the username to log in to the node. We recommend using either \"root\" or a user with root privileges.
    • <PASSWORD>: the password to log in to the node.

    The template content of HostsConfCM.yml in the kubean/examples/scale/1.addWorkNode/ path is as follows:

    HostsConfCM.yml \u6a21\u677f
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: <IP1>\n          access_ip: <IP1>\n          ansible_host: <IP1>\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n        node2:\n          ip: <IP2>\n          access_ip: <IP2>\n          ansible_host: <IP2>\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    Important Parameters:

    • all.hosts.node1: The original main node that already exists in the cluster.
    • all.hosts.node2: The worker node to be added to the cluster.
    • all.children.kube_node.hosts: The group of worker nodes in the cluster.

    Example

    Before Adding New NodeAfter Adding New Node
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # Your node's IP\n          access_ip: 10.6.175.10 # Your node's IP\n          ansible_host: 10.6.175.10 # Your node's IP\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node\n          ansible_password: password01 # The password to log in to the node\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # Your node's IP\n          access_ip: 10.6.175.10 # Your node's IP\n          ansible_host: 10.6.175.10 # Your node's IP\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node\n          ansible_password: password01 # The password to log in to the node\n        node2:\n          ip: 10.6.175.20 # Your node's IP\n          access_ip: 10.6.175.20 # Your node's IP\n          ansible_host: 10.6.175.20 # Your node's IP\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node\n          ansible_password: password01 # The password to log in to the node\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    "},{"location":"usage/scale_worknode/#2-add-scaling-task-through-clusteroperationyml","title":"2. Add Scaling Task through ClusterOperation.yml","text":"

    Go to the path kubean/examples/scale/1.addWorkNode/ and edit the template ClusterOperation.yml,replacing the following parameter with your actual parameter:

    • <TAG>: the kubean image version. We recommend using the latest version. Refer to the kubean version list.

    The template content of ClusterOperation.yml in the kubean/examples/scale/1.addWorkNode/ path is as follows:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-awn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: scale.yml\n  extraArgs: --limit=node2\n
    Important Parameters:

    • spec.cluster: specifies the name of the cluster to be scaled. The above example specifies the cluster named cluster-mini as the scaling target.
    • spec.action:: specifies the kubespray script for scaling the node, which is set to scale.yml here.
    • spec.extraArgs: specifies the limit of the nodes to be scaled. Here, the --limit= parameter is used to limit the scaling to the node2.

    For example, the following is an example of ClusterOperation.yml:

    ClusterOperation.yml Example
    ---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-awn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2\n  actionType: playbook\n  action: scale.yml\n  extraArgs: --limit=node2\n
    "},{"location":"usage/scale_worknode/#3apply-all-configurations-under-scale1addworknode-folder","title":"3.Apply all configurations under scale/1.addWorkNode folder","text":"

    After completing the above steps and saving the HostsConfCM.yml and ClusterOperation.yml files, run the following command:

    $ kubectl apply -f examples/install/scale/1.addWorkNode/\n

    At this point, you have completed the scaling of a working node in a cluster.

    "},{"location":"usage/scale_worknode/#shrink-working-nodes","title":"Shrink Working Nodes","text":""},{"location":"usage/scale_worknode/#1-add-scaling-task-through-clusteroperationyml","title":"1. Add Scaling Task through ClusterOperation.yml","text":"

    Go to the path kubean/examples/scale/2.delWorkNode/ and edit the template ClusterOperation.yml, replacing the following parameter with your actual parameter:

    • <TAG>\uff1athe kubean image version. We recommend using the latest version. Refer to the kubean version list.

    The template content of ClusterOperation.yml in the kubean/examples/scale/2.delWoorkNode/ path is as follows:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-dwn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: remove-node.yml\n  extraArgs: -e node=node2\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • spec.cluster: specifies the name of the cluster to be scaled. The above example specifies the cluster named cluster-mini as the scaling target.
    • spec.action: specifies the kubespray script for scaling the node, which is set to remove-node.yml here.
    • spec.extraArgs: specifies the nodes to be scaled down. Here, the -e parameter is used to specify the node2 to be scaled down.

    For example, the following is an example of ClusterOperation.yml:

    ClusterOperation.yml Example
    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-dwn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2\n  actionType: playbook\n  action: remove-node.yml\n  extraArgs: -e node=node2\n
    "},{"location":"usage/scale_worknode/#2apply-the-clusteroperation-scaling-task-list-under-the-scale2delworknode-directory","title":"2.Apply the ClusterOperation scaling task list under the scale/2.delWorkNode directory","text":"

    After completing the above steps and saving the ClusterOperation.yml file, run the following command:

    $ kubectl apply -f examples/install/scale/2.delWorkNode/ClusterOperation.yml\n

    By default, enter the kubean-system namespace and check the execution status of the scaling task:

    $ kubectl -n kubean-system get pod | grep cluster-mini-dwn-ops\n
    To learn about the progress of the scaling task, you can view the logs of the pod.

    "},{"location":"usage/scale_worknode/#3-delete-the-working-node-host-parameters-through-hostsconfcmyml","title":"3. Delete the working node host parameters through HostsConfCM.yml","text":"

    We have executed the scaling task through the above two steps. After the scaling task is completed, node2 will be permanently removed from the existing cluster. Then, we need to complete the final step, which is to remove the node2 information from the node configuration related Configmap.

    Go to the path kubean/examples/scale/2.delWorkNode/ and edit the prepared node configuration template HostsConfCM.yml to remove the configuration of the working node that needs to be removed.

    The deleted parameters are as follows:

    • all.hosts: The node2 node access parameters.
    • all.children.kube_node.hosts: The node name node2.

    Example

    Before removing the nodeAfter removing a node
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # Your node's IP\n          access_ip: 10.6.175.10 # Your node's IP\n          ansible_host: 10.6.175.10 # Your node's IP\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node\n          ansible_password: password01 # The password to log in to the node\n        node2:\n          ip: 10.6.175.20 # The IP address of node 2 is added\n          access_ip: 10.6.175.20 # The IP address of node 2 is added\n          ansible_host: 10.6.175.20 # The IP address of node 2 is added\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node2\n          ansible_password: password01 # password to log in to the node2\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # Your node's IP\n          access_ip: 10.6.175.10 # Your node's IP\n          ansible_host: 10.6.175.10 # Your node's IP\n          ansible_connection: ssh\n          ansible_user: root # The username to log in to the node\n          ansible_password: password01 # The password to log in to the node\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    After completing the above steps and saving the HostsConfCM.yml file, execute the following command:

    $ kubectl apply -f examples/install/scale/2.delWorkNode/HostsConfCM.yml\n

    At this point, we have removed the node2 worker node from the cluster and cleaned up all the host information related to node2. The entire scaling down operation is now complete.

    "},{"location":"usage/sshkey_deploy_cluster/","title":"Deploy Kubernetes clusters with SSH","text":"

    Contents

    • \u2713 1. Generate and distribute an SSH private key
    • \u2713 2. Make a Secret with private key
    • \u2713 3. Create a host configuration file
    • \u2713 4. Provision parameters for cluster deployment
    • \u2713 5. Prepare Kubean's CRDs
    • \u2713 6. Deploy a cluster
    "},{"location":"usage/sshkey_deploy_cluster/#generate-and-distribute-an-ssh-private-key","title":"Generate and distribute an SSH private key","text":"
    1. Generate a pair of public-private keys with ssh-keygen command:

      $ ssh-keygen -t rsa -b 4096 -C \"your_email@example.com\" -f $HOME/.ssh/id_rsa\nGenerating public/private rsa key pair.\nCreated directory '/root/.ssh'.\nEnter passphrase (empty for no passphrase):\nEnter same passphrase again:\nYour identification has been saved in /root/.ssh/id_rsa.\nYour public key has been saved in /root/.ssh/id_rsa.pub.\nThe key fingerprint is:\nSHA256:oMqlhL8wLuYycOkUNXyiDso62C+ryNYc9k3LMDltQZs your_email@example.com\nThe keys randomart image is:\n+---[RSA 4096]----+\n|   .             |\n|    = ..         |\n|   o +o o        |\n|..o  . E         |\n|+o.oo o S        |\n|o==* = +         |\n|*=O o O .        |\n|@=++ . +         |\n|OBo+.            |\n+----[SHA256]-----+\n\n$ ls /root/.ssh/id_rsa* -lh\n-rw-------. 1 root root 1.7K Nov 10 03:47 /root/.ssh/id_rsa         # private key\n-rw-r--r--. 1 root root  408 Nov 10 03:47 /root/.ssh/id_rsa.pub     # public key\n
    2. Distribute the key pair to nodes of the cluster to be deployed:

      # for example, specify to distribute the public key to nodes `192.168.10.11` and `192.168.10.12`.\n$ declare -a IPS=(192.168.10.11 192.168.10.12)\n\n# traverse node IPs to distribute the public key (/root/.ssh/id_rsa.pub) with the presumptive account/password: root/kubean\n$ for ip in ${IPS[@]}; do sshpass -p \"kubean\" ssh-copy-id -i /root/.ssh/id_rsa.pub -o  StrictHostKeyChecking=no root@$ip; done\n
    "},{"location":"usage/sshkey_deploy_cluster/#make-a-secret-with-private-key","title":"Make a Secret with private key","text":"

    Generate a Secret for the private key with the following command:

    $ kubectl -n kubean-system \\                            # specify namespace: kubean-system\n    create secret generic sample-ssh-auth \\             # specify the name of Secret: sample-ssh-auth\n    --type='kubernetes.io/ssh-auth' \\                   # specify the type of Secret: kubernetes.io/ssh-auth\n    --from-file=ssh-privatekey=/root/.ssh/id_rsa \\      # specify the filepath of the ssh private key\n    --dry-run=client -o yaml > SSHAuthSec.yml           # specify the target path of the new Secret YAML\n

    The expected SSHAuthSec.yml looks like:

    # SSHAuthSec.yml\napiVersion: v1\nkind: Secret\nmetadata:\n  creationTimestamp: null\n  name: sample-ssh-auth\n  namespace: kubean-system\ntype: kubernetes.io/ssh-auth\ndata:\n  ssh-privatekey: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdWVDbC8rSng1b0RT...\n
    "},{"location":"usage/sshkey_deploy_cluster/#create-a-host-configuration-file","title":"Create a host configuration file","text":"

    Replace the below with the actual username, the HostsConfCM.yml file looks like:

    # HostsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        master:\n          ip: 192.168.10.11\n          access_ip: 192.168.10.11\n          ansible_host: 192.168.10.11\n          ansible_user: <USRENAME>\n        worker:\n          ip: 192.168.10.12\n          access_ip: 192.168.10.12\n          ansible_host: 192.168.10.12\n          ansible_user: <USRENAME>\n      children:\n        kube_control_plane:\n          hosts:\n            master:\n        kube_node:\n          hosts:\n            master:\n            worker:\n        etcd:\n          hosts:\n            master:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    Note: It is not necessary to include the password (ansible_password) when logging in with a private key.

    "},{"location":"usage/sshkey_deploy_cluster/#provision-parameters-for-cluster-deployment","title":"Provision parameters for cluster deployment","text":"

    For contents of VarsConfCM.yaml, refer to demo vars conf.

    # VarsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    container_manager: containerd\n    kube_network_plugin: calico\n    kube_network_plugin_multus: false\n    kube_proxy_mode: iptables\n    enable_nodelocaldns: false\n    etcd_deployment_type: kubeadm\n    ntp_enabled: true\n    ...\n
    "},{"location":"usage/sshkey_deploy_cluster/#prepare-kubeans-crds","title":"Prepare Kubean's CRDs","text":"
    • Example of a Cluster CR:

      # Cluster.yml\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: sample\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: sample-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: sample-vars-conf\n  sshAuthRef: # key field: specifies the Secret of the ssh private key for cluster deployment\n    namespace: kubean-system\n    name: sample-ssh-auth\n
    • Example of a ClusterOperation CR:

      # ClusterOperation.yml\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: sample-create-cluster\nspec:\n  cluster: sample\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n
    "},{"location":"usage/sshkey_deploy_cluster/#deploy-a-cluster","title":"Deploy a cluster","text":"

    Suppose all YAML manifests are stored in the create_cluster directory:

    $ tree create_cluster/\ncreate_cluster\n\u251c\u2500\u2500 HostsConfCM.yml       # host list\n\u251c\u2500\u2500 SSHAuthSec.yml        # SSH key\n\u251c\u2500\u2500 VarsConfCM.yml        # cluster parameters\n\u251c\u2500\u2500 Cluster.yml           # Cluster CR\n\u2514\u2500\u2500 ClusterOperation.yml  # ClusterOperation CR\n

    Deploy a cluster with kubectl apply:

    kubectl apply -f create_cluster/\n
    "},{"location":"usage/uninstall/","title":"Cluster Uninstallation","text":"

    This section will show you how to use kubean to uninstall a cluster. In the kubean/example/uninstall directory that you cloned to your local machine, there is a sample template for uninstalling a cluster:

    The main configuration files and their purposes in the uninstall directory are as follows:
        uninstall\n    \u251c\u2500\u2500 ClusterOperation.yml                # Uninstall cluster task\n

    In the following example, we will use a single-node cluster deployed in all-in-one mode to demonstrate the cluster upgrade operation.

    Note: Before performing a cluster uninstallation, you must have completed the deployment of a cluster using kubean.

    "},{"location":"usage/uninstall/#1-add-an-uninstallation-task","title":"1. Add an uninstallation task","text":"

    Go to the kubean/examples/uninstall/ directory and edit the template ClusterOperation.yml, replacing the following parameters with your actual parameters:

    • <TAG>\uff1aThe kubean image version. It is recommended to use the latest version.Refer to the kubean version list.

    The template content of kubean/examples/uninstall/ ClusterOperation.yml path is as follows:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-uninstall-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: reset.yml\n
    Important Parameters:

    • spec.cluster: Specifies the name of the cluster to be uninstalled. In the example above, the cluster named cluster-mini is the target for uninstallation.
    • spec.action:\uff1a: Specifies the Kubespray playbook for uninstallation. Here it is set to reset.yml.
    "},{"location":"usage/uninstall/#2apply-the-configuration-in-the-uninstall-directory","title":"2.Apply the Configuration in the uninstall Directory","text":"

    After completing the above steps and saving the ClusterOperation.yml file, execute the following command:

    $ kubectl apply -f examples/uninstall/\n

    At this point, you have successfully uninstalled a cluster.

    "},{"location":"usage/upgrade/","title":"Cluster Version Upgrade","text":"

    This section will introduce how to upgrade the Kubernetes version of a cluster using kubean. The kubean/example/upgrade directory that you cloned locally provides a sample template for cluster version upgrades:

    The main configuration files and their purposes in the upgrade directory are as follows:
        upgrade\n    \u251c\u2500\u2500 ClusterOperation.yml                  # Upgrade cluster tasks\n    \u2514\u2500\u2500 VarsConfCM.yml                        # Configuration parameters for cluster version upgrades\n

    To demonstrate the process of upgrading a cluster version, we will use the example of a single node cluster deployed using the all-in-one mode.

    Note: that before upgrading the cluster version, you must have completed the deployment of a cluster using kubean.

    "},{"location":"usage/upgrade/#1-add-an-upgrade-task","title":"1. Add an upgrade task","text":"

    Go to the kubean/examples/upgrade/ directory and edit the ClusterOperation.yml template. Replace the following parameters with your actual parameters:

    • <TAG>\uff1aThe version of the kubean image. We recommend using the latest version.Refer to the kubean version list.

    The template for ClusterOperation.yml in the kubean/examples/upgrade/ directory is as follows:

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-upgrade-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: upgrade-cluster.yml\n
    Important Parameters:

    • spec.cluster: Specifies the name of the cluster to be upgraded. In the above example, the cluster named cluster-mini is the upgrade target.
    • spec.action: Specifies the kubespray playbook related to the upgrade. Here it is set to upgrade-cluster.yml.
    "},{"location":"usage/upgrade/#2-specify-the-upgraded-version-of-the-cluster","title":"2. Specify the upgraded version of the cluster","text":"

    Go to the kubean/examples/upgrade/ directory and edit the VarsConfCM.yml template. Specify the version of the cluster upgrade by configuring the kube_version parameter.

    The template for VarsConfCM.yml in the kubean/examples/upgrade/ directory is as follows:

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.8\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n
    Important Parameters:

    • kube_version: Specifies the version of the cluster to be upgraded. In the above example, it is set to upgrade to k8s v1.25.8.

    Example

    Before upgrading the versionAfter upgrading the version
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.0\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.8\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n

    Bonus: kubean cluster version support mechanism:

    kubean Version Recommended Kubernetes Version Supported Kubernetes Version Range v0.5.2 v1.25.4 - \"v1.27.2\" - \"v1.26.5\" - \"v1.26.4\" - \"v1.26.3\" - \"v1.26.2\" - \"v1.26.1\" - \"v1.26.0\" - \"v1.25.10\" - \"v1.25.9\" - \"v1.25.8\" - \"v1.25.7\" - \"v1.25.6\" - \"v1.25.5\" - \"v1.25.4\" - \"v1.25.3\" - \"v1.25.2\" - \"v1.25.1\" - \"v1.25.0\"

    For more detailed information about upgrading parameters, please refer to the kubespray documentation:Updating Kubernetes with Kubespray.

    "},{"location":"usage/upgrade/#3apply-all-configurations-under-the-upgrade-directory","title":"3.Apply all configurations under the upgrade directory","text":"

    After completing the above steps andsaving the ClusterOperation.yml and VarsConfCM.yml files, run the following command:

    $ kubectl apply -f examples/upgrade/\n

    With this, you have completed the upgrade of the Kubernetes version for a cluster.

    "}]} \ No newline at end of file diff --git a/en/sitemap.xml b/en/sitemap.xml index a33c69e94..84f68ab7a 100644 --- a/en/sitemap.xml +++ b/en/sitemap.xml @@ -2,422 +2,426 @@ https://kubean-io.github.io/kubean/en/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/concepts/architecture/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/concepts/comparisons/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/concepts/crds/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/concepts/custom_action/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/concepts/theory_of_airgapped_package/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/develop/roadmap/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/artifacts/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.10.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.11.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.11.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.11.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.12.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.12.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.12.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.12.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.10/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.11/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.6/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.7/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.8/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.13.9/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.14.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.15.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.15.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.15.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.15.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.16.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.16.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.16.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.16.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.17.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.17.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.17.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.17.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.17.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.17.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.18.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.18.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.18.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.18.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.18.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.18.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.19.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.20.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.21.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.21.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.22.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.22.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.22.2/ - 2024-12-22 + 2024-12-23 + + + https://kubean-io.github.io/kubean/en/releases/v0.22.3/ + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.10/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.6/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.7/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.8/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.4.9/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.5.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.5.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.5.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.5.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.5.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.6.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.6.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.6.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.6.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.6.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.6.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.6.6/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.7.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.7.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.7.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.7.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.7.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.8.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.8.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.8.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.8.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.8.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.8.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.9.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.9.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.9.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/releases/v0.9.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/airgap/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/airgap_patch_usage/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/all_in_one_install/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/helm_install_kubean/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/install/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/install_without_root/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/mirror_install/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/scale_worknode/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/sshkey_deploy_cluster/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/uninstall/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/en/usage/upgrade/ - 2024-12-22 + 2024-12-23 \ No newline at end of file diff --git a/en/sitemap.xml.gz b/en/sitemap.xml.gz index f2d63275a32278514685d5ee8c54be63209f93bb..25f93ffa4bc5ed75be0119b4b0dfeca686052a3e 100644 GIT binary patch delta 490 zcmV4RfzgcP7_8=?nBVKkdqsvwYnEps;eB5NvGF0J(FdQWWQN5 z5r)&VmR@gm3e$TmmrqV|EAq0)3kZ%9hNA@G;1C=fq%It!E*z#V2MCS>h(3P~Ao_?L zFcX3@BOHVS#W58K#}S012H|KxI9d>n4uYcs*hoq$OG==g47b#w$5%aVK{*)F<|n_v2N6h+f;7K7^WA gAGAx0v>J#it#)wof6DWD@;Y3810mYtTGcoJ08TZ{9{>OV delta 487 zcmVEtkq z7AxK4$@ugvt_OfveV|216{3EV(}Yoz`w;XlMDn1(&_b0&t#b+*>9Fi zgyHn8rPrIC!t@@?<&%@#io7iH0)nH2;V3~kI0Od=sS5|G3x}!80fOTIqK|(Ah(00* z%!HuK2nXRnaZClmaRlM0K{y%^juwQYgW#w@c9<+ILHyET_=STc%DjZ(fLK2` zNRrDr%zQwsryzfCD~zgCAn|``g(8jv21bQ}am2u=F)$hoj1~g}BCP}o2|+SKkcbc@ zAv|KNq98dXNK6TmQi6n(HHt)!7#I*6JxFj2k{g4>#vrLNNN5a_)q+H|AW1DqP}`zN z6k<;SNohL_r*s%j>C!o6_1mNIkB8+E7=)EUjpEUimS>*DWCR% +
    + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/usage/airgap_patch_usage/index.html b/en/usage/airgap_patch_usage/index.html index 88c9d1c60..79bc50c85 100644 --- a/en/usage/airgap_patch_usage/index.html +++ b/en/usage/airgap_patch_usage/index.html @@ -908,6 +908,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/usage/all_in_one_install/index.html b/en/usage/all_in_one_install/index.html index bb0a4c182..5c47520a7 100644 --- a/en/usage/all_in_one_install/index.html +++ b/en/usage/all_in_one_install/index.html @@ -932,6 +932,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/usage/helm_install_kubean/index.html b/en/usage/helm_install_kubean/index.html index b1a7022df..a682fd347 100644 --- a/en/usage/helm_install_kubean/index.html +++ b/en/usage/helm_install_kubean/index.html @@ -941,6 +941,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/usage/install/index.html b/en/usage/install/index.html index 336068b1f..0cffbb76d 100644 --- a/en/usage/install/index.html +++ b/en/usage/install/index.html @@ -848,6 +848,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/usage/install_without_root/index.html b/en/usage/install_without_root/index.html index 5acd1c2c0..85addc565 100644 --- a/en/usage/install_without_root/index.html +++ b/en/usage/install_without_root/index.html @@ -944,6 +944,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/usage/mirror_install/index.html b/en/usage/mirror_install/index.html index 496232ca7..0940c60c0 100644 --- a/en/usage/mirror_install/index.html +++ b/en/usage/mirror_install/index.html @@ -941,6 +941,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/usage/scale_worknode/index.html b/en/usage/scale_worknode/index.html index 05991ee0b..e2e8281c9 100644 --- a/en/usage/scale_worknode/index.html +++ b/en/usage/scale_worknode/index.html @@ -974,6 +974,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/usage/sshkey_deploy_cluster/index.html b/en/usage/sshkey_deploy_cluster/index.html index 09117a638..e7922b421 100644 --- a/en/usage/sshkey_deploy_cluster/index.html +++ b/en/usage/sshkey_deploy_cluster/index.html @@ -944,6 +944,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/usage/uninstall/index.html b/en/usage/uninstall/index.html index 96d396fbd..1e7e74c90 100644 --- a/en/usage/uninstall/index.html +++ b/en/usage/uninstall/index.html @@ -908,6 +908,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/en/usage/upgrade/index.html b/en/usage/upgrade/index.html index ba7ea3a4d..34a2c7761 100644 --- a/en/usage/upgrade/index.html +++ b/en/usage/upgrade/index.html @@ -917,6 +917,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/404.html b/zh/404.html index 75e4f1600..86f3da4a7 100644 --- a/zh/404.html +++ b/zh/404.html @@ -828,6 +828,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/concepts/architecture/index.html b/zh/concepts/architecture/index.html index 097dd7c34..45e8ab1d7 100644 --- a/zh/concepts/architecture/index.html +++ b/zh/concepts/architecture/index.html @@ -860,6 +860,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/concepts/comparisons/index.html b/zh/concepts/comparisons/index.html index c21705338..8e1b83230 100644 --- a/zh/concepts/comparisons/index.html +++ b/zh/concepts/comparisons/index.html @@ -899,6 +899,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/concepts/crds/index.html b/zh/concepts/crds/index.html index 6a6ac5e11..230ff0466 100644 --- a/zh/concepts/crds/index.html +++ b/zh/concepts/crds/index.html @@ -1034,6 +1034,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/concepts/custom_action/index.html b/zh/concepts/custom_action/index.html index f67a03ce6..58d4b2d97 100644 --- a/zh/concepts/custom_action/index.html +++ b/zh/concepts/custom_action/index.html @@ -917,6 +917,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/concepts/theory_of_airgapped_package/index.html b/zh/concepts/theory_of_airgapped_package/index.html index 6e1e78836..54ad84f4c 100644 --- a/zh/concepts/theory_of_airgapped_package/index.html +++ b/zh/concepts/theory_of_airgapped_package/index.html @@ -899,6 +899,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/develop/roadmap/index.html b/zh/develop/roadmap/index.html index 548e10948..9c2ca67c6 100644 --- a/zh/develop/roadmap/index.html +++ b/zh/develop/roadmap/index.html @@ -16,7 +16,7 @@ - + @@ -962,6 +962,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • @@ -3023,13 +3044,13 @@

    Q2 2024 + diff --git a/zh/releases/v0.22.3/index.html b/zh/releases/v0.22.3/index.html new file mode 100644 index 000000000..e98b6a7df --- /dev/null +++ b/zh/releases/v0.22.3/index.html @@ -0,0 +1,2934 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + V0.22.3 - Kubean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + 跳转至 + + +
    +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    V0.22.3

    + + + +

    What's Changed

    +

    🔨 Other Changes

    +
      +
    • fix set owner-reference by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1446
    • +
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1445
    • +
    +

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.2...v0.22.3 +| Default Kubernetes Version | Supported Kubernetes Version Range | +| ---------------------------| ---------------------------------------------------------------------| +| v1.30.5 | 'v1.31.3'   'v1.31.2'   'v1.31.1'   'v1.31.0'   'v1.30.7'   'v1.30.6'   'v1.30.5'   'v1.30.4'   'v1.30.3'   'v1.30.2'   'v1.30.1'   'v1.30.0'   'v1.29.11'   'v1.29.10'   'v1.29.9'   'v1.29.8'   'v1.29.7'   'v1.29.6'   'v1.29.5'   'v1.29.4'   'v1.29.3'   'v1.29.2'   'v1.29.1'   'v1.29.0'|

    + + + + + + + + + + + + + +
    +
    + + + + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + \ No newline at end of file diff --git a/zh/releases/v0.4.0/index.html b/zh/releases/v0.4.0/index.html index 3b529846b..22f0ef535 100644 --- a/zh/releases/v0.4.0/index.html +++ b/zh/releases/v0.4.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.4.1/index.html b/zh/releases/v0.4.1/index.html index 714902f7b..7fd3001f4 100644 --- a/zh/releases/v0.4.1/index.html +++ b/zh/releases/v0.4.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.4.10/index.html b/zh/releases/v0.4.10/index.html index 0ce6a67e6..51cc4b00a 100644 --- a/zh/releases/v0.4.10/index.html +++ b/zh/releases/v0.4.10/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.4.2/index.html b/zh/releases/v0.4.2/index.html index 45862a7ae..0b6300fbe 100644 --- a/zh/releases/v0.4.2/index.html +++ b/zh/releases/v0.4.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.4.3/index.html b/zh/releases/v0.4.3/index.html index 67951cd29..7d8001b42 100644 --- a/zh/releases/v0.4.3/index.html +++ b/zh/releases/v0.4.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.4.4/index.html b/zh/releases/v0.4.4/index.html index 9a2926799..8a91d4159 100644 --- a/zh/releases/v0.4.4/index.html +++ b/zh/releases/v0.4.4/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.4.5/index.html b/zh/releases/v0.4.5/index.html index c334870b8..d6408a1c8 100644 --- a/zh/releases/v0.4.5/index.html +++ b/zh/releases/v0.4.5/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.4.6/index.html b/zh/releases/v0.4.6/index.html index 3b1f26f28..2ddcb675f 100644 --- a/zh/releases/v0.4.6/index.html +++ b/zh/releases/v0.4.6/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.4.7/index.html b/zh/releases/v0.4.7/index.html index c25c23a24..bb0bb0034 100644 --- a/zh/releases/v0.4.7/index.html +++ b/zh/releases/v0.4.7/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.4.8/index.html b/zh/releases/v0.4.8/index.html index dc5f5b033..cd7f456e9 100644 --- a/zh/releases/v0.4.8/index.html +++ b/zh/releases/v0.4.8/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.4.9/index.html b/zh/releases/v0.4.9/index.html index c41b884df..ce4b27257 100644 --- a/zh/releases/v0.4.9/index.html +++ b/zh/releases/v0.4.9/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.5.0/index.html b/zh/releases/v0.5.0/index.html index 920cec990..99f6fbb55 100644 --- a/zh/releases/v0.5.0/index.html +++ b/zh/releases/v0.5.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.5.1/index.html b/zh/releases/v0.5.1/index.html index 0b3b657c3..4ff839f64 100644 --- a/zh/releases/v0.5.1/index.html +++ b/zh/releases/v0.5.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.5.2/index.html b/zh/releases/v0.5.2/index.html index 7f7a7aac8..030f063c0 100644 --- a/zh/releases/v0.5.2/index.html +++ b/zh/releases/v0.5.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.5.3/index.html b/zh/releases/v0.5.3/index.html index fde8b09a8..179b8492a 100644 --- a/zh/releases/v0.5.3/index.html +++ b/zh/releases/v0.5.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.5.4/index.html b/zh/releases/v0.5.4/index.html index 4610399c1..f8b8caf97 100644 --- a/zh/releases/v0.5.4/index.html +++ b/zh/releases/v0.5.4/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.6.0/index.html b/zh/releases/v0.6.0/index.html index d8021b6da..fcf4f2a4d 100644 --- a/zh/releases/v0.6.0/index.html +++ b/zh/releases/v0.6.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.6.1/index.html b/zh/releases/v0.6.1/index.html index 51ca3e0b9..47289a4e7 100644 --- a/zh/releases/v0.6.1/index.html +++ b/zh/releases/v0.6.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.6.2/index.html b/zh/releases/v0.6.2/index.html index f8dfb542e..0a2ac7875 100644 --- a/zh/releases/v0.6.2/index.html +++ b/zh/releases/v0.6.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.6.3/index.html b/zh/releases/v0.6.3/index.html index 689270dce..c67d7f6dc 100644 --- a/zh/releases/v0.6.3/index.html +++ b/zh/releases/v0.6.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.6.4/index.html b/zh/releases/v0.6.4/index.html index 4f0312e25..ba8e96480 100644 --- a/zh/releases/v0.6.4/index.html +++ b/zh/releases/v0.6.4/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.6.5/index.html b/zh/releases/v0.6.5/index.html index bfd385992..d2cba4660 100644 --- a/zh/releases/v0.6.5/index.html +++ b/zh/releases/v0.6.5/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.6.6/index.html b/zh/releases/v0.6.6/index.html index 2f621dd05..d6444c1cc 100644 --- a/zh/releases/v0.6.6/index.html +++ b/zh/releases/v0.6.6/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.7.0/index.html b/zh/releases/v0.7.0/index.html index 9e2b070e4..fb8a26598 100644 --- a/zh/releases/v0.7.0/index.html +++ b/zh/releases/v0.7.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.7.1/index.html b/zh/releases/v0.7.1/index.html index 4a98b5a2b..9443b1629 100644 --- a/zh/releases/v0.7.1/index.html +++ b/zh/releases/v0.7.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.7.2/index.html b/zh/releases/v0.7.2/index.html index 6e8b3e813..43351d3be 100644 --- a/zh/releases/v0.7.2/index.html +++ b/zh/releases/v0.7.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.7.3/index.html b/zh/releases/v0.7.3/index.html index e6faf61bc..6e8a9c43d 100644 --- a/zh/releases/v0.7.3/index.html +++ b/zh/releases/v0.7.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.7.4/index.html b/zh/releases/v0.7.4/index.html index 7e4f448be..db670d0f7 100644 --- a/zh/releases/v0.7.4/index.html +++ b/zh/releases/v0.7.4/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.8.0/index.html b/zh/releases/v0.8.0/index.html index a293a150e..f035cbde9 100644 --- a/zh/releases/v0.8.0/index.html +++ b/zh/releases/v0.8.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.8.1/index.html b/zh/releases/v0.8.1/index.html index 815e4ddd3..2c38fb2e1 100644 --- a/zh/releases/v0.8.1/index.html +++ b/zh/releases/v0.8.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.8.2/index.html b/zh/releases/v0.8.2/index.html index 6876bf795..b2ce983c0 100644 --- a/zh/releases/v0.8.2/index.html +++ b/zh/releases/v0.8.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.8.3/index.html b/zh/releases/v0.8.3/index.html index d0220cd0a..4b2f0bd0e 100644 --- a/zh/releases/v0.8.3/index.html +++ b/zh/releases/v0.8.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.8.4/index.html b/zh/releases/v0.8.4/index.html index d8fcd9875..bca74d3fc 100644 --- a/zh/releases/v0.8.4/index.html +++ b/zh/releases/v0.8.4/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.8.5/index.html b/zh/releases/v0.8.5/index.html index a29d4aaae..5586a3b4c 100644 --- a/zh/releases/v0.8.5/index.html +++ b/zh/releases/v0.8.5/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.9.0/index.html b/zh/releases/v0.9.0/index.html index d168a12bb..c8c6fe77c 100644 --- a/zh/releases/v0.9.0/index.html +++ b/zh/releases/v0.9.0/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.9.1/index.html b/zh/releases/v0.9.1/index.html index 6646f63c5..a2a9972b9 100644 --- a/zh/releases/v0.9.1/index.html +++ b/zh/releases/v0.9.1/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.9.2/index.html b/zh/releases/v0.9.2/index.html index e1b6c47ba..361eee878 100644 --- a/zh/releases/v0.9.2/index.html +++ b/zh/releases/v0.9.2/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/releases/v0.9.3/index.html b/zh/releases/v0.9.3/index.html index 66faae9c7..912994a6b 100644 --- a/zh/releases/v0.9.3/index.html +++ b/zh/releases/v0.9.3/index.html @@ -850,6 +850,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/search/search_index.json b/zh/search/search_index.json index dd13e371e..72012a2d6 100644 --- a/zh/search/search_index.json +++ b/zh/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\u200b\\u3000\\-\u3001\u3002\uff0c\uff0e\uff1f\uff01\uff1b]+","pipeline":["stemmer"]},"docs":[{"location":"","title":"Kubean","text":"

    Kubean \u662f\u4e00\u6b3e\u51c6\u751f\u4ea7\u7684\u96c6\u7fa4\u751f\u547d\u5468\u671f\u7ba1\u7406\u5de5\u5177\uff0c\u57fa\u4e8e kubespray \u4e0e\u5176\u4ed6\u96c6\u7fa4 LCM \u5f15\u64ce\u3002

    "},{"location":"#_1","title":"\u529f\u80fd\u8d85\u8d5e","text":"
    • \u7b80\u5355\u6613\u7528\uff1a\u901a\u8fc7\u58f0\u660e\u5f0f API \u5b9e\u73b0 Kubean \u548c K8s \u96c6\u7fa4\u5f3a\u52b2\u751f\u547d\u5468\u671f\u7ba1\u7406\u7684\u90e8\u7f72\u3002
    • \u652f\u6301\u79bb\u7ebf\uff1a\u6bcf\u4e2a\u7248\u672c\u90fd\u4f1a\u53d1\u5e03\u79bb\u7ebf\u5305\uff08os-pkgs\u3001\u955c\u50cf\u3001\u4e8c\u8fdb\u5236\u5305\uff09\u3002\u4f60\u4e0d\u5fc5\u62c5\u5fc3\u5982\u4f55\u6536\u96c6\u6240\u9700\u7684\u8d44\u6e90\u3002
    • \u517c\u5bb9\u6027\uff1a\u652f\u6301\u591a\u67b6\u6784\u4ea4\u4ed8\uff1aAMD\u3001ARM\uff1b\u5e38\u89c1\u7684 Linux \u53d1\u884c\u7248\uff1b\u4ee5\u53ca\u57fa\u4e8e\u9cb2\u9e4f\u6784\u5efa\u7684\u9e92\u9e9f\u64cd\u4f5c\u7cfb\u7edf\u3002
    • \u53ef\u6269\u5c55\u6027\uff1a\u5141\u8bb8\u4f7f\u7528\u539f\u751f Kubespray \u81ea\u5b9a\u4e49\u96c6\u7fa4\u3002
    "},{"location":"#others","title":"Others","text":"

    Copyright The Kubean Authors

    We are a Cloud Native Computing Foundation sandbox project.

    The Linux Foundation\u00ae (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see Trademark Usage.

    "},{"location":"concepts/architecture/","title":"Kubean \u57fa\u7840\u67b6\u6784","text":"

    Kubean \u7684\u6574\u4f53\u67b6\u6784\u5982\u4e0b\u6240\u793a\uff1a

    Kubean \u9700\u8981\u8fd0\u884c\u5728\u4e00\u4e2a\u5df2\u5b58\u5728\u7684 Kubernetes \u96c6\u7fa4\uff0c\u901a\u8fc7\u5e94\u7528 Kubean \u63d0\u4f9b\u7684\u6807\u51c6 CRD \u8d44\u6e90\u548c Kubernetes \u5185\u5efa\u8d44\u6e90\u6765\u63a7\u5236\u548c\u7ba1\u7406\u96c6\u7fa4\u7684\u751f\u547d\u5468\u671f\uff08\u5b89\u88c5\u3001\u5378\u8f7d\u3001\u5347\u7ea7\u3001\u6269\u5bb9\u3001\u7f29\u5bb9\u7b49\uff09\u3002 Kubean \u91c7\u7528 Kubespray \u4f5c\u4e3a\u5e95\u5c42\u6280\u672f\u4f9d\u8d56\uff0c\u4e00\u65b9\u9762\u7b80\u5316\u4e86\u96c6\u7fa4\u90e8\u7f72\u7684\u64cd\u4f5c\u6d41\u7a0b\uff0c\u964d\u4f4e\u4e86\u7528\u6237\u7684\u4f7f\u7528\u95e8\u69db\u3002\u53e6\u4e00\u65b9\u9762\u5728 Kubespray \u80fd\u529b\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u96c6\u7fa4\u64cd\u4f5c\u8bb0\u5f55\u3001\u79bb\u7ebf\u7248\u672c\u8bb0\u5f55\u7b49\u8bf8\u591a\u65b0\u7279\u6027\u3002

    Kubean \u8fd0\u884c\u7740\u591a\u4e2a\u63a7\u5236\u5668\uff0c\u8fd9\u4e9b\u63a7\u5236\u5668\u8ddf\u8e2a Kubean CRD \u5bf9\u8c61\u7684\u53d8\u5316\uff0c\u5e76\u4e14\u4e0e\u5e95\u5c42\u96c6\u7fa4\u7684 API \u670d\u52a1\u5668\u8fdb\u884c\u901a\u4fe1\u6765\u521b\u5efa Kubernetes\u539f\u751f\u8d44\u6e90\u5bf9\u8c61\u3002\u7531\u4ee5\u4e0b\u56db\u4e2a\u7ec4\u4ef6\u6784\u6210\uff1a

    1. Cluster Controller: \u76d1\u89c6 Cluster Objects\u3002\u552f\u4e00\u6807\u8bc6\u4e00\u4e2a\u96c6\u7fa4\uff0c\u62e5\u6709\u96c6\u7fa4\u8282\u70b9\u7684\u8bbf\u95ee\u4fe1\u606f\u3001\u7c7b\u578b\u4fe1\u606f\u3001\u90e8\u7f72\u53c2\u6570\u4fe1\u606f\uff0c\u5e76\u4e14\u5173\u8054\u6240\u6709\u5bf9\u6b64\u96c6\u7fa4\u7684\u64cd\u4f5c\uff08ClusterOperation Objects\uff09\uff1b
    2. ClusterOperation Controller: \u76d1\u89c6 ClusterOperation Objects\u3002\u5f53 ClusterOperation Object \u88ab\u521b\u5efa\u65f6\uff0c\u63a7\u5236\u5668\u4f1a\u7ec4\u88c5\u4e00\u4e2a Job \u53bb\u6267\u884c CRD \u5bf9\u8c61\u91cc\u5b9a\u4e49\u7684\u64cd\u4f5c\uff1b
    3. Manifest Controller: \u76d1\u89c6 Manifest Objects\u3002\u7528\u4e8e\u8bb0\u5f55\u548c\u7ef4\u62a4\u5f53\u524d\u7248\u672c\u7684 Kubean \u4f7f\u7528\u548c\u517c\u5bb9\u7684\u7ec4\u4ef6\u3001\u5305\u53ca\u7248\u672c\uff1b
    4. LocalArtifactSet Controller\uff1a\u76d1\u89c6 LocalArtifactSet Objects\u3002\u7528\u4e8e\u8bb0\u5f55\u79bb\u7ebf\u5305\u652f\u6301\u7684\u7ec4\u4ef6\u53ca\u7248\u672c\u4fe1\u606f\u3002
    "},{"location":"concepts/comparisons/","title":"\u5bf9\u6bd4\u53c2\u8003","text":""},{"location":"concepts/comparisons/#kubean-vs-kubespray","title":"Kubean vs Kubespray","text":"

    Kubespray \u4f7f\u7528 Ansible \u4f5c\u4e3a\u5e95\u5c42\u6765\u914d\u7f6e\u548c\u7f16\u6392\uff0c\u53ef\u4ee5\u8fd0\u884c\u5728\u88f8\u91d1\u5c5e\u673a\u3001\u865a\u62df\u673a\u3001\u5927\u591a\u6570\u4e91\u73af\u5883\u7b49\u3002\u5b83\u652f\u6301\u4f17\u591a Kubernetes \u7248\u672c\u548c\u63d2\u4ef6\uff0c\u53ef\u4ee5\u5b8c\u6210\u96c6\u7fa4\u4ece 0 \u5230 1 \u7684\u642d\u5efa\u548c\u914d\u7f6e\uff0c\u4e5f\u5305\u542b\u96c6\u7fa4\u751f\u547d\u5468\u671f\u7684\u7ef4\u62a4\uff0c\u4f7f\u7528\u65b9\u5f0f\u975e\u5e38\u7075\u6d3b\u3002

    Kubean \u57fa\u4e8e Kubespray\uff0c\u62e5\u6709 Kubespray \u6240\u6709\u4f18\u52bf\u3002\u5e76\u4e14 Kubean \u5f15\u7528 Operator \u6982\u5ff5\u4ee5\u5b9e\u73b0\u5b8c\u5168\u4e91\u539f\u751f\u5316\uff0c\u539f\u751f\u4ee5\u5bb9\u5668\u65b9\u5f0f\u8fd0\u884c\uff0c\u63d0\u4f9b Helm Chart \u5305\u8fdb\u884c\u5feb\u901f\u90e8\u7f72\u3002

    Kubespray \u4ec5\u5728\u53c2\u6570\u7ea7\u522b\u4e0a\u652f\u6301\u79bb\u7ebf\uff0c\u5e76\u6ca1\u6709\u5305\u542b\u4e00\u4e2a\u5b8c\u6210\u6784\u5efa\u79bb\u7ebf\u5b89\u88c5\u5305\u7684\u8fc7\u7a0b\uff0c\u6240\u4ee5\u5bf9\u4e8e\u6709\u79bb\u7ebf\u573a\u666f\u9700\u6c42\u7684\u4f7f\u7528\u8005\u6765\u8bf4\uff0c\u76f4\u63a5\u4f7f\u7528 Kubespray \u4f1a\u53d8\u5f97\u975e\u5e38\u7e41\u7410\uff0c\u8fd9\u901a\u5e38\u4f1a\u8ba9\u4ed6\u4eec\u5931\u53bb\u8010\u5fc3\u3002

    Kubean \u4e0d\u4ec5\u6709\u4e00\u5957\u5b8c\u5584\u7684\u5236\u4f5c\u79bb\u7ebf\u5305\u7684\u5de5\u4f5c\u6d41\uff0c\u8fd8\u9002\u914d\u56fd\u4ea7\u4fe1\u521b\u73af\u5883\uff0c\u7b80\u5316 Kubespray \u7684\u590d\u6742\u914d\u7f6e\uff0c\u80fd\u591f\u5bf9\u96c6\u7fa4\u751f\u547d\u5468\u671f\u4ee5\u4e91\u539f\u751f\u7684\u65b9\u5f0f\u53bb\u7ba1\u7406\u3002

    "},{"location":"concepts/crds/","title":"CRD \u6982\u8ff0","text":""},{"location":"concepts/crds/#cluster","title":"Cluster","text":"

    Kubean \u5141\u8bb8\u901a\u8fc7 custom resource definitions (CRDs) \u6765\u58f0\u660e\uff08\u552f\u4e00\u6807\u8bc6\uff09\u4e00\u4e2a Kubernetes \u96c6\u7fa4\u3002\u6240\u6709\u5bf9\u96c6\u7fa4\u7684\u64cd\u4f5c\u90fd\u57fa\u4e8e\u6b64 CRD \u91cc\u58f0\u660e\u7684\u5185\u5bb9\u3002

    \u4e0b\u9762\u662f\u4e00\u4efd\u793a\u4f8b\uff0c\u5e2e\u52a9\u7406\u89e3\u4e0b\u6587\u7684\u914d\u7f6e\u9879\u8bf4\u660e\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: cluster1-offline-demo\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: cluster1-offline-demo-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: cluster1-offline-demo-vars-conf\n
    "},{"location":"concepts/crds/#_1","title":"\u914d\u7f6e\u9879","text":""},{"location":"concepts/crds/#_2","title":"\u5143\u6570\u636e","text":"
    • name\uff1aname \u7528\u4e8e\u58f0\u660e\u4e00\u4e2a\u96c6\u7fa4\uff0c\u5168\u5c40\u552f\u4e00
    "},{"location":"concepts/crds/#_3","title":"\u5c5e\u6027\u5173\u8054","text":"
    • hostConfRef\uff1ahostConfRef \u662f\u4e00\u4e2a ConfigMap \u8d44\u6e90\uff0c\u5b83\u7684\u5185\u5bb9\u5e94\u6ee1\u8db3 ansible inventory \u7684\u683c\u5f0f\uff0c\u5305\u542b\u96c6\u7fa4\u8282\u70b9\u4fe1\u606f\u3001\u7c7b\u578b\u5206\u7ec4\u4fe1\u606f\u3002\u5185\u5bb9\u53ef\u53c2\u8003 demo\u3002
    • name\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 ConfigMap \u7684\u540d\u79f0
    • namespace\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 ConfigMap \u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

    • varsConfRef\uff1avarsConfRef \u662f\u4e00\u4e2a ConfigMap \u8d44\u6e90\uff0c\u7528\u4f5c\u521d\u59cb\u5316\u6216\u8986\u76d6 Kubespray \u4e2d\u58f0\u660e\u7684\u53d8\u91cf\u503c\u3002\u5982\u679c\u6709\u79bb\u7ebf\u9700\u6c42\uff0c\u8fd9\u5c06\u5f88\u6709\u7528\u3002\u5185\u5bb9\u53ef\u53c2\u8003 demo\u3002

    • name\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 ConfigMap \u7684\u540d\u79f0
    • namespace\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 ConfigMap \u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

    • sshAuthRef\uff1asshAuthRef \u662f\u4e00\u4e2a Secret \u8d44\u6e90\uff0c\u4ec5\u5728 SSH \u79c1\u94a5\u6a21\u5f0f\u65f6\u4f7f\u7528\u3002

    • name\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 Secret \u540d\u79f0
    • namespace\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 Secret \u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4
    "},{"location":"concepts/crds/#clusteroperation","title":"ClusterOperation","text":"

    Kubean \u5141\u8bb8\u901a\u8fc7 custom resource definitions (CRDs) \u6765\u58f0\u660e\u5bf9\u4e00\u4e2a Kubernetes \u96c6\u7fa4\u7684\u64cd\u4f5c\uff08\u90e8\u7f72\u3001\u5347\u7ea7\u7b49\uff09\uff0c\u524d\u63d0\u662f\u6b63\u786e\u5173\u8054\u4e00\u4e2a\u5df2\u7ecf\u5b9a\u4e49\u7684 Cluster CRD\u3002\u5b8c\u6210\u64cd\u4f5c\u6240\u5fc5\u8981\u7684\u4fe1\u606f\u4ece\u5176\u5173\u8054\u7684 Cluster CRD \u4e2d\u83b7\u53d6\u3002

    \u4e0b\u9762\u662f\u4e00\u4efd\u793a\u4f8b\uff0c\u5e2e\u52a9\u7406\u89e3\u4e0b\u6587\u7684\u914d\u7f6e\u9879\u8bf4\u660e\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-demo-ops-1\nspec:\n  cluster: cluster1-demo\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n
    "},{"location":"concepts/crds/#_4","title":"\u914d\u7f6e\u9879","text":""},{"location":"concepts/crds/#_5","title":"\u5143\u6570\u636e","text":"
    • name\uff1aname \u552f\u4e00\u6807\u8bc6\u4e00\u4e2a\u5bf9\u6240\u5173\u8054\u96c6\u7fa4\u7684\u64cd\u4f5c
    "},{"location":"concepts/crds/#_6","title":"\u64cd\u4f5c\u5b9a\u4e49","text":"
    • cluster\uff1a\u4e0e\u6b64\u64cd\u4f5c\u5173\u8054\u7684\u96c6\u7fa4\u540d\u79f0\uff0c\u5176\u503c\u4e3a Cluster CRD \u4e2d\u58f0\u660e\u7684\u540d\u79f0
    • image\uff1akubespray \u955c\u50cf\u5730\u5740\uff1b\u53ef\u4ee5\u4f7f\u7528 Kubean \u4ed3\u5e93\u6784\u5efa\u7684\u955c\u50cf\uff0c\u4e5f\u53ef\u4f7f\u7528\u81ea\u884c\u6784\u5efa\u955c\u50cf
    • actionType\uff1a\u64cd\u4f5c\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301\u6307\u5b9a playbook \u6216 shell
    • action\uff1a\u610f\u56fe\u6267\u884c\u7684\u64cd\u4f5c\uff0c\u76ee\u524d\u652f\u6301\u6307\u5b9a playbook \u6587\u4ef6\u7684\u8def\u5f84\u6216 shell \u547d\u4ee4
    • preHook\uff1a\u524d\u7f6e\u6267\u884c\u64cd\u4f5c\uff0c\u53ef\u4ee5\u6307\u5b9a\u591a\u4e2a\uff0c\u4f8b\u5982\u53ef\u4ee5\u6d4b\u8bd5\u8282\u70b9\u8fde\u901a\u6027\u7b49
    • actionType\uff1a\u540c\u4e0a
    • action\uff1a\u540c\u4e0a
    • postHook\uff1a\u540e\u7f6e\u6267\u884c\u64cd\u4f5c\uff0c\u53ef\u4ee5\u6307\u5b9a\u591a\u4e2a\uff0c\u4f8b\u5982\u53ef\u4ee5\u83b7\u53d6\u96c6\u7fa4\u72b6\u6001\u7b49
    • actionType\uff1a\u540c\u4e0a
    • action\uff1a\u540c\u4e0a
    "},{"location":"concepts/crds/#manifest","title":"Manifest","text":"

    Kubean \u5141\u8bb8\u901a\u8fc7 custom resource definitions (CRDs) \u6765\u8bb0\u5f55\u548c\u7ef4\u62a4\u5f53\u524d\u7248\u672c\u7684 Kubean \u4f7f\u7528\u548c\u517c\u5bb9\u7684\u7ec4\u4ef6\u3001\u5305\u53ca\u7248\u672c\uff1b\u4f7f\u7528\u8005\u4e0d\u7528\u624b\u52a8\u7f16\u5199\u6b64\u8d44\u6e90\uff0c\u7531 Kubean \u81ea\u884c\u7ef4\u62a4\u3002

    \u4e0b\u9762\u662f\u4e00\u4efd\u793a\u4f8b\uff0c\u5e2e\u52a9\u7406\u89e3\u4e0b\u6587\u7684 spec \u8bf4\u660e\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: Manifest\nmetadata:\n  name: kubeaninfomanifest-v0-4-0-rc2\nspec:\n  components:\n  - defaultVersion: v1.1.1\n    name: cni\n    versionRange:\n    - v1.0.1\n    - v1.1.1\n  - defaultVersion: 1.6.9\n    name: containerd\n    versionRange:\n    .......\n    - 1.6.7\n    - 1.6.8\n    - 1.6.9\n  - defaultVersion: \"\"\n    name: kube\n    versionRange:\n    - v1.25.3\n    - v1.25.2\n    - v1.25.1\n    ........\n  - defaultVersion: v3.23.3\n    name: calico\n    versionRange:\n    - v3.23.3\n    - v3.22.4\n    - v3.21.6\n  - defaultVersion: v1.12.1\n    name: cilium\n    versionRange: []\n  - defaultVersion: \"null\"\n    name: etcd\n    versionRange:\n    - v3.5.3\n    - v3.5.4\n    - v3.5.5\n  docker:\n  - defaultVersion: \"20.10\"\n    os: redhat-7\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  - defaultVersion: \"20.10\"\n    os: debian\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  - defaultVersion: \"20.10\"\n    os: ubuntu\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  kubeanVersion: v0.4.0-rc2\n  kubesprayVersion: c788620\n
    "},{"location":"concepts/crds/#spec","title":"spec \u8bf4\u660e","text":"
    • components\uff1a\u955c\u50cf\u6216\u4e8c\u8fdb\u5236\u6587\u4ef6\u7684\u7248\u672c\u58f0\u660e
    • name\uff1a\u7ec4\u4ef6\u540d\u79f0
    • defaultVersion\uff1a\u4f7f\u7528\u7684\u9ed8\u8ba4\u7248\u672c
    • versionRange\uff1a\u53d7\u652f\u6301\u7684\u7248\u672c\u5217\u8868
    • docker\uff1aDocker \u7684\u7248\u672c\u7ba1\u7406
    • os\uff1a\u53d7\u652f\u6301\u7684\u64cd\u4f5c\u7cfb\u7edf
    • defaultVersion\uff1a\u4f7f\u7528\u7684\u9ed8\u8ba4\u7248\u672c
    • versionRange\uff1a\u53d7\u652f\u6301\u7684\u7248\u672c\u5217\u8868
    • kubeanVersion\uff1aKubean \u7248\u672c\u53f7
    • kubesprayVersion\uff1a\u5f53\u524d Kubean \u4f9d\u8d56\u7684 Kubespray \u7248\u672c\u53f7
    "},{"location":"concepts/crds/#localartifact","title":"LocalArtifact","text":"

    Kubean \u5141\u8bb8\u901a\u8fc7 custom resource definitions (CRDs) \u6765\u8bb0\u5f55\u79bb\u7ebf\u5305\u652f\u6301\u7684\u7ec4\u4ef6\u53ca\u7248\u672c\u4fe1\u606f\uff1b\u4f7f\u7528\u8005\u4e0d\u7528\u624b\u52a8\u7f16\u5199\u6b64\u8d44\u6e90\uff0c\u7531 Kubean \u81ea\u884c\u7ef4\u62a4\u3002

    \u4e0b\u9762\u662f\u4e00\u4efd\u793a\u4f8b\uff0c\u5e2e\u52a9\u7406\u89e3\u4e0b\u6587\u7684 spec \u8bf4\u660e\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: LocalArtifactSet\nmetadata:\n  name: \"localartifactset-1709796014\"\n  labels:\n    kubean.io/sprayRelease: master\nspec:\n  kubespray: \"989ba207e9da2e1364f375450561d08af80c8535\"\n  items:\n    - name: cilium\n      versionRange:\n        - \"v1.13.4\"\n    - name: flannel\n      versionRange:\n        - \"v0.22.0\"\n    - name: kube_ovn\n      versionRange:\n        - \"v1.11.5\"\n    - name: runc\n      versionRange:\n        - \"v1.1.12\"\n    - name: kube\n      versionRange:\n        - \"v1.1.12\"\n    - name: cni\n      versionRange:\n        - \"v1.3.0\"\n    - name: calico\n      versionRange:\n        - \"v3.26.4\"\n    - name: containerd\n      versionRange:\n        - \"1.7.13\"\n
    "},{"location":"concepts/crds/#spec_1","title":"spec \u8bf4\u660e","text":"
    • arch\uff1a\u53d7\u652f\u6301\u7684 CPU \u6307\u4ee4\u96c6\u67b6\u6784\u5217\u8868
    • kubespray\uff1a\u4f7f\u7528\u7684 Kubespray \u7248\u672c
    • docker\uff1aDocker \u7248\u672c\u7ba1\u7406
    • os\uff1aDocker \u53d7\u652f\u6301\u7684\u64cd\u4f5c\u7cfb\u7edf\u7c7b\u578b
    • versionRange\uff1a\u53d7\u652f\u6301\u7684 Docker \u7248\u672c\u5217\u8868
    • items\uff1a\u5176\u4ed6\u7ec4\u4ef6\u7248\u672c\u7ba1\u7406
    • name\uff1a\u7ec4\u4ef6\u540d\u79f0
    • versionRange\uff1a\u8be5\u7ec4\u4ef6\u53d7\u652f\u6301\u7684\u7248\u672c\u5217\u8868
    "},{"location":"concepts/custom_action/","title":"\u81ea\u5b9a\u4e49 Action","text":""},{"location":"concepts/custom_action/#_1","title":"\u52a8\u673a","text":"

    \u5bf9\u4e8e\u4f7f\u7528\u8005\u6765\u8bb2\uff0cKubean \u548c Kubesprary \u7684\u4ea7\u7269\u90fd\u662f OCI \u955c\u50cf\u3001Helm Chart \u53ca K8s manifest\u3002 \u5728\u5df2\u62ff\u5230\u8fd9\u4e9b\u4ea7\u7269\u7684\u60c5\u51b5\u4e0b\u8981\u81ea\u5b9a\u4e49\u4e00\u4e9b\u64cd\u4f5c\uff0c\u4e5f\u80fd\u505a\u5230\uff0c\u4f46\u662f\u4f1a\u6bd4\u8f83\u590d\u6742\uff0c\u9700\u8981\u624b\u52a8\u4fee\u6539\u4e0d\u5c11\u7684\u914d\u7f6e\u3002\u5e0c\u671b\u80fd\u591f\u7b80\u5316\u8fd9\u4e00\u8fc7\u7a0b\u3002

    "},{"location":"concepts/custom_action/#_2","title":"\u76ee\u6807","text":"

    \u63d0\u4f9b\u4e00\u79cd\u4fbf\u6377\u7684\u65b9\u5f0f\u80fd\u591f\u8ba9\u4f7f\u7528\u8005\u4f7f\u7528\u4e00\u4e9b\u81ea\u5b9a\u4e49\u7684\u64cd\u4f5c\u6765\u67e5\u770b\u3001\u4fee\u6539\u548c\u63a7\u5236\u96c6\u7fa4\u8282\u70b9\u7684\u72b6\u6001\u3002

    "},{"location":"concepts/custom_action/#crd","title":"CRD \u8bbe\u8ba1","text":"
    1. \u589e\u52a0 ActionSource \u5b57\u6bb5\u4ee5\u58f0\u660e Action \u6765\u6e90\uff0c\u5176\u503c\u76ee\u524d\u652f\u6301\uff1a

      • builtin\uff08\u7f3a\u7701\u503c\uff09

        \u8868\u660e\u4f7f\u7528 kubean \u5185\u5efa ansible playbook \u6216\u5728 manifest \u5185\u8054\u7684 shell \u811a\u672c

      • configmap

        \u8868\u660e\u9700\u8981\u7684 ansible playbook \u6216 shell \u811a\u672c\u901a\u8fc7 \u5f15\u7528 K8s configmap \u6765\u83b7\u53d6

    2. \u589e\u52a0 ActionSourceRef \u5b57\u6bb5\u4ee5\u58f0\u660e\u5f53 ActionSource \u503c\u4e3a configmap \u65f6\u6240\u5f15\u7528\u7684\u8d44\u6e90\u5bf9\u8c61\uff0c\u4e14\u4ec5\u5f53 ActionSource \u4e3a configmap \u65f6\u6b64\u5b57\u6bb5\u624d\u751f\u6548\uff0c\u5176\u683c\u5f0f\u4e3a\uff1a

      actionSourceRef:\n  name: <configmap name>\n  namespace: <namespace of configmap>\n

    \u914d\u7f6e\u793a\u4f8b\uff1a

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: cluster1-demo-myaction\n  namespace: kubean-system\ndata:\n  myplaybook.yml: |\n    - hosts: k8s_cluster\n      gather_facts: false\n      become: yes\n      any_errors_fatal: \"{{ any_errors_fatal | default(true) }}\"\n      tasks:\n        - name: Print inventory hostname\n          debug:\n            msg: \"inventory_hostname is {{ inventory_hostname }}\"\n  hello.sh: |\n    echo \"hello world!\"\n---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-demo-ops-1\nspec:\n  cluster: cluster1-demo\n  image: ghcr.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: myplaybook.yml\n  actionSource: configmap\n  actionSourceRef:\n    name: cluster1-demo-myaction\n    namespace: kubean-system\n  preHook:\n    - actionType: shell\n      action: hello.sh\n      actionSource: configmap\n      actionSourceRef:\n        name: cluster1-demo-myaction\n        namespace: kubean-system\n
    "},{"location":"concepts/theory_of_airgapped_package/","title":"\u79bb\u7ebf\u5b89\u88c5\u5305\u7684\u539f\u7406","text":"

    Kubean CI \u6784\u5efa\u4fbf\u4e8e\u5728\u79bb\u7ebf\u73af\u5883\u4e2d\u5b89\u88c5 Kubernetes \u7684\u79bb\u7ebf\u6587\u4ef6\u3002

    \u6ce8\uff1a\u6709\u5173\u5982\u4f55\u4f7f\u7528\u79bb\u7ebf\u6587\u4ef6\uff0c\u8bf7\u53c2\u9605\u79bb\u7ebf\u573a\u666f\u7684\u4f7f\u7528\u3002

    \u672c\u9875\u8bf4\u660e\u79bb\u7ebf\u6587\u4ef6\u5305\u7684\u6784\u5efa\u539f\u7406\u3002

    • \u53d1\u7248\u9875\u9762\uff1aGithub Releases
    • \u4e3b\u8981\u5305\u542b\uff1a
    \u6587\u4ef6\u5305 \u63cf\u8ff0 files-*.tar.gz Kubespray \u5b89\u88c5\u6240\u9700\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\uff1akubeadm\u3001runc images-*.tar.gz K8s \u96c6\u7fa4\u955c\u50cf\u548c CNI \u955c\u50cf os-pkgs-${linux_distribution}-${tag}.tar.gz K8s \u5b89\u88c5\u671f\u95f4\u6240\u9700\u7684 deb/rpm"},{"location":"concepts/theory_of_airgapped_package/#_2","title":"\u5982\u4f55\u6784\u5efa\u79bb\u7ebf\u6587\u4ef6","text":"
    1. \u955c\u50cf\u548c\u4e8c\u8fdb\u5236\u6587\u4ef6

      \u7c7b\u4f3c Kubespray \u79bb\u7ebf\u90e8\u7f72\u6307\u5357\u6240\u8ff0\uff0c Kubespray \u63d0\u4f9b\u4e86\u4e00\u4e9b\u811a\u672c\u6765\u751f\u6210\u955c\u50cf\u548c\u4e8c\u8fdb\u5236\u6587\u4ef6\u5217\u8868\uff08\u611f\u8c22 Kubespray\uff01\uff09

      \u5f97\u76ca\u4e8e Kubespray \u751f\u6210\u4e8c\u8fdb\u5236\u548c\u955c\u50cf\u5217\u8868\u7684\u811a\u672c\uff0c \u6211\u4eec\u53ef\u4ee5\u4f7f\u7528 manage-offline-files.sh \u4e0b\u8f7d\u8fd9\u4e9b\u4e8c\u8fdb\u5236\u6587\u4ef6\u548c\u955c\u50cf\u3002 \u968f\u540e Kubean \u63d0\u4f9b\u4e86 call-offline-build.yaml\uff08Github Action \u811a\u672c\uff09 \u5c06\u6240\u6709\u8fd9\u4e9b\u878d\u5408\u4e8e\u4e00\u8d77\u3002

    2. os-packages (deb/rpm)

      \u5728 K8s \u5b89\u88c5\u671f\u95f4\uff0c\u6709\u4e9b\u6587\u4ef6\u5305\u4e0d\u4f1a\u968f\u4e8c\u8fdb\u5236\u6587\u4ef6\u4e00\u8d77\u5b89\u88c5\uff0c\u56e0\u6b64\u6211\u4eec\u5fc5\u987b\u901a\u8fc7 deb/rpm \u6765\u5b89\u88c5\u8fd9\u4e9b\u6587\u4ef6\u5305\u3002 os packages \u5217\u8868\u5b9a\u4e49\u4e86\u6240\u6d89\u53ca\u7684\u6587\u4ef6\u5305\u3002

      Github Action \u5c06\u901a\u8fc7 dnf/apt \u6784\u5efa\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u7684\u6587\u4ef6\u5305\uff08\u4f8b\u5982 Qemu\uff09\uff0c\u4fbf\u4e8e\u4e0b\u8f7d\u548c\u5f52\u6863 RPM/DEB \u5305\u3002

    3. CI \u6d41\u7a0b

      \u79bb\u7ebf\u6587\u4ef6\u5305\u7531 Github Action \u811a\u672c\u751f\u6210\u548c\u7ba1\u7406\u3002

    "},{"location":"develop/roadmap/","title":"Kubean \u8def\u7ebf\u56fe","text":"

    \u5f53\u524d\u7684 Roadmap \u662f\u6682\u65f6\u7684\uff0c\u5177\u4f53\u7684\u65f6\u95f4\u8868\u4ee5\u793e\u533a\u9700\u8981\u800c\u5b9a\u3002

    \u5728 Roadmap \u4e2d\u672a\u63d0\u53ca\u7684\u529f\u80fd\u7279\u6027, \u6211\u4eec\u53ef\u4ee5\u5728 issues \u4e2d\u8ba8\u8bba.

    "},{"location":"develop/roadmap/#q3-2022","title":"Q3 2022","text":"
    • \u8bbe\u8ba1 Kubean \u9879\u76ee\u67b6\u6784\u6d41\u7a0b architecture.md
    • \u9a8c\u8bc1 Kubean \u7684\u96c6\u7fa4\u751f\u547d\u5468\u671f\u7ba1\u7406\u64cd\u4f5c
    • \u6dfb\u52a0\u7cfb\u7edf\u5305\u6784\u5efa CI https://github.com/kubean-io/kubean/pull/62
    • \u63d0\u4f9b Kubean API https://github.com/kubean-io/kubean/pull/128
    "},{"location":"develop/roadmap/#q4-2022","title":"Q4 2022","text":"
    • E2E tests kubean test case
    • k8s \u955c\u50cf\u53ca\u4e8c\u8fdb\u5236\u5305\u652f\u6301 arm \u67b6\u6784 https://github.com/kubean-io/kubean/pull/200
    • \u652f\u6301\u5347\u7ea7\u5305\u6784\u5efa https://github.com/kubean-io/kubean/pull/289
    • \u79bb\u7ebf\u573a\u666f RHEL8.4 \u90e8\u7f72\u9002\u914d https://github.com/kubean-io/kubean/pull/325
    • \u652f\u6301\u8fd8\u539f\u7cfb\u7edf\u5305\u7ba1\u7406\u914d\u7f6e https://github.com/kubean-io/kubean/pull/298
    • \u652f\u6301\u96c6\u7fa4\u90e8\u7f72\u5b8c\u540e\u56de\u4f20 Kubeconfig https://github.com/kubean-io/kubean/pull/192
    • \u589e\u52a0 SSH Key \u8ba4\u8bc1\u90e8\u7f72\u65b9\u5f0f https://github.com/kubean-io/kubean/pull/302
    "},{"location":"develop/roadmap/#q1-2023","title":"Q1 2023","text":"
    • \u652f\u6301 apt \u7cfb\u7edf\u5305\u7ba1\u7406\u914d\u7f6e https://github.com/kubean-io/kubean/pull/459
    • Cluster Operation CRD \u652f\u6301\u81ea\u5b9a\u4e49 Action https://github.com/kubean-io/kubean/issues/361
    • Kubean Chart \u652f\u6301 Charts Syncer https://github.com/kubean-io/kubean/pull/468
    • \u652f\u6301 Pre check \u90e8\u7f72\u524d\u7684\u9884\u68c0\u6d4b https://github.com/kubean-io/kubean/pull/555
    • \u7edf\u4fe1 UOS 1020a \u7cfb\u7edf\u5305\u9002\u914d https://github.com/kubean-io/kubean/pull/583
    "},{"location":"develop/roadmap/#q2-2023","title":"Q2 2023","text":"
    • \u652f\u6301\u57fa\u4e8e OpenEuler \u79bb\u7ebf\u573a\u666f\u7684\u96c6\u7fa4\u90e8\u7f72 https://github.com/kubean-io/kubean/pull/628
    • \u652f\u6301 Other Linux \u901a\u8fc7\u811a\u672c\u81ea\u4e3b\u6784\u5efa\u79bb\u7ebf\u573a\u666f\u4f9d\u8d56\u7684\u7cfb\u7edf\u5305 https://github.com/kubean-io/kubean/pull/627
    • \u4f7f\u7528 mkdocs \u66f4\u65b0 kubean \u6587\u6863\u7ad9 https://github.com/kubean-io/kubean/pull/728
    • \u4f18\u5316 release \u53d1\u7248 CI https://github.com/kubean-io/kubean/pull/863
    • \u65b0\u589e\u5173\u4e8e\u8bc1\u4e66\u66f4\u65b0\u7684 ansible \u5267\u672c https://github.com/kubean-io/kubean/pull/884
    • \u66f4\u65b0 release \u53d1\u7248\u6d41\u7a0b https://github.com/kubean-io/kubean/pull/869
    "},{"location":"develop/roadmap/#q3-2023","title":"Q3 2023","text":"
    • \u6dfb\u52a0\u8bc1\u4e66\u66f4\u65b0\u5267\u672c https://github.com/kubean-io/kubean/pull/884
    • \u65b0\u589e\u6d41\u6c34\u7ebf\u5bf9\u4e0a\u6e38 kubespray \u6700\u65b0\u7248\u672c\u7684\u6bcf\u65e5\u90e8\u7f72\u9a8c\u8bc1 https://github.com/kubean-io/kubean/pull/870
    • \u786e\u4fdd Cluster \u8d44\u6e90\u7684\u7ea7\u8054\u5220\u9664 https://github.com/kubean-io/kubean/pull/918
    • \u4e3a ClusterOperation \u8bb0\u5f55\u6dfb\u52a0\u6e05\u9664\u6743\u91cd https://github.com/kubean-io/kubean/pull/983
    "},{"location":"develop/roadmap/#q4-2023","title":"Q4 2023","text":"
    • \u4f18\u5316\u955c\u50cf\u79bb\u7ebf\u5305\u4e3a OCI \u683c\u5f0f https://github.com/kubean-io/kubean/pull/996
    • \u4f18\u5316 Operator \u7684\u65e5\u5fd7\u8f93\u5165 https://github.com/kubean-io/kubean/pull/1032
    • \u63d0\u9ad8 Manifest \u8d44\u6e90\u7684\u67e5\u8be2\u6548\u7387 https://github.com/kubean-io/kubean/pull/1036
    • \u91cd\u6784\u955c\u50cf\u5bfc\u5165\u811a\u672c\uff0c\u4f7f\u5176\u652f\u6301\u591a\u67b6\u6784\u5bfc\u5165 https://github.com/kubean-io/kubean/pull/1040
    "},{"location":"develop/roadmap/#q1-2024","title":"Q1 2024","text":"
    • \u63d0\u9ad8 precheck \u5267\u672c\u7684\u6267\u884c\u6548\u7387 https://github.com/kubean-io/kubean/pull/1076
    • \u4f18\u5316 ClusterOperation \u7684\u8c03\u8c10\u6027\u80fd https://github.com/kubean-io/kubean/pull/1082
    • \u91cd\u6784\u81ea\u5b9a\u4e49\u8d44\u6e90\u751f\u6210\u811a\u672c\u903b\u8f91 https://github.com/kubean-io/kubean/pull/1152
    • \u4fee\u590d ubuntu18.04 \u79bb\u7ebf\u5305\u7248\u672c\u95ee\u9898 https://github.com/kubean-io/kubean/pull/1158
    • \u81ea\u52a8\u5316 docker \u9650\u5236\u5355\u5bb9\u5668\u78c1\u76d8\u5360\u7528\u7684\u524d\u7f6e\u6b65\u9aa4 https://github.com/kubean-io/kubean/pull/1179
    "},{"location":"develop/roadmap/#q2-2024","title":"Q2 2024","text":"
    • \u63d0\u4f9b\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u53ca\u4fbf\u6377\u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u6a21\u5757\u751f\u6210\u65b9\u5f0f
    • \u4e0d\u540c\u8282\u70b9\u89c4\u6a21\u96c6\u7fa4\u90e8\u7f72\u7684\u5bb9\u91cf\u89c4\u5212
    • \u63d0\u4f9b\u5b8c\u6574\u7684\u79bb\u7ebf\u8d44\u6e90\u7ba1\u7406\u65b9\u6848
    • \u652f\u6301\u591a\u79cd\u751f\u547d\u5468\u671f\u7ba1\u7406\u5f15\u64ce\uff0c\u6bd4\u5982kubespray\u3001kubekey
    • \u652f\u6301\u57fa\u4e8e ostree \u7684\u96c6\u7fa4\u64cd\u4f5c\u56de\u6eda
    "},{"location":"releases/artifacts/","title":"Artifacts","text":""},{"location":"releases/artifacts/#release-224","title":"\u25b6\ufe0f release-2.24","text":"

    \u2693 kube_version range: [ v1.26.0 ~ v1.29.1 ]

    Commit Date Artifacts \ud83d\udcc5 2024-07-29 07:00:34 \ud83d\udcdd manifest-2.24-1688e05.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-1688e05 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-1688e05 \ud83d\udcc5 2024-06-11 07:55:11 \ud83d\udcdd manifest-2.24-5377247.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-5377247 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-5377247 \ud83d\udcc5 2024-03-07 15:59:09 \ud83d\udcdd manifest-2.24-bc6bd21.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-bc6bd21 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-bc6bd21"},{"location":"releases/artifacts/#release-222","title":"\u25b6\ufe0f release-2.22","text":"

    \u2693 kube_version range: [ v1.24.0 ~ v1.26.13 ]

    Commit Date Artifacts \ud83d\udcc5 2024-02-07 19:59:36 \ud83d\udcdd manifest-2.22-71b6fa1.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-71b6fa1 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-71b6fa1 \ud83d\udcc5 2024-01-22 16:23:42 \ud83d\udcdd manifest-2.22-d8a8fb0.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-d8a8fb0 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-d8a8fb0 \ud83d\udcc5 2024-01-11 13:59:56 \ud83d\udcdd manifest-2.22-774d824.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-774d824 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-774d824"},{"location":"releases/artifacts/#release-223","title":"\u25b6\ufe0f release-2.23","text":"

    \u2693 kube_version range: [ v1.25.0 ~ v1.27.10 ]

    Commit Date Artifacts \ud83d\udcc5 2024-05-03 09:20:40 \ud83d\udcdd manifest-2.23-e5fc8a9.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-e5fc8a9 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-e5fc8a9 \ud83d\udcc5 2024-02-06 14:06:16 \ud83d\udcdd manifest-2.23-07e19e5.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-07e19e5 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-07e19e5 \ud83d\udcc5 2023-12-13 10:30:18 \ud83d\udcdd manifest-2.23-e4be213.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-e4be213 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-e4be213"},{"location":"releases/artifacts/#release-221","title":"\u25b6\ufe0f release-2.21","text":"

    \u2693 kube_version range: [ v1.23.0 ~ v1.25.6 ]

    Commit Date Artifacts \ud83d\udcc5 2024-01-22 16:13:31 \ud83d\udcdd manifest-2.21-e86c0cf.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.21-e86c0cf \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.21-e86c0cf \ud83d\udcc5 2024-01-12 07:28:51 \ud83d\udcdd manifest-2.21-e4ac3ab.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.21-e4ac3ab \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.21-e4ac3ab"},{"location":"releases/artifacts/#release-225","title":"\u25b6\ufe0f release-2.25","text":"

    \u2693 kube_version range: [ v1.27.0 ~ v1.29.5 ]

    Commit Date Artifacts \ud83d\udcc5 2024-07-15 06:11:10 \ud83d\udcdd manifest-2.25-462e68b.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.25-462e68b \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.25-462e68b"},{"location":"releases/v0.10.0/","title":"V0.10.0","text":""},{"location":"releases/v0.10.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.10.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • sync chart to release.daocloud.io by @hangscer8 in https://github.com/kubean-io/kubean/pull/991
    • fix upload charts to release.daocloud.io by @hangscer8 in https://github.com/kubean-io/kubean/pull/992
    • Change image artifact to OCI format by @tu1h in https://github.com/kubean-io/kubean/pull/996
    • Optimize file handle logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/998
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/997
    • Optimize file import logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/1000
    • Allow etcd hosts in some playbooks by @tu1h in https://github.com/kubean-io/kubean/pull/1001
    • Allow etcd hosts in playbook remove-pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/1002
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1003
    • spray artifact patch by @tu1h in https://github.com/kubean-io/kubean/pull/1005
    • Fix kubespray image build compatibility by @tu1h in https://github.com/kubean-io/kubean/pull/1006
    • Update airgap patch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1004
    • make kubespray download files compatible by @tu1h in https://github.com/kubean-io/kubean/pull/1007
    • Fixing airgap-patch image build issues by @ErikJiang in https://github.com/kubean-io/kubean/pull/1008
    • fix upload assets greater than 2 GiB issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1009

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.3...v0.10.0

    "},{"location":"releases/v0.11.0/","title":"V0.11.0","text":""},{"location":"releases/v0.11.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-qemu-action from 2 to 3 by @dependabot in https://github.com/kubean-io/kubean/pull/1019
    • Bump mikefarah/yq from 4.33.3 to 4.40.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1018
    • Bump docker/build-push-action from 4.1.1 to 5.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1017
    • Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1016
    • Bump docker/login-action from 2 to 3 by @dependabot in https://github.com/kubean-io/kubean/pull/1015
    • Bump docker/setup-buildx-action from 2.7.0 to 3.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1028
    • Bump mikefarah/yq from 4.40.2 to 4.40.4 by @dependabot in https://github.com/kubean-io/kubean/pull/1041
    • Bump actions/labeler from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1042
    • Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1046
    • Bump mikefarah/yq from 4.40.4 to 4.40.5 by @dependabot in https://github.com/kubean-io/kubean/pull/1052
    • Bump actions/setup-go from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1047
    "},{"location":"releases/v0.11.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add kubespray commit timestamp by @ErikJiang in https://github.com/kubean-io/kubean/pull/1010
    • clean debug info for manual CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1011
    • update kubespray artifact patch CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1012
    • fix rebuild kubespray image issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1013
    • clean manifest dir by @ErikJiang in https://github.com/kubean-io/kubean/pull/1014
    • update artifact patch md by @ErikJiang in https://github.com/kubean-io/kubean/pull/1024
    • Revert \"Bump actions/checkout from 3 to 4\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1026
    • Refactor controllers of Manifest and Localartifact by @tu1h in https://github.com/kubean-io/kubean/pull/1025
    • update airgap patch docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1029
    • fix airgap dockerfile issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1030
    • Enhancement log print by @tu1h in https://github.com/kubean-io/kubean/pull/1032
    • Fix bump version failed by @Rei1010 in https://github.com/kubean-io/kubean/pull/1035
    • Optimize manifest lookup overhead by @tu1h in https://github.com/kubean-io/kubean/pull/1036
    • Add unit test by @tu1h in https://github.com/kubean-io/kubean/pull/1038
    • Refactor import images script to support merge multi-platform image by @tu1h in https://github.com/kubean-io/kubean/pull/1040
    • Allows using the airgap patch script to generate full offline packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1033
    • refine airgap demo by @ErikJiang in https://github.com/kubean-io/kubean/pull/1043
    • Fix e2e failure since incompatible image-importing script by @tu1h in https://github.com/kubean-io/kubean/pull/1044
    • Update CNCF image in README by @tu1h in https://github.com/kubean-io/kubean/pull/1048
    • Fix nop-copy in code generation by @tu1h in https://github.com/kubean-io/kubean/pull/1051
    • Fix upstream breaking-change #10626 by @tu1h in https://github.com/kubean-io/kubean/pull/1050
    • Revert \"Bump actions/setup-go from 4 to 5\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1053
    • update kubespray commit by @ErikJiang in https://github.com/kubean-io/kubean/pull/1045

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.10.0...v0.11.0

    "},{"location":"releases/v0.11.1/","title":"V0.11.1","text":""},{"location":"releases/v0.11.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add unit test cases by @tu1h in https://github.com/kubean-io/kubean/pull/1061
    • Adjust support matrix permission by @Rei1010 in https://github.com/kubean-io/kubean/pull/1063
    • set default flag for airgap full mode by @ErikJiang in https://github.com/kubean-io/kubean/pull/1064

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.0...v0.11.1

    "},{"location":"releases/v0.11.2/","title":"V0.11.2","text":""},{"location":"releases/v0.11.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1065
    • Fix e2e when upgrade cluster by @tu1h in https://github.com/kubean-io/kubean/pull/1066
    • Restore image address by @ErikJiang in https://github.com/kubean-io/kubean/pull/1067
    • update binaries url by @ErikJiang in https://github.com/kubean-io/kubean/pull/1068
    • clear old airgap data in dockerfile by @ErikJiang in https://github.com/kubean-io/kubean/pull/1069
    • update airgap scripts by @ErikJiang in https://github.com/kubean-io/kubean/pull/1070
    • update release latest status by @ErikJiang in https://github.com/kubean-io/kubean/pull/1071

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.1...v0.11.2

    "},{"location":"releases/v0.12.0/","title":"V0.12.0","text":""},{"location":"releases/v0.12.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Remove building and uses of kubespray latest tag by @tu1h in https://github.com/kubean-io/kubean/pull/1073
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1072
    • Get correct kubespray version in e2e by @tu1h in https://github.com/kubean-io/kubean/pull/1074
    • Add playbook for kube-vip configuration by @tu1h in https://github.com/kubean-io/kubean/pull/1075
    • Improve execution efficiency for precheck playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1076
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1077

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.2...v0.12.0

    "},{"location":"releases/v0.12.1/","title":"V0.12.1","text":""},{"location":"releases/v0.12.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • get pause image tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/1080
    • Optimize clusteroperation reconcile by @tu1h in https://github.com/kubean-io/kubean/pull/1082
    • Add new playbook into whitelist by @tu1h in https://github.com/kubean-io/kubean/pull/1081
    • [zh-cn] update offline build script describe by @my-git9 in https://github.com/kubean-io/kubean/pull/1062
    • Patch for #1076 - cancel gather fact in playbook level by @tu1h in https://github.com/kubean-io/kubean/pull/1083
    • Fix coredns image version mismatch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1084
    • fixed crictl binary version mismatch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1085
    • update denpendencies url by @ErikJiang in https://github.com/kubean-io/kubean/pull/1086
    • add project for harbor by @ErikJiang in https://github.com/kubean-io/kubean/pull/1087
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1088

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.0...v0.12.1

    "},{"location":"releases/v0.12.2/","title":"V0.12.2","text":""},{"location":"releases/v0.12.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Fix verify Kubespray e2e by @tu1h in https://github.com/kubean-io/kubean/pull/1094
    • Fix verify Kubespray e2e in cluster reset step by @tu1h in https://github.com/kubean-io/kubean/pull/1095
    • migrate old version localArtifactSet by @ErikJiang in https://github.com/kubean-io/kubean/pull/1096
    • enhance quick start gif by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1098
    • add podman for offline e2e by @ErikJiang in https://github.com/kubean-io/kubean/pull/1099
    • fix missing version_lt function by @ErikJiang in https://github.com/kubean-io/kubean/pull/1100
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1078
    • Refine kube vip playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1101

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.1...v0.12.2

    "},{"location":"releases/v0.12.3/","title":"V0.12.3","text":""},{"location":"releases/v0.12.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [cherry-pick] Add Rockylinux support by @tu1h in https://github.com/kubean-io/kubean/pull/1129

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.2...v0.12.3

    "},{"location":"releases/v0.13.0/","title":"V0.13.0","text":""},{"location":"releases/v0.13.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Unrestrict kubeproxy mode for kubevip playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1106
    • update spray version to 0dbde75 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1107
    • remove cd step in release ci and change workflows name by @ErikJiang in https://github.com/kubean-io/kubean/pull/1105

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.2...v0.13.0

    "},{"location":"releases/v0.13.1/","title":"V0.13.1","text":""},{"location":"releases/v0.13.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.27.6 to 1.31.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1091
    • Bump actions/cache from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1089
    • Bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1057
    • Bump actions/download-artifact from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1056
    "},{"location":"releases/v0.13.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add Rockylinux 9 support by @tu1h in https://github.com/kubean-io/kubean/pull/1104
    • Bump default E2E Kubernetes version by @Rei1010 in https://github.com/kubean-io/kubean/pull/1108
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1102
    • Revert \"Bump github.com/onsi/gomega from 1.27.6 to 1.31.1\" by @tu1h in https://github.com/kubean-io/kubean/pull/1109
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1112
    • add concurrency policy for PR CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1113

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.0...v0.13.1

    "},{"location":"releases/v0.13.10/","title":"V0.13.10","text":""},{"location":"releases/v0.13.10/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.10/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1197
    • Bump peaceiris/actions-gh-pages from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1200
    "},{"location":"releases/v0.13.10/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1193
    • Reconstruct the daily e2e test structure and add automatic retry of e2e tests by @FloatXD in https://github.com/kubean-io/kubean/pull/1194
    • add panpan0000 as maintainer. by @panpan0000 in https://github.com/kubean-io/kubean/pull/1196
    • update roadmap for Q2 2024 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1195
    • update sonobouy_e2e CONTAINER_TAG by @FloatXD in https://github.com/kubean-io/kubean/pull/1198
    • Update README.md by @wawa0210 in https://github.com/kubean-io/kubean/pull/1199
    • rollback kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1202
    "},{"location":"releases/v0.13.10/#new-contributors","title":"New Contributors","text":"
    • @FloatXD made their first contribution in https://github.com/kubean-io/kubean/pull/1194

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.14.0...v0.13.10

    "},{"location":"releases/v0.13.11/","title":"V0.13.11","text":""},{"location":"releases/v0.13.11/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.11/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1203
    • Support multi-arch for Ubuntu ospkg by @tu1h in https://github.com/kubean-io/kubean/pull/1204
    • Update MAINTAINERS by @tu1h in https://github.com/kubean-io/kubean/pull/1205

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.10...v0.13.11

    "},{"location":"releases/v0.13.2/","title":"V0.13.2","text":""},{"location":"releases/v0.13.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1115
    • add stale workflow by @ErikJiang in https://github.com/kubean-io/kubean/pull/1116
    • Remove kubectl get version option by @Rei1010 in https://github.com/kubean-io/kubean/pull/1117
    • Bump offline E2E Kubernetes version by @Rei1010 in https://github.com/kubean-io/kubean/pull/1122
    • Bump offline E2E Kubernetes version to 1.27.5 by @Rei1010 in https://github.com/kubean-io/kubean/pull/1128
    • Enhance Kubean chart helper template by @tu1h in https://github.com/kubean-io/kubean/pull/1132
    • Bump docker-containerd to 1.6.28 for ospkgs by @tu1h in https://github.com/kubean-io/kubean/pull/1131
    • Correct the downloads info generation by @tu1h in https://github.com/kubean-io/kubean/pull/1134
    • fix kube_version empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/1136
    • update verify tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/1137

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.1...v0.13.2

    "},{"location":"releases/v0.13.3/","title":"V0.13.3","text":""},{"location":"releases/v0.13.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix empty images list file by @ErikJiang in https://github.com/kubean-io/kubean/pull/1138

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.2...v0.13.3

    "},{"location":"releases/v0.13.4/","title":"V0.13.4","text":""},{"location":"releases/v0.13.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.4/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.40.5 to 4.42.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1135
    • Bump docker/setup-buildx-action from 3.0.0 to 3.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1141
    "},{"location":"releases/v0.13.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add runc component version info by @ErikJiang in https://github.com/kubean-io/kubean/pull/1139
    • add runc key in template by @ErikJiang in https://github.com/kubean-io/kubean/pull/1140
    • Bump Offline E2E by @Rei1010 in https://github.com/kubean-io/kubean/pull/1133
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1130
    • Fix E2E Failure by @Rei1010 in https://github.com/kubean-io/kubean/pull/1143
    • remove pause version function by @ErikJiang in https://github.com/kubean-io/kubean/pull/1144
    • Remove etcd from optional component version information by @ErikJiang in https://github.com/kubean-io/kubean/pull/1146
    • add docker version 24.0 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1145
    • Remove etcd version multi-select information from custom resources by @ErikJiang in https://github.com/kubean-io/kubean/pull/1147
    • Fix container-selinux version for redhat8 by @tu1h in https://github.com/kubean-io/kubean/pull/1148

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.3...v0.13.4

    "},{"location":"releases/v0.13.5/","title":"V0.13.5","text":""},{"location":"releases/v0.13.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.5/#new-features","title":"\u2728 New Features","text":"
    • refactoring custom resource generate script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1152
    "},{"location":"releases/v0.13.5/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump softprops/action-gh-release from 1 to 2 by @dependabot in https://github.com/kubean-io/kubean/pull/1155
    • Bump docker/build-push-action from 5.1.0 to 5.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1154
    • Bump golangci/golangci-lint-action from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1120
    • Bump peter-evans/create-pull-request from 5 to 6 by @dependabot in https://github.com/kubean-io/kubean/pull/1111
    "},{"location":"releases/v0.13.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix artifacts kube_version_range by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1150
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1149
    • clean unused files by @ErikJiang in https://github.com/kubean-io/kubean/pull/1153
    • fix docker-ce-cli version in ubuntu2004 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1157

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.4...v0.13.5

    "},{"location":"releases/v0.13.6/","title":"V0.13.6","text":""},{"location":"releases/v0.13.6/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.6/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 5.2.0 to 5.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1162
    • Bump docker/setup-buildx-action from 3.1.0 to 3.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1161
    "},{"location":"releases/v0.13.6/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1159
    • fix docker-ce-cli version in ubuntu18.04 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1158
    • fresh package list when build os pkgs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1160
    • add debug script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1163
    • Precheck if docker is running by @tu1h in https://github.com/kubean-io/kubean/pull/1164
    • Add playbook to config insecure registry by @tu1h in https://github.com/kubean-io/kubean/pull/1170
    • Add playbook to enable nf_conntrack by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1171

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.5...v0.13.6

    "},{"location":"releases/v0.13.7/","title":"V0.13.7","text":""},{"location":"releases/v0.13.7/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.7/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix missing lib file in arm-arch container by @ErikJiang in https://github.com/kubean-io/kubean/pull/1173
    • fix kube version rendering error by @ErikJiang in https://github.com/kubean-io/kubean/pull/1174

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.6...v0.13.7

    "},{"location":"releases/v0.13.8/","title":"V0.13.8","text":""},{"location":"releases/v0.13.8/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.8/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix build ubuntu os-pkg: lack unzip pkg by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1175

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.7...v0.13.8

    "},{"location":"releases/v0.13.9/","title":"V0.13.9","text":""},{"location":"releases/v0.13.9/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.9/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Make the python version determined in config-insecure-registry.yml by @tu1h in https://github.com/kubean-io/kubean/pull/1176
    • enable live restore for docker by @tu1h in https://github.com/kubean-io/kubean/pull/1178
    • fix build os-pkg for ubuntu2004: set containerd to 1.6.28-1 when install docker by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1177
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1172

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.8...v0.13.9

    "},{"location":"releases/v0.14.0/","title":"V0.14.0","text":""},{"location":"releases/v0.14.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.14.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.42.1 to 4.43.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1182
    "},{"location":"releases/v0.14.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • playbook: mount xfs device with pquota option by @ErikJiang in https://github.com/kubean-io/kubean/pull/1179
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1180
    • add ut by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1183
    • Chore: update chart readme by @yyzxw in https://github.com/kubean-io/kubean/pull/1186
    • clear coverage temp file by @ErikJiang in https://github.com/kubean-io/kubean/pull/1188
    • coverage spelling mistake by @ErikJiang in https://github.com/kubean-io/kubean/pull/1189
    • add ut by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1187
    • add release version 2.24 for artifact doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/1190
    • change spray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1191
    • Bump python version for offline build github action by @tu1h in https://github.com/kubean-io/kubean/pull/1192

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.9...v0.14.0

    "},{"location":"releases/v0.15.0/","title":"V0.15.0","text":""},{"location":"releases/v0.15.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump golangci/golangci-lint-action from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1213
    "},{"location":"releases/v0.15.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • load kubeconfig filepath when load rest config fail by @HeavenTonight in https://github.com/kubean-io/kubean/pull/1201
    • fix: makefile error by @yyzxw in https://github.com/kubean-io/kubean/pull/1215
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1206
    • add other info for docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1219
    • Add license scan report and status by @fossabot in https://github.com/kubean-io/kubean/pull/1218
    • Update README and GOVERNANCE md by @tu1h in https://github.com/kubean-io/kubean/pull/1220
    • Support for Ubuntu jammy by @tu1h in https://github.com/kubean-io/kubean/pull/1221
    • [docs] Improve usage/airgap.md by @windsonsea in https://github.com/kubean-io/kubean/pull/1223
    • optimized pkg_mgr patch logic by @ErikJiang in https://github.com/kubean-io/kubean/pull/1222
    • fix CVE-2023-24538 vulnerabilities in spray image by @ErikJiang in https://github.com/kubean-io/kubean/pull/1225
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1216
    "},{"location":"releases/v0.15.0/#new-contributors","title":"New Contributors","text":"
    • @HeavenTonight made their first contribution in https://github.com/kubean-io/kubean/pull/1201
    • @fossabot made their first contribution in https://github.com/kubean-io/kubean/pull/1218

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.11...v0.15.0

    "},{"location":"releases/v0.15.1/","title":"V0.15.1","text":""},{"location":"releases/v0.15.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump golangci/golangci-lint-action from 5 to 6 by @dependabot in https://github.com/kubean-io/kubean/pull/1226
    "},{"location":"releases/v0.15.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1227
    • Modify Kubespray CI's rebuild logic for image building by @ErikJiang in https://github.com/kubean-io/kubean/pull/1229
    • fix get dockerfile commit is empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/1230
    • add dockerfile commit outputs var by @ErikJiang in https://github.com/kubean-io/kubean/pull/1231
    • Remove quotes from Dockerfile commit values in image building CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1232
    • Bump Kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1233

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.0...v0.15.1

    "},{"location":"releases/v0.15.2/","title":"V0.15.2","text":""},{"location":"releases/v0.15.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1234
    • add sha256sum file to release assets by @ErikJiang in https://github.com/kubean-io/kubean/pull/1236
    • update the image: kubean architecture by @windsonsea in https://github.com/kubean-io/kubean/pull/1235
    • Update en and zh README by @windsonsea in https://github.com/kubean-io/kubean/pull/1228
    • update fossa badge for readme by @ErikJiang in https://github.com/kubean-io/kubean/pull/1238
    • Supplement centos in os pkgs matrix by @ErikJiang in https://github.com/kubean-io/kubean/pull/1240

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.1...v0.15.2

    "},{"location":"releases/v0.15.3/","title":"V0.15.3","text":""},{"location":"releases/v0.15.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.3/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.43.1 to 4.44.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1242
    • Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1246
    • Bump github.com/go-logr/logr from 1.2.4 to 1.4.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1247
    "},{"location":"releases/v0.15.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add checksum in the download script by @FloatXD in https://github.com/kubean-io/kubean/pull/1237
    • fix util download_resource_files by @FloatXD in https://github.com/kubean-io/kubean/pull/1248
    • Fix invalid use of klog format specifier by @tu1h in https://github.com/kubean-io/kubean/pull/1249
    • Fix incorrect e2e assert by @tu1h in https://github.com/kubean-io/kubean/pull/1251
    • update default kube_version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1250

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.2...v0.15.3

    "},{"location":"releases/v0.16.0/","title":"V0.16.0","text":""},{"location":"releases/v0.16.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/go-logr/logr from 1.4.1 to 1.4.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1263
    • Bump docker/build-push-action from 5.3.0 to 5.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1266
    • Bump github.com/onsi/ginkgo/v2 from 2.9.4 to 2.19.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1267
    "},{"location":"releases/v0.16.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1252
    • streamlined remote access with ssh key mode for other linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/1253
    • update KUBE_VERSION in e2e_test by @FloatXD in https://github.com/kubean-io/kubean/pull/1258
    • update offline e2e kube verison by @FloatXD in https://github.com/kubean-io/kubean/pull/1259
    • update e2e kube verison by @FloatXD in https://github.com/kubean-io/kubean/pull/1260
    • Remove kubectl get version option by @FloatXD in https://github.com/kubean-io/kubean/pull/1262
    • bump kube_version to v1.29 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1268
    • add docker 26.1 to os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1269
    • update rhel8 os package by @ErikJiang in https://github.com/kubean-io/kubean/pull/1270

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.3...v0.16.0

    "},{"location":"releases/v0.16.1/","title":"V0.16.1","text":""},{"location":"releases/v0.16.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1271
    • update e2e kube verison to v1.29.0 by @FloatXD in https://github.com/kubean-io/kubean/pull/1272
    • Add playbook to set containerd registry mirrors by @tu1h in https://github.com/kubean-io/kubean/pull/1273
    • Refine playbook set_containerd_registry_mirror by @tu1h in https://github.com/kubean-io/kubean/pull/1274

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.0...v0.16.1

    "},{"location":"releases/v0.16.2/","title":"V0.16.2","text":""},{"location":"releases/v0.16.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.1 to 4.44.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1282
    • Bump docker/build-push-action from 5.4.0 to 6.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1281
    • Bump k8s.io/klog/v2 from 2.100.1 to 2.130.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1280
    • Bump github.com/spf13/cobra from 1.8.0 to 1.8.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1276
    "},{"location":"releases/v0.16.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1275
    • Support disable kernel unattended upgrades for Ubuntu by @tu1h in https://github.com/kubean-io/kubean/pull/1283
    • Fix bug of #1283 by @tu1h in https://github.com/kubean-io/kubean/pull/1284

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.1...v0.16.2

    "},{"location":"releases/v0.16.3/","title":"V0.16.3","text":""},{"location":"releases/v0.16.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix kylinv10 containerd version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1286

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.2...v0.16.3

    "},{"location":"releases/v0.17.0/","title":"V0.17.0","text":""},{"location":"releases/v0.17.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.0/#new-features","title":"\u2728 New Features","text":"
    • restart components after renew certs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1295
    • Add ipset & ipvsadm to os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1298
    • fix CVE-2024-24790 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1300
    "},{"location":"releases/v0.17.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.0.0 to 6.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1289
    • Bump k8s.io/klog/v2 from 2.130.0 to 2.130.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1291
    • Bump docker/build-push-action from 6.1.0 to 6.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1293
    • Bump docker/build-push-action from 6.2.0 to 6.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1299
    • Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1301
    "},{"location":"releases/v0.17.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix config error in e2e upgrade test by @FloatXD in https://github.com/kubean-io/kubean/pull/1287
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1285
    • update os-pkg linux list by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1290
    • Simplify kubean download_url format by @ErikJiang in https://github.com/kubean-io/kubean/pull/1294
    • restart control plane pods after renew certs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1297
    • Use orcalelinux7 instead of centos7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1296
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1302

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.3...v0.17.0

    "},{"location":"releases/v0.17.1/","title":"V0.17.1","text":""},{"location":"releases/v0.17.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1303
    • Clean os pkgs for rhel7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1304
    • Add os pkg for kylin v10 sp3 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1305

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.0...v0.17.1

    "},{"location":"releases/v0.17.2/","title":"V0.17.2","text":""},{"location":"releases/v0.17.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • update kylin default docker version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1307
    • Change Docker cgroupDriver to cgroupfs in Kylin SP2 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1308
    • bump docker containerd version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1309
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1306

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.1...v0.17.2

    "},{"location":"releases/v0.17.3/","title":"V0.17.3","text":""},{"location":"releases/v0.17.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.3/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.3.0 to 6.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1311
    "},{"location":"releases/v0.17.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1310
    • update kylin iso repo urls by @ErikJiang in https://github.com/kubean-io/kubean/pull/1312
    • add precheck time info by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1313

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.2...v0.17.3

    "},{"location":"releases/v0.17.4/","title":"V0.17.4","text":""},{"location":"releases/v0.17.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [e2e]fix os repo in arm-offline-e2e by @FloatXD in https://github.com/kubean-io/kubean/pull/1323
    • Bump kubespray to 2d194af by @tu1h in https://github.com/kubean-io/kubean/pull/1324

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.3...v0.17.4

    "},{"location":"releases/v0.17.5/","title":"V0.17.5","text":""},{"location":"releases/v0.17.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • update artifact doc script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1316
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1314
    • Bump kubespray to 86f9803 by @tu1h in https://github.com/kubean-io/kubean/pull/1329

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.4...v0.17.5

    "},{"location":"releases/v0.18.0/","title":"V0.18.0","text":""},{"location":"releases/v0.18.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.4.0 to 3.6.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1328
    • Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1327
    • Bump docker/build-push-action from 6.4.0 to 6.5.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1318
    "},{"location":"releases/v0.18.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [docs] remove $ from only-command to reduce actions by @windsonsea in https://github.com/kubean-io/kubean/pull/1325

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.5...v0.18.0

    "},{"location":"releases/v0.18.1/","title":"V0.18.1","text":""},{"location":"releases/v0.18.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Fix role privilege by @tu1h in https://github.com/kubean-io/kubean/pull/1336

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.0...v0.18.1

    "},{"location":"releases/v0.18.2/","title":"V0.18.2","text":""},{"location":"releases/v0.18.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.5.0 to 6.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1339
    "},{"location":"releases/v0.18.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test]fix network e2e by @FloatXD in https://github.com/kubean-io/kubean/pull/1338
    • Image building enhancement by @tu1h in https://github.com/kubean-io/kubean/pull/1341
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1330

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.1...v0.18.2

    "},{"location":"releases/v0.18.3/","title":"V0.18.3","text":""},{"location":"releases/v0.18.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add SprayJobImageRegistry to kubean-config and update manifest by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1348

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.2...v0.18.3

    "},{"location":"releases/v0.18.4/","title":"V0.18.4","text":""},{"location":"releases/v0.18.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • keep current manifest when helm upgrade kubean by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1349
    • bump kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1350

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.3...v0.18.4

    "},{"location":"releases/v0.18.5/","title":"V0.18.5","text":""},{"location":"releases/v0.18.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix kubean manifest helm keep policy by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1352

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.4...v0.18.5

    "},{"location":"releases/v0.19.0/","title":"V0.19.0","text":""},{"location":"releases/v0.19.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.19.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.2 to 4.44.3 by @dependabot in https://github.com/kubean-io/kubean/pull/1333
    • Bump github.com/onsi/gomega from 1.34.0 to 1.34.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1334
    • Bump k8s.io/apiserver from 0.26.4 to 0.31.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1343
    • Bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1360
    • Bump github.com/onsi/gomega from 1.34.1 to 1.34.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1359
    • Bump peter-evans/create-pull-request from 6 to 7 by @dependabot in https://github.com/kubean-io/kubean/pull/1361
    "},{"location":"releases/v0.19.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix rls version handing in artifacts doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/1351
    • Update gen_artifact_doc.py by @ErikJiang in https://github.com/kubean-io/kubean/pull/1353
    • Support Rocky Linux 8 by @tu1h in https://github.com/kubean-io/kubean/pull/1354
    • Update renew-certs.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/1355
    • [Test]Use ls -l instead of ll by @FloatXD in https://github.com/kubean-io/kubean/pull/1347
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1342
    • Revert \"Bump k8s.io/apiserver from 0.26.4 to 0.31.0\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1357
    • add helm hook to add manifest annotation by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1358
    • update spray commit & kube version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1362

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.5...v0.19.0

    "},{"location":"releases/v0.20.0/","title":"V0.20.0","text":""},{"location":"releases/v0.20.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.20.0/#documentation","title":"\ud83d\udcda Documentation","text":"
    • [test]update Kubean test case by @FloatXD in https://github.com/kubean-io/kubean/pull/1383
    "},{"location":"releases/v0.20.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.6.1 to 3.7.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1382
    • Bump docker/build-push-action from 6.7.0 to 6.9.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1380
    • Bump aquasecurity/trivy-action from 0.20.0 to 0.28.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1385
    "},{"location":"releases/v0.20.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test]update kube_version in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1364
    • [Test]Optimize the retry logic in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1366
    • [Test]Remove check for /proc/sys/net/ipv4/tcp_tw_recycle by @FloatXD in https://github.com/kubean-io/kubean/pull/1367
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1363
    • [Test]update e2e test for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1368
    • [Test]update e2e test for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1369
    • [Test]update e2e test for import rocky8 os-pkg by @FloatXD in https://github.com/kubean-io/kubean/pull/1374
    • [Test]update e2e test for import rocky8 iso_image by @FloatXD in https://github.com/kubean-io/kubean/pull/1375
    • Enable gosec in golangci check by @tu1h in https://github.com/kubean-io/kubean/pull/1377
    • [Test]update e2e test offline_minio_url by @FloatXD in https://github.com/kubean-io/kubean/pull/1376
    • [Test]update offline_e2e kubeanClusterOps.yml by @FloatXD in https://github.com/kubean-io/kubean/pull/1379
    • Enable cert scan by @tu1h in https://github.com/kubean-io/kubean/pull/1378
    • [e2e] add ca auto_renew check in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1384
    • update testcase reference by @emmanuel-ferdman in https://github.com/kubean-io/kubean/pull/1386
    • bump kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1391
    "},{"location":"releases/v0.20.0/#new-contributors","title":"New Contributors","text":"
    • @emmanuel-ferdman made their first contribution in https://github.com/kubean-io/kubean/pull/1386

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.19.0...v0.20.0

    "},{"location":"releases/v0.21.0/","title":"V0.21.0","text":""},{"location":"releases/v0.21.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.21.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/ginkgo/v2 from 2.20.2 to 2.21.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1395
    "},{"location":"releases/v0.21.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test] Remove centos7 from the test list by @FloatXD in https://github.com/kubean-io/kubean/pull/1393
    • [Test]Replacement check items for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1394
    • [Test] Replace the centos7 test label with rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1396
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1392
    • optimize tool scripts for other os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1398

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.20.0...v0.21.0

    "},{"location":"releases/v0.21.1/","title":"V0.21.1","text":""},{"location":"releases/v0.21.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.21.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.34.2 to 1.35.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1402
    "},{"location":"releases/v0.21.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI] Add support list in release notes markdown by @FloatXD in https://github.com/kubean-io/kubean/pull/1401
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1399
    • [Test] Upgrade k8s version to 1.30.5 by @FloatXD in https://github.com/kubean-io/kubean/pull/1403
    • [Test] Fixed the issue that rocky8 cannot select the correct kubeanClusterOps.yml in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1405
    • add nfs client tools in os-packages by @san3Xian in https://github.com/kubean-io/kubean/pull/1404
    • Update Maintainer by @0ekk in https://github.com/kubean-io/kubean/pull/1406
    • Bump Kubespray by @0ekk in https://github.com/kubean-io/kubean/pull/1407
    "},{"location":"releases/v0.21.1/#new-contributors","title":"New Contributors","text":"
    • @san3Xian made their first contribution in https://github.com/kubean-io/kubean/pull/1404

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.21.0...v0.21.1 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.22.0/","title":"V0.22.0","text":""},{"location":"releases/v0.22.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump aquasecurity/trivy-action from 0.28.0 to 0.29.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1412
    • Bump mikefarah/yq from 4.44.3 to 4.44.5 by @dependabot in https://github.com/kubean-io/kubean/pull/1410
    • Bump github.com/onsi/ginkgo/v2 from 2.21.0 to 2.22.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1417
    • Bump docker/build-push-action from 6.9.0 to 6.10.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1422
    • Bump github.com/onsi/gomega from 1.35.1 to 1.36.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1425
    "},{"location":"releases/v0.22.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI] Add support list in release notes body by @FloatXD in https://github.com/kubean-io/kubean/pull/1409
    • [Test]Optimize the generation method of rocky-kubeanclusterops by @FloatXD in https://github.com/kubean-io/kubean/pull/1413
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1408
    • [doc]Fix the incorrect Default Kubernetes Version by @FloatXD in https://github.com/kubean-io/kubean/pull/1414
    • [Test]Update the Cluster Type in calicoctl version to v3.28.1 by @FloatXD in https://github.com/kubean-io/kubean/pull/1415
    • [Test]Remove redundant operations on kubeanClusterOps.yml by @FloatXD in https://github.com/kubean-io/kubean/pull/1421
    • clear redundant log info by @ErikJiang in https://github.com/kubean-io/kubean/pull/1426
    • bump kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1427
    • fix set secret OwnerReferences by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1424
    • fix latest tag invaild in release action by @ErikJiang in https://github.com/kubean-io/kubean/pull/1428

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.21.1...v0.22.0 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | null | null|

    "},{"location":"releases/v0.22.1/","title":"V0.22.1","text":""},{"location":"releases/v0.22.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.5 to 4.44.6 by @dependabot in https://github.com/kubean-io/kubean/pull/1431
    "},{"location":"releases/v0.22.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI]Added the function of judging whether curl successfully obtains manifest.cr.yaml by @FloatXD in https://github.com/kubean-io/kubean/pull/1430
    • fix: airgap package build doesn't exit on error by @ErikJiang in https://github.com/kubean-io/kubean/pull/1435

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.0...v0.22.1 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | 'v1.31.3' \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.7' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.11' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.22.2/","title":"V0.22.2","text":""},{"location":"releases/v0.22.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.36.0 to 1.36.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1443
    • Bump docker/setup-buildx-action from 3.7.1 to 3.8.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1438
    "},{"location":"releases/v0.22.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1436
    • Allow run playbook facts.yml in Kubean by @0ekk in https://github.com/kubean-io/kubean/pull/1444
    • [Test]Before using --limit run playbook facts.yml in test by @FloatXD in https://github.com/kubean-io/kubean/pull/1433

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.1...v0.22.2 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | 'v1.31.3' \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.7' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.11' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.4.0/","title":"V0.4.0","text":""},{"location":"releases/v0.4.0/#whats-changed","title":"What's Changed","text":"
    • update docker os-pkg version by @hangscer8 in https://github.com/kubean-io/kubean/pull/262
    • cluster info with more retry time by @hangscer8 in https://github.com/kubean-io/kubean/pull/261
    • Manifest crd support multi image repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/266
    • update kubespray default version to v1.24.7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/272
    • Disable cn proxy sources to improve kubean image build efficiency by @ErikJiang in https://github.com/kubean-io/kubean/pull/273
    • fix e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/267
    • add dasu23 into approvers by @YunShiHang in https://github.com/kubean-io/kubean/pull/275
    • Update offline doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/276
    • Fix temporary version tag issues by @YunShiHang in https://github.com/kubean-io/kubean/pull/281
    • add version constraints of dependencies in offline case by @tu1h in https://github.com/kubean-io/kubean/pull/274
    • [chroe] Improve the install trivy method by @SSmallMonster in https://github.com/kubean-io/kubean/pull/282
    • add certificated logo by @wenting-guo in https://github.com/kubean-io/kubean/pull/284
    • adjust generate_offline_package to multi harbor projects by @hangscer8 in https://github.com/kubean-io/kubean/pull/285
    • Unified k8s version by @ErikJiang in https://github.com/kubean-io/kubean/pull/286
    • Update README badge by @ErikJiang in https://github.com/kubean-io/kubean/pull/287
    • Add Dockerfile for airgap-patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/289
    • Add os package for ubuntu by @ErikJiang in https://github.com/kubean-io/kubean/pull/291
    • rename ansible_ssh_pass to ansible_password by @tu1h in https://github.com/kubean-io/kubean/pull/290
    • rename doc folder to docs by @tu1h in https://github.com/kubean-io/kubean/pull/293
    • Add Doc For Airgap Patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/294
    • fix pr e2e fail by @wenting-guo in https://github.com/kubean-io/kubean/pull/288
    • Support restore yum repo in enable-repo.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/298
    • update & add some docs by @tu1h in https://github.com/kubean-io/kubean/pull/299
    • Add documentation for deploying clusters with ssh secret keys by @ErikJiang in https://github.com/kubean-io/kubean/pull/302
    • Update doc for deploy cluster with ssh key by @ErikJiang in https://github.com/kubean-io/kubean/pull/306
    • Add auto release notes ci by @YunShiHang in https://github.com/kubean-io/kubean/pull/309
    • add os compatibility e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/310
    • fix checkout repository bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/311
    • add unit test by @hangscer8 in https://github.com/kubean-io/kubean/pull/314
    • chore: add ut by @yyzxw in https://github.com/kubean-io/kubean/pull/313
    • fix airgap patch mod by @hangscer8 in https://github.com/kubean-io/kubean/pull/315
    • import_iso support kylin v10 sp2 by @hangscer8 in https://github.com/kubean-io/kubean/pull/316
    • Translation of kubean documents (issue305) by @yulng in https://github.com/kubean-io/kubean/pull/307
    • upgrade kind version to 1.25.3 by @wenting-guo in https://github.com/kubean-io/kubean/pull/312
    • [CI]add incremental packages by @YunShiHang in https://github.com/kubean-io/kubean/pull/317
    • Update os_family for kylin in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/318
    • Add os packages for kylin linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/321
    • Update os packages for kylin linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/324
    • Update the absolute path of the command in playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/326
    • Offline adapation for RHEL 8.4 by @tu1h in https://github.com/kubean-io/kubean/pull/325
    • fix Dockerfile.redhat8 by @tu1h in https://github.com/kubean-io/kubean/pull/327
    • v0.4.1 Pre-release version by @ErikJiang in https://github.com/kubean-io/kubean/pull/329
    "},{"location":"releases/v0.4.0/#new-contributors","title":"New Contributors","text":"
    • @tu1h made their first contribution in https://github.com/kubean-io/kubean/pull/274
    • @SSmallMonster made their first contribution in https://github.com/kubean-io/kubean/pull/282
    • @yulng made their first contribution in https://github.com/kubean-io/kubean/pull/307

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.3.7...v0.4.0

    "},{"location":"releases/v0.4.1/","title":"V0.4.1","text":""},{"location":"releases/v0.4.1/#whats-changed","title":"What's Changed","text":"
    • Fix import_iso.sh by @tu1h in https://github.com/kubean-io/kubean/pull/330
    • specify k8s version by @ErikJiang in https://github.com/kubean-io/kubean/pull/331
    • Fix kylin linux offline deployment python3-libselinux dependency issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/332
    • translate sshkey_deploy_cluster.md by @Michelle951 in https://github.com/kubean-io/kubean/pull/323
    • translate comparisons.md by @Michelle951 in https://github.com/kubean-io/kubean/pull/322
    • translate crds.md to en by @Michelle951 in https://github.com/kubean-io/kubean/pull/320
    • update packages.yml for kylin os by @ErikJiang in https://github.com/kubean-io/kubean/pull/335
    • fix test by @hangscer8 in https://github.com/kubean-io/kubean/pull/334
    • add release-process.md by @hangscer8 in https://github.com/kubean-io/kubean/pull/333
    • Fix released image tag overrided by @tu1h in https://github.com/kubean-io/kubean/pull/336
    • add offline-e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/341
    • fix offline e2e workflow file by @wenting-guo in https://github.com/kubean-io/kubean/pull/342
    • chart: namespace should go with release by @weizhoublue in https://github.com/kubean-io/kubean/pull/337
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/343
    • Fix template rendering failure by @tu1h in https://github.com/kubean-io/kubean/pull/338
    • fix offline workflow by @wenting-guo in https://github.com/kubean-io/kubean/pull/344
    • fix offline shell by @wenting-guo in https://github.com/kubean-io/kubean/pull/345
    • update airgap_patch image tag in doc by @hangscer8 in https://github.com/kubean-io/kubean/pull/349
    • oprimize offline shell by @wenting-guo in https://github.com/kubean-io/kubean/pull/369
    • optimize logs output by @hangscer8 in https://github.com/kubean-io/kubean/pull/362
    • Optimize kubeanoperation spec.image tag by @hangscer8 in https://github.com/kubean-io/kubean/pull/371
    • shihang.yun-fix-cd-bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/374
    • shihang.yun-optimize-input by @YunShiHang in https://github.com/kubean-io/kubean/pull/375
    • fix cd image tag's bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/376
    • use kube-vip first by @hangscer8 in https://github.com/kubean-io/kubean/pull/379
    • fix kubeconfig playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/380
    • Reduce kubespray image size by @tu1h in https://github.com/kubean-io/kubean/pull/382
    • allow custom kubean image repo in cd by @tu1h in https://github.com/kubean-io/kubean/pull/372
    • fix arm image build failure by @tu1h in https://github.com/kubean-io/kubean/pull/384
    • fix airgap-patch image build failure by @tu1h in https://github.com/kubean-io/kubean/pull/385
    • Remove libselinux from os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/386
    • Fix local Service yum repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/387
    • optimize offline-e2e environment set by @wenting-guo in https://github.com/kubean-io/kubean/pull/389
    • add rhel7 ospkg by @tu1h in https://github.com/kubean-io/kubean/pull/390
    • Check if the OS package needs to be rebuilt by @ErikJiang in https://github.com/kubean-io/kubean/pull/391
    • Update get latest tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/393
    • Ready for release version v0.4.1 by @ErikJiang in https://github.com/kubean-io/kubean/pull/394
    "},{"location":"releases/v0.4.1/#new-contributors","title":"New Contributors","text":"
    • @Michelle951 made their first contribution in https://github.com/kubean-io/kubean/pull/323
    • @weizhoublue made their first contribution in https://github.com/kubean-io/kubean/pull/337

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.0...v0.4.1

    "},{"location":"releases/v0.4.10/","title":"V0.4.10","text":""},{"location":"releases/v0.4.10/#whats-changed","title":"What's Changed","text":"
    • update redaht8 related e2e case by @wenting-guo in https://github.com/kubean-io/kubean/pull/654
    • fix: ignore actionSourceRef not set by @jonyhy96 in https://github.com/kubean-io/kubean/pull/666
    • optimize generate crds by @hangscer8 in https://github.com/kubean-io/kubean/pull/667
    • add UT by @hangscer8 in https://github.com/kubean-io/kubean/pull/670
    • kubean install on none kubean-system ns e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/672
    • fix speedup offline package by @wenting-guo in https://github.com/kubean-io/kubean/pull/676
    • [docs] update and translate theory-of-air-gapped-package.md by @windsonsea in https://github.com/kubean-io/kubean/pull/671
    • cleanup: replace pkg ioutil with os by @yyzxw in https://github.com/kubean-io/kubean/pull/680
    • update e2e case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/683
    • fix create job occasionally unsuccessfully from ops by @hangscer8 in https://github.com/kubean-io/kubean/pull/684
    • Fix ansible lint by @tu1h in https://github.com/kubean-io/kubean/pull/694
    • Add kubean examples by @ErikJiang in https://github.com/kubean-io/kubean/pull/693

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.9...v0.4.10

    "},{"location":"releases/v0.4.2/","title":"V0.4.2","text":""},{"location":"releases/v0.4.2/#whats-changed","title":"What's Changed","text":"
    • Update previous tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/395
    • remove preset playbook by @tu1h in https://github.com/kubean-io/kubean/pull/396
    • fix enable-repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/397
    • Block the update repo from kylin os by @ErikJiang in https://github.com/kubean-io/kubean/pull/399
    • Revert \"fix enable-repo\" by @hangscer8 in https://github.com/kubean-io/kubean/pull/400
    • Remove unnecessary pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/403
    • Improve check_rebuild_pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/404
    • Restore os pkg by @tu1h in https://github.com/kubean-io/kubean/pull/411
    • Revert \"Restore os pkg\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/412
    • Restore os pkg by @tu1h in https://github.com/kubean-io/kubean/pull/413
    • add kylin os case by @wenting-guo in https://github.com/kubean-io/kubean/pull/416
    • fix offline e2e bug by @wenting-guo in https://github.com/kubean-io/kubean/pull/417
    • update pr ci yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/422
    • make pr ci from vagrant to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/423
    • add a parameter to pr ci workflow by @wenting-guo in https://github.com/kubean-io/kubean/pull/435
    • add calico case in nightly e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/438
    • add secrets for nightly e2e in workflow yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/445
    • Add resources by @ErikJiang in https://github.com/kubean-io/kubean/pull/447
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/448
    • update nightly e2e yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/449
    • update kubean logo by @ErikJiang in https://github.com/kubean-io/kubean/pull/450
    • update os compatibility e2e to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/451
    • update nightly e2e passwd to secret by @wenting-guo in https://github.com/kubean-io/kubean/pull/455
    • add secrets parameter in os compatibility workflow yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/456
    • Remove versions.json by @tu1h in https://github.com/kubean-io/kubean/pull/452
    • optimize hardcode namespace by @hangscer8 in https://github.com/kubean-io/kubean/pull/457
    • Support import for ubuntu iso by @tu1h in https://github.com/kubean-io/kubean/pull/458
    • Add spray job timeout by @hangscer8 in https://github.com/kubean-io/kubean/pull/462
    • Remove fuse only in docker mode by @tu1h in https://github.com/kubean-io/kubean/pull/463
    • add apt repo in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/459
    • Update the check scripts for building os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/464
    • fix nightly e2e helm version set by @wenting-guo in https://github.com/kubean-io/kubean/pull/466
    • support charts syncer by @ErikJiang in https://github.com/kubean-io/kubean/pull/468
    • update restore apt condition in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/471
    • Update action version for workflows by @ErikJiang in https://github.com/kubean-io/kubean/pull/474
    • add redhat offline e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/475
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/476
    • add unit test by @hangscer8 in https://github.com/kubean-io/kubean/pull/478
    • set runner2 ip for e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/485
    • update e2e k8s version to 1.24.7 by @wenting-guo in https://github.com/kubean-io/kubean/pull/489
    • set nightly e2e and online os-compatibility-e2e to the online runner by @wenting-guo in https://github.com/kubean-io/kubean/pull/491
    • Add ansible-lint for playbooks in pr gate by @tu1h in https://github.com/kubean-io/kubean/pull/483
    • Support import offline resource parallelly by @tu1h in https://github.com/kubean-io/kubean/pull/482
    • Fix job creating failure across different namespace by @tu1h in https://github.com/kubean-io/kubean/pull/488
    • change upgrade e2e to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/492
    • fix sa error by @cleverhu in https://github.com/kubean-io/kubean/pull/493
    • change cluster lcm e2e case to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/497
    • Get serviceaccount name by labelselector by @tu1h in https://github.com/kubean-io/kubean/pull/499
    • add calico dual stack e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/500
    • update online os compatibility run rate by @wenting-guo in https://github.com/kubean-io/kubean/pull/501
    • support imageRepo with password by @hangscer8 in https://github.com/kubean-io/kubean/pull/502
    • optimize ClusterRole && set COMMIT_SHA for release by @hangscer8 in https://github.com/kubean-io/kubean/pull/506
    • set kubespray commit by @hangscer8 in https://github.com/kubean-io/kubean/pull/507

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.1...v0.4.2

    "},{"location":"releases/v0.4.3/","title":"V0.4.3","text":""},{"location":"releases/v0.4.3/#whats-changed","title":"What's Changed","text":"
    • rollback clusterrole by @hangscer8 in https://github.com/kubean-io/kubean/pull/511
    • update minio repo by @wenting-guo in https://github.com/kubean-io/kubean/pull/512
    • Fix incomplete ospkg cache judgment by @tu1h in https://github.com/kubean-io/kubean/pull/513

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.2...v0.4.3

    "},{"location":"releases/v0.4.4/","title":"V0.4.4","text":""},{"location":"releases/v0.4.4/#whats-changed","title":"What's Changed","text":"
    • Remove ospkg buiding immediate exit by @tu1h in https://github.com/kubean-io/kubean/pull/514
    • Fix import ospkgs script by @tu1h in https://github.com/kubean-io/kubean/pull/515
    • Remove audit on rhel8 by @tu1h in https://github.com/kubean-io/kubean/pull/517
    • add kubean maintainer by @wawa0210 in https://github.com/kubean-io/kubean/pull/519
    • fix release image by @ErikJiang in https://github.com/kubean-io/kubean/pull/520
    "},{"location":"releases/v0.4.4/#new-contributors","title":"New Contributors","text":"
    • @wawa0210 made their first contribution in https://github.com/kubean-io/kubean/pull/519

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.3...v0.4.4

    "},{"location":"releases/v0.4.5/","title":"V0.4.5","text":""},{"location":"releases/v0.4.5/#whats-changed","title":"What's Changed","text":"
    • fix typo hack script for setup by @yanggangtony in https://github.com/kubean-io/kubean/pull/516
    • chore: delete unused file #523 by @yyzxw in https://github.com/kubean-io/kubean/pull/526
    • Fix offline e2e failure by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/530
    • Remove runc on offline rhel8 from playbook by @tu1h in https://github.com/kubean-io/kubean/pull/531
    • fix imageRepo field by @panguicai008 in https://github.com/kubean-io/kubean/pull/534
    • Update e2e_schedule.yaml by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/536
    • fix variable definition by @panguicai008 in https://github.com/kubean-io/kubean/pull/533
    • fix spray-job container name by @hangscer8 in https://github.com/kubean-io/kubean/pull/537
    • fix cluster status.conditions.startTime and endTime invalid value null by @panguicai008 in https://github.com/kubean-io/kubean/pull/538
    • fix clusteroperation multi field invalid value null by @panguicai008 in https://github.com/kubean-io/kubean/pull/539
    • Support custom action by @tu1h in https://github.com/kubean-io/kubean/pull/540
    • Reduce centos7 package size by @yankay in https://github.com/kubean-io/kubean/pull/543
    • Update CD about helm cmd vars by @tu1h in https://github.com/kubean-io/kubean/pull/546
    • provide auto ci of k8s version compatibility by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/547
    • Support upgrade kubean CRDs by helm by @tu1h in https://github.com/kubean-io/kubean/pull/552
    • Fix charts rendering exception by @tu1h in https://github.com/kubean-io/kubean/pull/554
    • support pre-check playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/555
    • Fix incorrect rendered template by @tu1h in https://github.com/kubean-io/kubean/pull/556
    • optimize pre-check playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/559
    • add ut by @hangscer8 in https://github.com/kubean-io/kubean/pull/560
    • Set offline-pkg default k8s version to 1.25.4 by @hangscer8 in https://github.com/kubean-io/kubean/pull/564
    • Add Others OS package build method by @ErikJiang in https://github.com/kubean-io/kubean/pull/561
    • fix offline e2e and update iptables e2e test by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/557
    • fix main branch: auto-kubean-compatibility-schedule.yaml was modified incorrectly by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/563
    • fix the wrong image tag when the main ci builds images. by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/558
    • Fix image name when push, and update the default k8s version to 1.26.0, fix kube_version of offline e2e by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/566
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/568
    • support import iso for uniontech by @ErikJiang in https://github.com/kubean-io/kubean/pull/570
    • add node affinity for chart by @ErikJiang in https://github.com/kubean-io/kubean/pull/571
    • fix airgap patch image build and push by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/572
    • support unionTech for enable repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/575
    • update anti affinity for kubean by @ErikJiang in https://github.com/kubean-io/kubean/pull/579
    • set helm upgrade timeout and sprayJob tag by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/578
    • fix: update offline usage docs by @yyzxw in https://github.com/kubean-io/kubean/pull/577
    • add theory-of-air-gapped-package by @panpan0000 in https://github.com/kubean-io/kubean/pull/582
    • Update build script for UOS by @ErikJiang in https://github.com/kubean-io/kubean/pull/583
    • optimize airgap patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/584
    • fix mv no such file in RHEL by @ErikJiang in https://github.com/kubean-io/kubean/pull/586
    • optimize airgap patch image by @hangscer8 in https://github.com/kubean-io/kubean/pull/588
    • change runner1 e2e ips by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/589
    • fix wrong tag of cd when running main ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/581
    • add call-cd params in main ci and release ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/591
    • add extra binary for airgap-patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/592
    • add create cilium cluster e2e test by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/594
    • remove registry.k8s.io/pause:3.4 by @hangscer8 in https://github.com/kubean-io/kubean/pull/595
    "},{"location":"releases/v0.4.5/#new-contributors","title":"New Contributors","text":"
    • @XiuguangHuang made their first contribution in https://github.com/kubean-io/kubean/pull/530
    • @panguicai008 made their first contribution in https://github.com/kubean-io/kubean/pull/534
    • @panpan0000 made their first contribution in https://github.com/kubean-io/kubean/pull/582

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.4...v0.4.5

    "},{"location":"releases/v0.4.6/","title":"V0.4.6","text":""},{"location":"releases/v0.4.6/#whats-changed","title":"What's Changed","text":"
    • clean unnecessary files by @hangscer8 in https://github.com/kubean-io/kubean/pull/597
    • add debugger2 vms and debug cilium cluster by @wenting-guo in https://github.com/kubean-io/kubean/pull/598
    • delete unused test case doc by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/599
    • Precheck Result Configmap by @hangscer8 in https://github.com/kubean-io/kubean/pull/600
    • fix upgrade failed due to hard affinity by @ErikJiang in https://github.com/kubean-io/kubean/pull/601
    • add cilium_kube_proxy_replacement by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/605
    • download offline files after release ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/607

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.5...v0.4.6

    "},{"location":"releases/v0.4.7/","title":"V0.4.7","text":""},{"location":"releases/v0.4.7/#whats-changed","title":"What's Changed","text":"
    • Fix incorrect data type on ActionSource by @tu1h in https://github.com/kubean-io/kubean/pull/613

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.6...v0.4.7

    "},{"location":"releases/v0.4.8/","title":"V0.4.8","text":""},{"location":"releases/v0.4.8/#whats-changed","title":"What's Changed","text":"
    • add multi kubean operator e2e case by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/608
    • Update changes imported by pointer type by @tu1h in https://github.com/kubean-io/kubean/pull/618

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.7...v0.4.8

    "},{"location":"releases/v0.4.9/","title":"V0.4.9","text":""},{"location":"releases/v0.4.9/#whats-changed","title":"What's Changed","text":"
    • fix download files job by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/620
    • fix remount iso by @hangscer8 in https://github.com/kubean-io/kubean/pull/624
    • adding flannel\u3001kube-ovn to manifest cr by @cyclinder in https://github.com/kubean-io/kubean/pull/622
    • [docs] add readme_zh.md by @windsonsea in https://github.com/kubean-io/kubean/pull/623
    • Add code-of-conduct and CONTRIBUTING documentation by @tu1h in https://github.com/kubean-io/kubean/pull/625
    • remove redundant docker os_pkgs by @hangscer8 in https://github.com/kubean-io/kubean/pull/626
    • support openEuler by @hangscer8 in https://github.com/kubean-io/kubean/pull/628
    • optimize import iso openeuler by @hangscer8 in https://github.com/kubean-io/kubean/pull/629
    • support other linux in AirGap scenario by @ErikJiang in https://github.com/kubean-io/kubean/pull/627
    • update pkgs.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/630
    • fix unkonwn arch image by @ErikJiang in https://github.com/kubean-io/kubean/pull/631
    • add openeuler ospkg by @hangscer8 in https://github.com/kubean-io/kubean/pull/632
    • Support import ISO data to local path by @tu1h in https://github.com/kubean-io/kubean/pull/640
    • Add Dependabot by @ErikJiang in https://github.com/kubean-io/kubean/pull/641
    • Bump mikefarah/yq from 4.30.8 to 4.33.3 by @dependabot in https://github.com/kubean-io/kubean/pull/645
    • Bump docker/build-push-action from 3.3.0 to 4.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/642
    • Fix import_iso.sh by @tu1h in https://github.com/kubean-io/kubean/pull/651
    • Bump docker/setup-buildx-action from 2.2.1 to 2.5.0 by @dependabot in https://github.com/kubean-io/kubean/pull/644
    • Bump actions/setup-go from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/643
    • set pr-ci nightly-ci run time-limit to 15h by @wenting-guo in https://github.com/kubean-io/kubean/pull/653
    • include dockerfile on ospkg cache judgment include by @tu1h in https://github.com/kubean-io/kubean/pull/655
    • doc: fix english doc broken link by @jonyhy96 in https://github.com/kubean-io/kubean/pull/656
    • add speedup offline packages by @wenting-guo in https://github.com/kubean-io/kubean/pull/657
    • Add Roadmap by @ErikJiang in https://github.com/kubean-io/kubean/pull/661
    • generate offline package for flannel by @cyclinder in https://github.com/kubean-io/kubean/pull/662
    • add unsafe_show_logs to debug the download failed resource by @wenting-guo in https://github.com/kubean-io/kubean/pull/663
    "},{"location":"releases/v0.4.9/#new-contributors","title":"New Contributors","text":"
    • @cyclinder made their first contribution in https://github.com/kubean-io/kubean/pull/622
    • @dependabot made their first contribution in https://github.com/kubean-io/kubean/pull/645
    • @jonyhy96 made their first contribution in https://github.com/kubean-io/kubean/pull/656

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.8...v0.4.9

    "},{"location":"releases/v0.5.0/","title":"V0.5.0","text":""},{"location":"releases/v0.5.0/#whats-changed","title":"What's Changed","text":"
    • support oracle linux in offline enviroment by @ErikJiang in https://github.com/kubean-io/kubean/pull/700

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.10...v0.5.0

    "},{"location":"releases/v0.5.1/","title":"V0.5.1","text":""},{"location":"releases/v0.5.1/#whats-changed","title":"What's Changed","text":"
    • remove dockerCE from openeuler pkgs by @hangscer8 in https://github.com/kubean-io/kubean/pull/706
    • kubean e2e ci follow kubespray structure category by @tukwila in https://github.com/kubean-io/kubean/pull/707
    • Fix KUBEAN_E2E_TEST_CI Error: A branch or tag with the name kubean_ci_test could not be found by @tukwila in https://github.com/kubean-io/kubean/pull/709
    • fix kubean e2e ci not really run problem by @tukwila in https://github.com/kubean-io/kubean/pull/712
    • Rename subdir api mod path by @hangscer8 in https://github.com/kubean-io/kubean/pull/715
    • update other linux tool script by @ErikJiang in https://github.com/kubean-io/kubean/pull/716
    • fix ci config variables by @tukwila in https://github.com/kubean-io/kubean/pull/718
    • Update go mod dep version by @hangscer8 in https://github.com/kubean-io/kubean/pull/719
    • add ipvs case by @wenting-guo in https://github.com/kubean-io/kubean/pull/714
    • enable trivy security scanning by @hangscer8 in https://github.com/kubean-io/kubean/pull/721
    • update enable repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/723
    • add clean repolist in other linux script by @ErikJiang in https://github.com/kubean-io/kubean/pull/725
    • update yum repo config in other linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/726
    • add mkdocs by @ErikJiang in https://github.com/kubean-io/kubean/pull/728
    • update docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/729

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.0...v0.5.1

    "},{"location":"releases/v0.5.2/","title":"V0.5.2","text":""},{"location":"releases/v0.5.2/#whats-changed","title":"What's Changed","text":"
    • add module repo for yum manager by @ErikJiang in https://github.com/kubean-io/kubean/pull/730
    • CI failure:debug vm change to runner vm by @yulng in https://github.com/kubean-io/kubean/pull/734
    • update kube download url by @ErikJiang in https://github.com/kubean-io/kubean/pull/735

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.1...v0.5.2

    "},{"location":"releases/v0.5.3/","title":"V0.5.3","text":""},{"location":"releases/v0.5.3/#whats-changed","title":"What's Changed","text":"
    • CI failure :change vm config and update docker rm command by @yulng in https://github.com/kubean-io/kubean/pull/740
    • fetch os kernel version in precheck.yml by @hangscer8 in https://github.com/kubean-io/kubean/pull/739
    • add ut by @hangscer8 in https://github.com/kubean-io/kubean/pull/741
    • add kubean compatibility k8s version 1.27.1 by @wenting-guo in https://github.com/kubean-io/kubean/pull/743
    • Update allinone.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/749
    • Support script import_iso.sh to load main function by @ErikJiang in https://github.com/kubean-io/kubean/pull/753
    • Update README.md by @wawa0210 in https://github.com/kubean-io/kubean/pull/754
    • add readme for docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/755
    • ignore pull pause 4 image by @ErikJiang in https://github.com/kubean-io/kubean/pull/756
    "},{"location":"releases/v0.5.3/#new-contributors","title":"New Contributors","text":"
    • @yanrongshi made their first contribution in https://github.com/kubean-io/kubean/pull/749

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.2...v0.5.3

    "},{"location":"releases/v0.5.4/","title":"V0.5.4","text":""},{"location":"releases/v0.5.4/#whats-changed","title":"What's Changed","text":"
    • remove alpha_arm by @hangscer8 in https://github.com/kubean-io/kubean/pull/759
    • centos_cilium_online should use offline runner by @tukwila in https://github.com/kubean-io/kubean/pull/761
    • e2e:update worker cluster k8s version by @yulng in https://github.com/kubean-io/kubean/pull/760
    • update import iso by @ErikJiang in https://github.com/kubean-io/kubean/pull/762

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.3...v0.5.4

    "},{"location":"releases/v0.6.0/","title":"V0.6.0","text":""},{"location":"releases/v0.6.0/#whats-changed","title":"What's Changed","text":"
    • add mirror.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/758
    • fix-cluster-controllers-reconcile-loop by @learner0810 in https://github.com/kubean-io/kubean/pull/765
    • fix:add kubean version in readme by @yulng in https://github.com/kubean-io/kubean/pull/763
    • e2e:modify e2e k8s version by @yulng in https://github.com/kubean-io/kubean/pull/767
    • fix error: Failed to compile kubean_ipvs_cluster_e2e by @tukwila in https://github.com/kubean-io/kubean/pull/766
    • Add scale docs by @yanrongshi in https://github.com/kubean-io/kubean/pull/768
    • update scale docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/769
    • Update upgrade.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/771
    • Translate installation and use documentation by @yanrongshi in https://github.com/kubean-io/kubean/pull/772
    • translation en by @yanrongshi in https://github.com/kubean-io/kubean/pull/773
    • fix speedup offline package with curl by @yulng in https://github.com/kubean-io/kubean/pull/727
    • when pr just changed docs file not run e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/781
    • add kubean support k8s version range by @wenting-guo in https://github.com/kubean-io/kubean/pull/782
    • [docs]Fix upgrade.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/774
    • add field to identify image repo scheme by @tu1h in https://github.com/kubean-io/kubean/pull/784
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/788
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/789
    • check user has sudo_access by @hangscer8 in https://github.com/kubean-io/kubean/pull/793
    • support tencentos 3.1 by @ErikJiang in https://github.com/kubean-io/kubean/pull/791
    • fix the Chinese in en docs by @my-git9 in https://github.com/kubean-io/kubean/pull/794
    • update import iso sh by @ErikJiang in https://github.com/kubean-io/kubean/pull/797
    "},{"location":"releases/v0.6.0/#new-contributors","title":"New Contributors","text":"
    • @learner0810 made their first contribution in https://github.com/kubean-io/kubean/pull/765
    • @my-git9 made their first contribution in https://github.com/kubean-io/kubean/pull/794

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.4...v0.6.0

    "},{"location":"releases/v0.6.1/","title":"V0.6.1","text":""},{"location":"releases/v0.6.1/#whats-changed","title":"What's Changed","text":"
    • Update os package for tencentos by @ErikJiang in https://github.com/kubean-io/kubean/pull/800

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.0...v0.6.1

    "},{"location":"releases/v0.6.2/","title":"V0.6.2","text":""},{"location":"releases/v0.6.2/#whats-changed","title":"What's Changed","text":"
    • fix trap issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/802
    • update kube version to v1.26.5 by @ErikJiang in https://github.com/kubean-io/kubean/pull/803
    • detect dual_stack network by @hangscer8 in https://github.com/kubean-io/kubean/pull/805
    • Add auto bump pause version by @ErikJiang in https://github.com/kubean-io/kubean/pull/807

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.1...v0.6.2

    "},{"location":"releases/v0.6.3/","title":"V0.6.3","text":""},{"location":"releases/v0.6.3/#whats-changed","title":"What's Changed","text":"
    • optimize check sudo_access by @hangscer8 in https://github.com/kubean-io/kubean/pull/809
    • [e2e test] change kindest version to v1.26.4 by @yulng in https://github.com/kubean-io/kubean/pull/816
    • optimize accelerate address by @hangscer8 in https://github.com/kubean-io/kubean/pull/822
    • chore: update docs i18n by @yyzxw in https://github.com/kubean-io/kubean/pull/819
    • add test case to markdown by @yulng in https://github.com/kubean-io/kubean/pull/796
    • Bump mikefarah/yq from 4.33.3 to 4.34.1 by @dependabot in https://github.com/kubean-io/kubean/pull/751
    • Bump docker/build-push-action from 4.0.0 to 4.1.1 by @dependabot in https://github.com/kubean-io/kubean/pull/818
    • Bump docker/setup-buildx-action from 2.5.0 to 2.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/817
    • add import iso script to release assets by @ErikJiang in https://github.com/kubean-io/kubean/pull/825
    • Bump cpina/github-action-push-to-another-repository from 1.5.1 to 1.7.2 by @dependabot in https://github.com/kubean-io/kubean/pull/747
    • [docs] update en/zh usage files by @windsonsea in https://github.com/kubean-io/kubean/pull/821
    • separate resource build from e2e step by @wenting-guo in https://github.com/kubean-io/kubean/pull/827

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.2...v0.6.3

    "},{"location":"releases/v0.6.4/","title":"V0.6.4","text":""},{"location":"releases/v0.6.4/#whats-changed","title":"What's Changed","text":"
    • update the e2e case list by @wenting-guo in https://github.com/kubean-io/kubean/pull/829
    • optimize check vip by @hangscer8 in https://github.com/kubean-io/kubean/pull/830

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.3...v0.6.4

    "},{"location":"releases/v0.6.5/","title":"V0.6.5","text":""},{"location":"releases/v0.6.5/#whats-changed","title":"What's Changed","text":"
    • fix spray-job endTime when operator crashed And return pkg_mgr info by @hangscer8 in https://github.com/kubean-io/kubean/pull/831

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.4...v0.6.5

    "},{"location":"releases/v0.6.6/","title":"V0.6.6","text":""},{"location":"releases/v0.6.6/#whats-changed","title":"What's Changed","text":"
    • Update deploy script for main CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/840
    • fix helm client-side throttling by @ErikJiang in https://github.com/kubean-io/kubean/pull/842
    • apply for a seat to maintain docs by @windsonsea in https://github.com/kubean-io/kubean/pull/841
    • [docs] fix a term \u6a21\u677f by @windsonsea in https://github.com/kubean-io/kubean/pull/834
    • [docs] fix indentations in theory_of_airgapped_package.md by @windsonsea in https://github.com/kubean-io/kubean/pull/833
    • [docs] update custom_action by @windsonsea in https://github.com/kubean-io/kubean/pull/832
    • fix version parse in manage_version_cr.sh by @ErikJiang in https://github.com/kubean-io/kubean/pull/844
    • doc: install with non-root user by @tu1h in https://github.com/kubean-io/kubean/pull/845

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.5...v0.6.6

    "},{"location":"releases/v0.7.0/","title":"V0.7.0","text":""},{"location":"releases/v0.7.0/#whats-changed","title":"What's Changed","text":"
    • [test] release CI auto to update the 'k8s supported version range list' by @yulng in https://github.com/kubean-io/kubean/pull/849
    • [CI failure]retry to get pod name and state running by @yulng in https://github.com/kubean-io/kubean/pull/846
    • [e2e test] create 3master+vip cluster by @yulng in https://github.com/kubean-io/kubean/pull/848
    • docs: update usage/install by @my-git9 in https://github.com/kubean-io/kubean/pull/847
    • [e2e case ] add runner vm (vipadd) and fix readme by @yulng in https://github.com/kubean-io/kubean/pull/855
    • [docs] resolve documentation issue 824,360,359,250 by @yulng in https://github.com/kubean-io/kubean/pull/850
    • fix kubespray package by @hangscer8 in https://github.com/kubean-io/kubean/pull/859
    • Optimize Reconcile Requeue by @RuliXu in https://github.com/kubean-io/kubean/pull/860
    • refactor network testcase architecture by @tukwila in https://github.com/kubean-io/kubean/pull/861
    • Lock kubespray commit sha by @ErikJiang in https://github.com/kubean-io/kubean/pull/863
    • Fix release created repeatedly by @ErikJiang in https://github.com/kubean-io/kubean/pull/866
    "},{"location":"releases/v0.7.0/#new-contributors","title":"New Contributors","text":"
    • @RuliXu made their first contribution in https://github.com/kubean-io/kubean/pull/860

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.6...v0.7.0

    "},{"location":"releases/v0.7.1/","title":"V0.7.1","text":""},{"location":"releases/v0.7.1/#whats-changed","title":"What's Changed","text":"
    • Update spray image by @ErikJiang in https://github.com/kubean-io/kubean/pull/872
    • work with oracle 8 by @hangscer8 in https://github.com/kubean-io/kubean/pull/871

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.0...v0.7.1

    "},{"location":"releases/v0.7.2/","title":"V0.7.2","text":""},{"location":"releases/v0.7.2/#whats-changed","title":"What's Changed","text":"
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/873
    • verify kubespray master head commit id sha pipeline by @tukwila in https://github.com/kubean-io/kubean/pull/870
    • retry more times to download files in e2e schedule testing by @tukwila in https://github.com/kubean-io/kubean/pull/875
    • correct workflow yaml by @tukwila in https://github.com/kubean-io/kubean/pull/876
    • correct verify kubespray yaml errors by @tukwila in https://github.com/kubean-io/kubean/pull/877
    • correct HELM_CHART_VERSION value in verify_kubespray_e2e_test by @tukwila in https://github.com/kubean-io/kubean/pull/879
    • fix some bug in kubespray commit workflow by @tukwila in https://github.com/kubean-io/kubean/pull/882
    • Add renew certs playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/884

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.1...v0.7.2

    "},{"location":"releases/v0.7.3/","title":"V0.7.3","text":""},{"location":"releases/v0.7.3/#whats-changed","title":"What's Changed","text":"
    • Add sshpass for sync ansible module by @ErikJiang in https://github.com/kubean-io/kubean/pull/886

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.2...v0.7.3

    "},{"location":"releases/v0.7.4/","title":"V0.7.4","text":""},{"location":"releases/v0.7.4/#whats-changed","title":"What's Changed","text":"
    • Set ownReference for clusterOperation releated with cluster by @hangscer8 in https://github.com/kubean-io/kubean/pull/889
    • Update renew certs groups by @ErikJiang in https://github.com/kubean-io/kubean/pull/891

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.3...v0.7.4

    "},{"location":"releases/v0.8.0/","title":"V0.8.0","text":""},{"location":"releases/v0.8.0/#whats-changed","title":"What's Changed","text":"
    • Update release process by @tu1h in https://github.com/kubean-io/kubean/pull/869
    • enable to config max records by @hangscer8 in https://github.com/kubean-io/kubean/pull/893
    • Add license info by @ErikJiang in https://github.com/kubean-io/kubean/pull/892
    • Bump actions/setup-go from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/838
    • fix static check format by @hangscer8 in https://github.com/kubean-io/kubean/pull/900
    • add cncf to readme by @windsonsea in https://github.com/kubean-io/kubean/pull/897
    • add kubean v0.7.4 version compatible with k8s version by @tukwila in https://github.com/kubean-io/kubean/pull/901
    • docs: add en install_without_root.md by @my-git9 in https://github.com/kubean-io/kubean/pull/902
    • Add killercoda to README by @tu1h in https://github.com/kubean-io/kubean/pull/903
    • make cache for new repo by @ErikJiang in https://github.com/kubean-io/kubean/pull/906
    • Remove backofflimit by @hangscer8 in https://github.com/kubean-io/kubean/pull/905

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.4...v0.8.0

    "},{"location":"releases/v0.8.1/","title":"V0.8.1","text":""},{"location":"releases/v0.8.1/#whats-changed","title":"What's Changed","text":"
    • update repo url for tencentos by @ErikJiang in https://github.com/kubean-io/kubean/pull/907

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.0...v0.8.1

    "},{"location":"releases/v0.8.2/","title":"V0.8.2","text":""},{"location":"releases/v0.8.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.2/#new-features","title":"\u2728 New Features","text":"
    • update k8s to v1.26.7 by @hangscer8 in https://github.com/kubean-io/kubean/pull/925
    "},{"location":"releases/v0.8.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Ensure the job pod never run again by @hangscer8 in https://github.com/kubean-io/kubean/pull/911
    • Fix incorrect ansible pkgmgr detection for tencentos by @tu1h in https://github.com/kubean-io/kubean/pull/912
    • fix generate release notes content is empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/915
    • Add labeler action by @ErikJiang in https://github.com/kubean-io/kubean/pull/916
    • add labeler.yml config by @ErikJiang in https://github.com/kubean-io/kubean/pull/919
    • update ci bot by @ErikJiang in https://github.com/kubean-io/kubean/pull/922
    • Ensure Cascade Deletion with Ownreference by @hangscer8 in https://github.com/kubean-io/kubean/pull/918

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.1...v0.8.2

    "},{"location":"releases/v0.8.3/","title":"V0.8.3","text":""},{"location":"releases/v0.8.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.3/#documentation","title":"\ud83d\udcda Documentation","text":"
    • update Q3 roadmap by @ErikJiang in https://github.com/kubean-io/kubean/pull/929
    "},{"location":"releases/v0.8.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • disable CI robot by @ErikJiang in https://github.com/kubean-io/kubean/pull/926
    • Add governance doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/927
    • support rhel9 by @tu1h in https://github.com/kubean-io/kubean/pull/930
    • update docs config by @ErikJiang in https://github.com/kubean-io/kubean/pull/931

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.2...v0.8.3

    "},{"location":"releases/v0.8.4/","title":"V0.8.4","text":""},{"location":"releases/v0.8.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.4/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/spf13/cobra from 1.6.0 to 1.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/732
    "},{"location":"releases/v0.8.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Correct download path by @Rei1010 in https://github.com/kubean-io/kubean/pull/933
    • add ISA field to precheck playbook by @tu1h in https://github.com/kubean-io/kubean/pull/934
    • Bump Kubespray version by @tu1h in https://github.com/kubean-io/kubean/pull/937
    "},{"location":"releases/v0.8.4/#new-contributors","title":"New Contributors","text":"
    • @Rei1010 made their first contribution in https://github.com/kubean-io/kubean/pull/933

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.3...v0.8.4

    "},{"location":"releases/v0.8.5/","title":"V0.8.5","text":""},{"location":"releases/v0.8.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • chor: add golanglint --fix flag by @yyzxw in https://github.com/kubean-io/kubean/pull/936
    • Revert \"Bump Kubespray version\" by @tu1h in https://github.com/kubean-io/kubean/pull/938

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.4...v0.8.5

    "},{"location":"releases/v0.9.0/","title":"V0.9.0","text":""},{"location":"releases/v0.9.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update k8s support version by @Rei1010 in https://github.com/kubean-io/kubean/pull/946
    • add ut Test_TrySuspendPod by @KubeKyrie in https://github.com/kubean-io/kubean/pull/944
    • Update E2E kube version by @Rei1010 in https://github.com/kubean-io/kubean/pull/955
    • webhook for clusterOperations by @hangscer8 in https://github.com/kubean-io/kubean/pull/956
    • fix missing latest release note by @ErikJiang in https://github.com/kubean-io/kubean/pull/953
    • update kubespray by @hangscer8 in https://github.com/kubean-io/kubean/pull/960
    "},{"location":"releases/v0.9.0/#new-contributors","title":"New Contributors","text":"
    • @KubeKyrie made their first contribution in https://github.com/kubean-io/kubean/pull/944

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.6...v0.9.0

    "},{"location":"releases/v0.9.1/","title":"V0.9.1","text":""},{"location":"releases/v0.9.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add compability for kubernetes 1.28.0 by @Rei1010 in https://github.com/kubean-io/kubean/pull/957
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/961
    • Build admission image during schedule CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/962
    • Correct config path by @Rei1010 in https://github.com/kubean-io/kubean/pull/966
    • Adjust env conf by @Rei1010 in https://github.com/kubean-io/kubean/pull/967
    • Add missing param by @Rei1010 in https://github.com/kubean-io/kubean/pull/969
    • Auto bump kubean support kubernetes version with CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/971
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/972
    • Optimize CI trigger logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/974
    • update containerd version by @hangscer8 in https://github.com/kubean-io/kubean/pull/977
    "},{"location":"releases/v0.9.1/#new-contributors","title":"New Contributors","text":"
    • @github-actions made their first contribution in https://github.com/kubean-io/kubean/pull/972

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.0...v0.9.1

    "},{"location":"releases/v0.9.2/","title":"V0.9.2","text":""},{"location":"releases/v0.9.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • optimize precheck to avoid losing data by @hangscer8 in https://github.com/kubean-io/kubean/pull/982
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/976
    • Adjust PR CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/984
    • add BackUp Weight for ClusterOperation by @hangscer8 in https://github.com/kubean-io/kubean/pull/983
    • update k8s version by @hangscer8 in https://github.com/kubean-io/kubean/pull/986

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.1...v0.9.2

    "},{"location":"releases/v0.9.3/","title":"V0.9.3","text":""},{"location":"releases/v0.9.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Use complete execute path in playbook renew_certs by @tu1h in https://github.com/kubean-io/kubean/pull/988

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.2...v0.9.3

    "},{"location":"usage/airgap/","title":"\u79bb\u7ebf\u573a\u666f\u7684\u4f7f\u7528","text":""},{"location":"usage/airgap/#_2","title":"\u63d0\u9192\u4e8b\u9879","text":"
    • \u9488\u5bf9 RHEL 8.4 \u7cfb\u5217\uff0c\u7531\u4e8e\u5305\u4f9d\u8d56\u95ee\u9898\uff0c\u6267\u884c\u8fc7\u7a0b\u4e2d\u4f1a\u5378\u8f7d\u7cfb\u7edf\u9884\u88c5\u7684 fuse \u5305
    "},{"location":"usage/airgap/#_3","title":"\u51c6\u5907\u4e8b\u9879","text":"
    1. \u9700\u8981\u9884\u5148\u90e8\u7f72\u7684\u670d\u52a1:

      • \u6587\u4ef6\u8d44\u6e90\u670d\u52a1 minio
      • \u955c\u50cf\u4ed3\u5e93\u670d\u52a1 docker registry\uff082.7 \u4ee5\u4e0b\uff09\u6216\u8005 harbor
    2. \u9700\u8981\u5b89\u88c5\u7684\u5fc5\u8981\u5de5\u5177:

      • \u7528\u4e8e\u5bfc\u5165\u955c\u50cf\u6587\u4ef6\u7684\u5de5\u5177: skopeo\uff0c\u9700\u8981 >=1.9.2; podman, Required >= 4.4.4
      • \u7528\u4e8e\u5bfc\u5165\u4e8c\u8fdb\u5236\u6587\u4ef6\u7684\u5de5\u5177: minio client
    3. \u901a\u8fc7Helm\u90e8\u7f72kubean

    "},{"location":"usage/airgap/#_4","title":"\u4e0b\u8f7d\u79bb\u7ebf\u8d44\u6e90","text":"

    \u901a\u8fc7 Github Releases \u9875\u9762\u53ef\u4ee5\u4e0b\u8f7d\u6211\u4eec\u60f3\u8981\u7248\u672c\u7684\u79bb\u7ebf\u8d44\u6e90\u3002

    \u79bb\u7ebf\u8d44\u6e90\u7684\u57fa\u672c\u8bf4\u660e:

    \u251c\u2500\u2500 files.list                                  # \u6587\u4ef6\u5185\u5bb9\u7684\u5217\u8868\n\u251c\u2500\u2500 files-${tag}.tar.gz                         # \u6587\u4ef6\u538b\u7f29\u5305, \u5185\u542b\u5bfc\u5165\u811a\u672c\n\u251c\u2500\u2500 images.list                                 # \u955c\u50cf\u5185\u5bb9\u7684\u5217\u8868\n\u251c\u2500\u2500 images-${tag}.tar.gz                        # \u955c\u50cf\u538b\u7f29\u5305, \u5185\u542b\u5bfc\u5165\u811a\u672c\n\u2514\u2500\u2500 os-pkgs-${linux_distribution}-${tag}.tar.gz # \u5404\u7cfb\u7edf\u538b\u7f29\u5305, \u5185\u542b\u5bfc\u5165\u811a\u672c\n
    "},{"location":"usage/airgap/#_5","title":"\u5c06\u79bb\u7ebf\u8d44\u6e90\u5bfc\u5165\u5bf9\u5e94\u670d\u52a1","text":""},{"location":"usage/airgap/#binaries","title":"\u5bfc\u5165 Binaries \u8d44\u6e90","text":"

    \u8bf7\u5148\u89e3\u538b files-${tag}.tar.gz \u6587\u4ef6, \u5176\u5185\u90e8\u5305\u542b:

    files/\n\u251c\u2500\u2500 import_files.sh       # \u8be5\u811a\u672c\u7528\u4e8e\u5bfc\u5165\u4e8c\u8fdb\u5236\u6587\u4ef6\u5230 minio \u6587\u4ef6\u670d\u52a1\n\u2514\u2500\u2500 offline-files.tar.gz  # \u4e8c\u8fdb\u5236\u6587\u4ef6\u7684\u538b\u7f29\u5305\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4, \u5c06\u4e8c\u8fdb\u5236\u6587\u4ef6\u5bfc\u5165\u5230 minio \u670d\u52a1\u4e2d:

    MINIO_USER=${username} MINIO_PASS=${password} ./import_files.sh ${minio_address}\n
    • minio_address \u662f minio API Server\u5730\u5740\uff0c\u7aef\u53e3\u4e00\u822c\u4e3a9000\uff0c\u6bd4\u5982 http://1.2.3.4:9000
    "},{"location":"usage/airgap/#images","title":"\u5bfc\u5165 Images \u8d44\u6e90","text":"

    \u9700\u8981\u89e3\u538b images-${tag}.tar.gz \u6587\u4ef6, \u5176\u5185\u90e8\u5305\u542b:

    images/\n\u251c\u2500\u2500 import_images.sh       # \u8be5\u811a\u672c\u7528\u4e8e\u5bfc\u5165\u955c\u50cf\u6587\u4ef6\u5230 docker registry \u6216 harbor \u955c\u50cf\u4ed3\u5e93\u670d\u52a1, \u53ef\u7528\u4e8e\u5408\u5e76\u4e0d\u540c\u5e73\u53f0\u955c\u50cf\n\u2514\u2500\u2500 offline-images.tar.gz  # \u955c\u50cf\u6587\u4ef6\u7684\u538b\u7f29\u5305\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4, \u5c06\u955c\u50cf\u6587\u4ef6\u5bfc\u5165\u5230 docker registry \u6216 harbor \u955c\u50cf\u4ed3\u5e93\u670d\u52a1\u4e2d:

    # \u514d\u5bc6\u6a21\u5f0f\nREGISTRY_SCHEME=http REGISTRY_ADDR=${registry_address} ./import_images.sh\n\n# \u7528\u6237\u540d\u53e3\u4ee4\u6a21\u5f0f\nREGISTRY_SCHEME=https REGISTRY_ADDR=${registry_address} REGISTRY_USER=${username} REGISTRY_PASS=${password} ./import_images.sh\n
    • REGISTRY_ADDR \u662f\u955c\u50cf\u4ed3\u5e93\u7684\u5730\u5740\uff0c\u6bd4\u59821.2.3.4:5000
    • \u5f53\u955c\u50cf\u4ed3\u5e93\u5b58\u5728\u7528\u6237\u540d\u5bc6\u7801\u9a8c\u8bc1\u65f6\uff0c\u9700\u8981\u8bbe\u7f6e REGISTRY_USER \u548c REGISTRY_PASS
    "},{"location":"usage/airgap/#os-packages","title":"\u5bfc\u5165 OS packages \u8d44\u6e90","text":"

    Note

    • \u76ee\u524d\u652f\u6301 Centos / Redhat / Kylin / Ubuntu \u7b49\u53d1\u884c\u7248\u7684 OS Packages \u8d44\u6e90
    • \u7edf\u4fe1 UnionTech V20 \u7cfb\u5217\u7684 OS Package \u9700\u8981\u624b\u52a8\u6784\u5efa\uff0c\u6784\u5efa\u65b9\u6cd5\u89c1 README

    \u9700\u8981\u89e3\u538b os-pkgs-${linux_distribution}-${tag}.tar.gz \u6587\u4ef6\uff0c\u5176\u5185\u90e8\u5305\u542b:

    os-pkgs\n\u251c\u2500\u2500 import_ospkgs.sh       # \u8be5\u811a\u672c\u7528\u4e8e\u5bfc\u5165 os packages \u5230 minio \u6587\u4ef6\u670d\u52a1\n\u251c\u2500\u2500 os-pkgs-amd64.tar.gz   # amd64 \u67b6\u6784\u7684 os packages \u5305\n\u251c\u2500\u2500 os-pkgs-arm64.tar.gz   # arm64 \u67b6\u6784\u7684 os packages \u5305\n\u2514\u2500\u2500 os-pkgs.sha256sum.txt  # os packages \u5305\u7684 sha256sum \u6548\u9a8c\u6587\u4ef6\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5c06 os packages \u5305\u5230 minio \u6587\u4ef6\u670d\u52a1\u4e2d\uff1a

    MINIO_USER=${username} MINIO_PASS=${password} ./import_ospkgs.sh ${minio_address} os-pkgs-${arch}.tar.gz\n
    "},{"location":"usage/airgap/#_6","title":"\u5efa\u7acb\u79bb\u7ebf\u6e90","text":"

    \u4e0b\u9762\u7684\u3010\u5efa\u7acb\u672c\u5730ISO\u955c\u50cf\u6e90\u3011\u4e0e\u3010\u5efa\u7acb\u5728\u7ebfISO\u955c\u50cf\u6e90\u3011\u53ea\u9700\u8981\u6267\u884c\u5176\u4e2d\u4e00\u4e2a\u5373\u53ef\u3002

    "},{"location":"usage/airgap/#iso","title":"\u5efa\u7acb ISO \u955c\u50cf\u6e90","text":""},{"location":"usage/airgap/#iso_1","title":"\u5efa\u7acb\u672c\u5730 ISO \u955c\u50cf\u6e90","text":"

    OS Packages \u4e3b\u8981\u7528\u4e8e\u89e3\u51b3 docker-ce \u7684\u5b89\u88c5\u4f9d\u8d56\uff0c\u4f46\u5728\u5b9e\u9645\u7684\u79bb\u7ebf\u90e8\u7f72\u8fc7\u7a0b\u4e2d\uff0c\u53ef\u80fd\u8fd8\u9700\u8981\u4f7f\u7528\u5230\u53d1\u884c\u7248\u7cfb\u7edf\u7684\u5176\u4ed6\u5305\uff0c\u6b64\u65f6\u9700\u8981\u5efa\u7acb\u672c\u5730 ISO \u955c\u50cf\u6e90\u3002

    Note

    \u6211\u4eec\u9700\u8981\u63d0\u524d\u4e0b\u8f7d\u4e3b\u673a\u5bf9\u5e94\u7684 ISO \u7cfb\u7edf\u53d1\u884c\u7248\u955c\u50cf, \u5f53\u524d\u652f\u6301 Centos\u3001Redhat\u3001Ubuntu \u53d1\u884c\u7248\u7684 ISO \u955c\u50cf\u6e90\u521b\u5efa\uff1b \u9700\u8981\u5728\u6bcf\u4e2a\u521b\u5efakubernetes\u7684\u96c6\u7fa4\u4e0a\u90fd\u6267\u884c\u672c\u64cd\u4f5c\u3002

    \u8fd9\u91cc\u53ef\u4ee5\u4f7f\u7528\u811a\u672c artifacts/gen_repo_conf.sh, \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5373\u53ef\u6302\u8f7d ISO \u955c\u50cf\u6587\u4ef6, \u5e76\u521b\u5efa Repo \u914d\u7f6e\u6587\u4ef6:

    # \u57fa\u672c\u683c\u5f0f\n./gen_repo_conf.sh --iso-mode ${linux_distribution} ${iso_image_file}\n# linux_distribution \u7684\u503c\u662f centos\u3001redhat\u3001debian \u6216\u8005 ubuntu\n# \u6267\u884c\u811a\u672c\u521b\u5efa ISO \u955c\u50cf\u6e90\n./gen_repo_conf.sh --iso-mode centos CentOS-7-x86_64-Everything-2207-02.iso\n# \u67e5\u770b ISO \u955c\u50cf\u6302\u8f7d\u60c5\u51b5\ndf -h | grep mnt\n/dev/loop0               9.6G  9.6G     0 100% /mnt/centos-iso\n# \u67e5\u770b ISO \u955c\u50cf\u6e90\u914d\u7f6e\ncat /etc/yum.repos.d/Kubean-ISO.repo\n
    [kubean-iso]\nname=Kubean ISO Repo\nbaseurl=file:///mnt/centos-iso\nenabled=1\ngpgcheck=0\nsslverify=0\n

    "},{"location":"usage/airgap/#iso_2","title":"\u5efa\u7acb\u5728\u7ebf ISO \u955c\u50cf\u6e90","text":""},{"location":"usage/airgap/#minio","title":"\u5bfc\u5165\u81f3 MinIO","text":"

    \u5c06 ISO \u4e2d\u7684\u955c\u50cf\u6e90\u5bfc\u5165\u5230 minio server\u4e2d\uff0c\u9700\u8981\u4f7f\u7528\u5230\u811a\u672c artifacts/import_iso.sh\uff0c\u6267\u884c\u5982\u4e0b\u9762\u547d\u4ee4\u5373\u53ef\u5c06 ISO \u955c\u50cf\u4e2d\u8f6f\u4ef6\u6e90\u5bfc\u5165\u5230 minio server \u4e2d\uff1a

    MINIO_USER=${username} MINIO_PASS=${password} ./import_iso.sh ${minio_address} Centos-XXXX.ISO\n

    \u4e3a\u4e3b\u673a\u65b0\u5efa\u5982\u4e0b\u6587\u4ef6 /etc/yum.repos.d/centos-iso-online.repo \u5373\u53ef\u4f7f\u7528\u5728\u7ebf ISO \u955c\u50cf\u6e90:

    [kubean-iso-online]\nname=Kubean ISO Repo Online\nbaseurl=${minio_address}/kubean/centos-iso/$releasever/os/$basearch\nenabled=1\ngpgcheck=0\nsslverify=0\n

    \u6b64\u5916\uff0c\u5982\u679c\u5bfc\u5165\u7684\u662f RHEL ISO\uff0c\u9700\u6ce8\u610f\u6b64 ISO \u63d0\u4f9b\u4e24\u4e2a\u6e90\uff1a

    [kubean-iso-online-BaseOS]\nname=Kubean ISO Repo Online BaseOS\nbaseurl=${minio_address}/kubean/redhat-iso/$releasever/os/$basearch/BaseOS\nenabled=1\ngpgcheck=0\nsslverify=0\n\n\n[kubean-iso-online-AppStream]\nname=Kubean ISO Repo Online AppStream\nbaseurl=${minio_address}/kubean/redhat-iso/$releasever/os/$basearch/AppStream\nenabled=1\ngpgcheck=0\nsslverify=0\n
    • \u9700\u8981\u5c06 ${minio_address} \u66ff\u6362\u4e3a minio API Server \u5730\u5740

    \u8fd9\u4e00\u6b65\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e ClusterOperation \u6587\u4ef6\u4e2d enable-repo.yml \u7684 extraArgs \u7684\u503c\u6765\u5b9e\u73b0\uff0c \u5c06 extraArgs \u7684\u503c\u6dfb\u52a0\u4e3a '{minio_url}/kubean/centos-iso/$releasever/os/$basearch' \u8fd9\u79cd\u683c\u5f0f\uff0c \u53c2\u9605 ClusterOperation \u7ed3\u5408 playbook \u521b\u5efa\u6e90\u914d\u7f6e\u6587\u4ef6\u4e86\u89e3\u66f4\u591a\u4fe1\u606f\u3002

    "},{"location":"usage/airgap/#_7","title":"\u5bfc\u5165\u81f3\u672c\u5730\u76ee\u5f55","text":"

    \u5c06 ISO \u4e2d\u7684\u955c\u50cf\u6e90\u5bfc\u5165\u5230\u672c\u5730\u76ee\u5f55\u4e2d\uff0c\u9700\u8981\u4f7f\u7528\u5230\u811a\u672c artifacts/import_iso.sh \uff0c\u6267\u884c\u5982\u4e0b\u9762\u547d\u4ee4\u5373\u53ef\u5c06 ISO \u955c\u50cf\u4e2d\u8f6f\u4ef6\u6e90\u5bfc\u5165\u5230\u6307\u5b9a\u7684\u672c\u5730\u76ee\u5f55\u4e2d

    ./import_iso.sh ${you_local_path} Centos-XXXX.ISO\n

    repo \u914d\u7f6e\u65b9\u5f0f\u7c7b\u4f3c\u5bfc\u5165\u81f3 MinIO

    [kubean-iso-online]\nname=Kubean ISO Repo Online\nbaseurl=${your_local_path}/centos-iso/$releasever/os/$basearch\nenabled=1\ngpgcheck=0\nsslverify=0\n
    "},{"location":"usage/airgap/#extras","title":"\u5efa\u7acb extras \u8f6f\u4ef6\u6e90","text":"

    \u5f53\u524d\u652f\u6301 Red Hat Linux \u7cfb\u5217

    \u5728\u5b89\u88c5 K8S \u96c6\u7fa4\u65f6, \u8fd8\u4f1a\u4f9d\u8d56\u4e00\u4e9b extras \u8f6f\u4ef6, \u6bd4\u5982 container-selinux, \u8fd9\u4e9b\u8f6f\u4ef6\u5f80\u5f80\u5728 ISO \u955c\u50cf\u6e90\u4e2d\u5e76\u4e0d\u63d0\u4f9b. \u5bf9\u6b64 OS packages \u79bb\u7ebf\u5305\u5df2\u5bf9\u5176\u8fdb\u884c\u4e86\u8865\u5145, \u5176\u5728\u5bfc\u5165 minio \u4e4b\u540e, \u6211\u4eec\u8fd8\u9700\u8981\u5411\u5404\u4e2a\u8282\u70b9\u521b\u5efa extra repo \u914d\u7f6e\u6587\u4ef6.

    \u540c\u6837\u53ef\u4ee5\u4f7f\u7528\u811a\u672c artifacts/gen_repo_conf.sh, \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5373\u53ef\u521b\u5efa Extra Repo:

    ./gen_repo_conf.sh --url-mode ${linux_distribution} ${repo_base_url}\n\n# \u6267\u884c\u811a\u672c\u521b\u5efa URL \u6e90\u914d\u7f6e\u6587\u4ef6\n./gen_repo_conf.sh --url-mode centos ${minio_address}/kubean/centos/\\$releasever/os/\\$basearch\n# \u67e5\u770b URL \u6e90\u914d\u7f6e\u6587\u4ef6\ncat /etc/yum.repos.d/Kubean-URL.repo\n
    [kubean-extra]\nname=Kubean Extra Repo\nbaseurl=http://10.20.30.40:9000/kubean/centos/$releasever/os/$basearch\nenabled=1\ngpgcheck=0\nsslverify=0\n

    Note

    \u82e5 repo_base_url \u53c2\u6570\u4e2d\u5e26\u6709 $ \u7b26\u53f7\uff0c\u9700\u8981\u5bf9\u5176\u8fdb\u884c\u8f6c\u4e49 \\$\u3002

    \u9700\u8981\u5c06 ${minio_address} \u66ff\u6362\u4e3a\u5b9e\u9645 minio API Server \u7684\u5730\u5740\u3002

    "},{"location":"usage/airgap/#clusteroperation-playbook","title":"ClusterOperation \u7ed3\u5408 playbook \u521b\u5efa\u6e90\u914d\u7f6e\u6587\u4ef6","text":"

    \u7531\u4e8e\u521b\u5efa\u6e90\u7684\u8fc7\u7a0b\u6d89\u53ca\u5230\u96c6\u7fa4\u7684\u6240\u6709\u8282\u70b9, \u624b\u52a8\u811a\u672c\u64cd\u4f5c\u76f8\u5bf9\u7e41\u7410, \u8fd9\u91cc\u63d0\u4f9b\u4e86\u4e00\u79cd playbook \u7684\u89e3\u51b3\u65b9\u5f0f.

    centos yum repo \u7684\u914d\u7f6e\u793a\u4f8b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-ops-01\nspec:\n  cluster: sample\n  image: ghcr.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: enable-repo.yml  # \u5728\u90e8\u7f72\u96c6\u7fa4\u524d, \u5148\u6267\u884c enable-repo \u7684 playbook, \u4e3a\u6bcf\u4e2a\u8282\u70b9\u521b\u5efa\u6307\u5b9a url \u7684\u6e90\u914d\u7f6e\n      extraArgs: |\n        -e \"{repo_list: ['http://10.20.30.40:9000/kubean/centos/\\$releasever/os/\\$basearch']}\"\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: cluster-info.yml\n    - actionType: playbook\n      action: enable-repo.yml  # \u5728\u90e8\u7f72\u96c6\u7fa4\u540e, \u8fd8\u539f\u5404\u8282\u70b9 yum repo \u914d\u7f6e. (\u6ce8\uff1a\u6b64\u6b65\u9aa4, \u53ef\u89c6\u60c5\u51b5\u6dfb\u52a0.)\n      extraArgs: |\n        -e undo=true\n

    ubuntu20.04 apt repo \u7684\u914d\u7f6e\u793a\u4f8b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-ops-01\nspec:\n  cluster: sample\n  image: ghcr.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: enable-repo.yml  # \u5728\u90e8\u7f72\u96c6\u7fa4\u524d, \u5148\u6267\u884c enable-repo \u7684 playbook, \u4e3a\u6bcf\u4e2a\u8282\u70b9\u521b\u5efa\u6307\u5b9a url \u7684\u6e90\u914d\u7f6e\n                               # \u6ce8\uff1aubuntu \u662f os package \u79bb\u7ebf\u8d44\u6e90\uff0cubuntu-iso \u662f iso \u5b89\u88c5\u5305\u8d44\u6e90\n      extraArgs: |\n        -e \"{repo_list: ['deb [trusted=yes] http://MINIO_ADDR:9000/kubean/ubuntu/amd64 focal/', 'deb [trusted=yes] http://MINIO_ADDR:9000/kubean/ubuntu-iso focal main restricted']}\"\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: cluster-info.yml\n    - actionType: playbook\n      action: enable-repo.yml  # \u5728\u90e8\u7f72\u96c6\u7fa4\u540e, \u8fd8\u539f\u5404\u8282\u70b9 apt repo \u914d\u7f6e. (\u6ce8\uff1a\u6b64\u6b65\u9aa4, \u53ef\u89c6\u60c5\u51b5\u6dfb\u52a0.)\n      extraArgs: |\n        -e undo=true\n
    "},{"location":"usage/airgap/#_8","title":"\u90e8\u7f72\u96c6\u7fa4\u524d\u7684\u914d\u7f6e","text":"

    \u79bb\u7ebf\u8bbe\u7f6e\u9700\u8981\u53c2\u8003 kubespray \u4f4d\u4e8e kubespray/inventory/sample/group_vars/all/offline.yml \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

    ---\n## \u5168\u5c40\u7684\u79bb\u7ebf\u914d\u7f6e\n### \u914d\u7f6e\u79c1\u6709\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93\u670d\u52a1\u7684\u5730\u5740\nregistry_host: \"{{ registry_address }}\"\n\n### \u914d\u7f6e\u4e8c\u8fdb\u5236\u6587\u4ef6\u670d\u52a1\u7684\u5730\u5740\ngithub_url: https://files.m.daocloud.io/github.com\ndl_k8s_io_url: https://files.m.daocloud.io/dl.k8s.io\nstorage_googleapis_url: https://files.m.daocloud.io/storage.googleapis.com\nget_helm_url: https://files.m.daocloud.io/get.helm.sh\n\n### \u5982\u679c\u4f7f\u7528 CentOS / RedHat / AlmaLinux / Fedora, \u9700\u8981\u914d\u7f6e yum \u6e90\u6587\u4ef6\u670d\u52a1\u5730\u5740:\nyum_repo: \"{{ minio_address }}\"\n\n### \u5982\u679c\u4f7f\u7528 Debian, \u5219\u914d\u7f6e:\ndebian_repo: \"{{ minio_address }}\"\n\n### \u5982\u679c\u4f7f\u7528 Ubuntu, \u5219\u914d\u7f6e:\nubuntu_repo: \"{{ minio_address }}\"\n\n### \u5982\u679c containerd \u91c7\u7528\u975e\u5b89\u5168 HTTP \u514d\u8ba4\u8bc1\u65b9\u5f0f, \u5219\u9700\u8981\u914d\u7f6e:\ncontainerd_registries_mirrors:\n  - prefix: \"{{ registry_address }}\"\n    mirrors:\n      - host: \"http://{{ registry_address }}\"\n        capabilities: [\"pull\", \"resolve\"]\n        skip_verify: true\n\n### \u5982\u679c docker \u91c7\u7528\u975e\u5b89\u5168 HTTP \u514d\u8ba4\u8bc1\u65b9\u5f0f, \u5219\u9700\u8981\u914d\u7f6e:\ndocker_insecure_registries:\n  - {{ registry_address }}\n

    \u989d\u5916\u8bf4\u660e\uff1a

    \u9488\u5bf9\u4e00\u4e9b\u7279\u6b8a\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5728\u79bb\u7ebf\u90e8\u7f72\u65f6\uff0c\u8fd8\u9700\u8981\u6dfb\u52a0\u4e00\u4e9b\u989d\u5916\u53c2\u6570\uff1a

    \u64cd\u4f5c\u7cfb\u7edf \u989d\u5916\u53c2\u6570 RHEL \u7cfb\u5217 rhel_enable_repos: false Oracle Linux \u7cfb\u5217 use_oracle_public_repo: false

    \u6211\u4eec\u4ee5 examples/install/3.airgap \u4f5c\u4e3a\u6a21\u677f\u3002

    \u5c06\u5982\u4e0a\u79bb\u7ebf\u914d\u7f6e\u6309\u7167\u5177\u4f53\u60c5\u51b5\u8fdb\u884c\u8c03\u6574\uff0c\u7279\u522b\u9700\u8981\u66ff\u6362<registry_address> \u548c <minio_address>\u3002

    \u6700\u7ec8\u5c06\u914d\u7f6e\u6dfb\u52a0\u66f4\u65b0\u5230 examples/install/3.airgap/VarsConfCM.yml \u6587\u4ef6\u4e2d\u3002

    \u540c\u65f6\u6211\u4eec\u8fd8\u9700\u8981\u4fee\u6539 examples/install/3.airgap/HostsConfCM.yml \u4e2d\u7684\u96c6\u7fa4\u8282\u70b9 IP \u53ca\u7528\u6237\u540d\u5bc6\u7801\u3002

    \u6700\u7ec8\uff0c\u901a\u8fc7 kubectl apply -f examples/install/3.airgap \u542f\u52a8 ClusterOperation \u4efb\u52a1\u6765\u5b89\u88c5 k8s \u96c6\u7fa4\u3002

    "},{"location":"usage/airgap/#_9","title":"\u589e\u91cf\u79bb\u7ebf\u5305\u7684\u751f\u6210\u548c\u4f7f\u7528","text":"

    \u8be6\u7ec6\u6587\u6863\u89c1 Air gap patch usage\u3002

    "},{"location":"usage/airgap_patch_usage/","title":"\u589e\u91cf\u79bb\u7ebf\u5305\u7684\u751f\u6210\u548c\u4f7f\u7528","text":"

    \u4e3a\u4e86\u6ee1\u8db3\u7528\u6237\u5bf9\u4e8e\u67d0\u4e9b\u8f6f\u4ef6\u7279\u5b9a\u7248\u672c\u7684\u9700\u8981\uff0cKubean \u63d0\u4f9b\u811a\u672c artifacts/airgap_patch.py \u6839\u636e\u914d\u7f6e\u6587\u4ef6 manifest.yml \u6765\u751f\u6210\u5bf9\u5e94\u7248\u672c\u7684\u79bb\u7ebf\u5305\u3002

    "},{"location":"usage/airgap_patch_usage/#_2","title":"\u751f\u6210\u589e\u91cf\u79bb\u7ebf\u5305","text":"
    1. \u5728\u5f53\u524d\u6587\u4ef6\u5939\u65b0\u5efa manifest.yml \u6587\u4ef6\uff0c\u5185\u5bb9\u4e3e\u4f8b\u5982\u4e0b\uff1a

      image_arch:\n  - \"amd64\"\n  - \"arm64\"\nkube_version:\n  - \"v1.24.6\"\n  - \"v1.24.4\"\ncalico_version:\n  - \"v3.23.3\"\ncni_version:\n  - \"v1.1.1\"\ncontainerd_version:\n  - \"1.6.8\"\ncilium_version:\n  - \"v1.12.1\"\netcd_version:\n  - \"v3.5.3\"\n
    2. \u5728\u5f53\u524d\u6587\u4ef6\u5939\u65b0\u5efa data \u6587\u4ef6\u5939

    3. \u4f7f\u7528\u955c\u50cf\uff0c\u7b49\u5f85\u8fd0\u884c\u9000\u51fa\u540e\uff0c\u5728 data \u6587\u4ef6\u5939\u4e2d\u751f\u6210\u589e\u91cf\u79bb\u7ebf\u5305

      docker run \\\n    -v $(pwd)/data:/data \\\n    -v $(pwd)/manifest.yml:/manifest.yml \\\n    -e ZONE=CN \\\n    ghcr.io/kubean-io/airgap-patch:v0.11.1\n
      \u73af\u5883\u53d8\u91cf \u53ef\u9009\u503c\u63cf\u8ff0 \uff08 :\u8868\u793a\u9ed8\u8ba4\u503c\uff09 ZONE DEFAULT: \u91c7\u7528\u9ed8\u8ba4\u539f\u59cb\u5730\u5740\u4e0b\u8f7d\u79bb\u7ebf\u8d44\u6e90 CN: \u91c7\u7528\u56fd\u5185 DaoCloud \u52a0\u901f\u5668\u5730\u5740\u4e0b\u8f7d\u79bb\u7ebf\u8d44\u6e90 MODE INCR: \u4ec5\u6784\u5efa\u914d\u7f6e\u4e2d\u6307\u5b9a\u7ec4\u4ef6\u7684\u79bb\u7ebf\u8d44\u6e90\uff08\u5373\uff1a\u589e\u91cf\u5305\uff09 FULL: \u5c06\u6784\u5efa\u914d\u7f6e\u4e2d\u6307\u5b9a\u7684\u7ec4\u4ef6\u4ee5\u53ca\u96c6\u7fa4\u90e8\u7f72\u5fc5\u8981\u5176\u4ed6\u7ec4\u4ef6\u7684\u79bb\u7ebf\u8d44\u6e90\uff08\u5373\uff1a\u5168\u91cf\u5305\uff09
    "},{"location":"usage/airgap_patch_usage/#_3","title":"\u4f7f\u7528\u589e\u91cf\u79bb\u7ebf\u5305","text":"

    \u589e\u91cf\u5305\u7684\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b:

    data\n\u2514\u2500\u2500 airgap_patch\n    \u251c\u2500\u2500 amd64\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 files\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 import_files.sh\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 offline-files.tar.gz\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 images\n    \u2502\u00a0\u00a0     \u251c\u2500\u2500 import_images.sh\n    \u2502\u00a0\u00a0     \u2514\u2500\u2500 offline-images.tar.gz\n    \u251c\u2500\u2500 arm64\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 files\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 import_files.sh\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 offline-files.tar.gz\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 images\n    \u2502\u00a0\u00a0     \u251c\u2500\u2500 import_images.sh\n    \u2502\u00a0\u00a0     \u2514\u2500\u2500 offline-images.tar.gz\n    \u2514\u2500\u2500 localartifactset.cr.yaml\n
    1. \u5411 MinIO \u4e2d\u5199\u5165\u6587\u4ef6\u6570\u636e

      cd data/airgap_patch/amd64/files\n\nMINIO_USER=${username} MINIO_PASS=${password} ./import_files.sh ${minio_address}\n

      minio_address \u662f minio API Server \u5730\u5740\uff0c\u7aef\u53e3\u4e00\u822c\u4e3a 9000\uff0c\u6bd4\u5982 http://1.2.3.4:9000\u3002

    2. \u5411 Docker Registry\uff08\u63a8\u8350\u4f7f\u7528 2.6.2 \u7248\u672c\uff09\u6216\u8005 Harbor \u5199\u5165\u955c\u50cf\u6570\u636e

      cd data/airgap_patch/amd64/images\n\n# 1. \u514d\u5bc6\u6a21\u5f0f\nREGISTRY_SCHEME=http REGISTRY_ADDR=${registry_address} ./import_images.sh\n\n# 2. \u7528\u6237\u540d\u53e3\u4ee4\u6a21\u5f0f\nREGISTRY_SCHEME=https REGISTRY_ADDR=${registry_address} REGISTRY_USER=${username} REGISTRY_PASS=${password} ./import_images.sh\n
      • REGISTRY_ADDR \u662f\u955c\u50cf\u4ed3\u5e93\u7684\u5730\u5740\uff0c\u6bd4\u59821.2.3.4:5000
      • \u5f53\u955c\u50cf\u4ed3\u5e93\u5b58\u5728\u7528\u6237\u540d\u5bc6\u7801\u9a8c\u8bc1\u65f6\uff0c\u9700\u8981\u8bbe\u7f6e REGISTRY_USER \u548c REGISTRY_PASS
    3. \u5c06 localartifactset.cr.yaml \u5199\u5165\u5230 K8s \u96c6\u7fa4

      cd data/airgap_patch\nkubectl apply -f localartifactset.cr.yaml\n

      \u8fd9\u4e00\u6b65\u662f\u4e3a\u4e86\u5c06\u65b0\u7684\u53ef\u79bb\u7ebf\u4f7f\u7528\u7684\u8f6f\u4ef6\u7248\u672c\u4fe1\u606f\u544a\u77e5 kubean-operator\u3002

    "},{"location":"usage/all_in_one_install/","title":"\u591a\u5408\u4e00\u6a21\u5f0f\u6700\u5c0f\u5316\u90e8\u7f72\u96c6\u7fa4","text":""},{"location":"usage/all_in_one_install/#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    1. \u60a8\u5df2\u62e5\u6709\u4e00\u4e2a\u6807\u51c6 kubernetes \u96c6\u7fa4\u6216\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3002
    2. \u96c6\u7fa4\u63a7\u5236\u8282\u70b9\u6216\u4e91\u7ec8\u7aef\u5df2\u5c06\u5b89\u88c5\u4e86 kubectl \u5de5\u5177\u3002
    3. kubean helm chart \u5df2\u5728\u60a8\u7684\u96c6\u7fa4\u4e0a\u90e8\u7f72\u3002
    4. kubean \u9879\u76ee\u5df2\u7ecf\u514b\u9686\u81f3\u60a8\u672c\u5730\uff0c\u5982\u679c\u60a8\u8fd8\u672a\u514b\u9686 kubean\uff0c\u53ef\u4ee5\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u514b\u9686\uff1a
    git clone https://github.com/kubean-io/kubean.git\n
    "},{"location":"usage/all_in_one_install/#_3","title":"\u5f00\u59cb\u90e8\u7f72","text":"

    \u672c\u6559\u7a0b\u5c06\u4f7f\u7528\u60a8\u514b\u9686\u81f3\u672c\u5730\u7684 kubean/example \u6587\u4ef6\u4f5c\u4e3a\u8303\u4f8b\u6a21\u677f\uff0c\u8fdb\u884c\u96c6\u7fa4\u90e8\u7f72\u6f14\u793a\u3002

    \u501f\u52a9\u6848\u4f8b\u6a21\u677f\uff0c\u4ec5\u9700\u4e24\u6b65\u6211\u4eec\u5c31\u80fd\u4f7f\u7528 kubean \u5b8c\u6210\u4e00\u4e2a\u5355\u8282\u70b9\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/all_in_one_install/#1-allinoneyml","title":"1. \u914d\u7f6e AllInOne.yml \u53c2\u6570","text":"

    \u8fdb\u5165 kubean/examples/install/1.minimal \u6587\u4ef6\u8def\u5f84\u4e0b\uff0c\u7f16\u8f91\u5355\u8282\u70b9\u6a21\u5f0f\u90e8\u7f72\u6a21\u677f AllInOne.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\u3002

    • <IP1>\uff1a\u8282\u70b9 IP\u3002
    • <USERNAME>\uff1a\u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\uff0c\u5efa\u8bae\u4f7f\u7528 root \u6216\u5177\u6709 root \u6743\u9650\u7684\u7528\u6237\u767b\u9646\u3002
    • <PASSWORD>\uff1a\u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\u3002
    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    \u4f8b\u5982\uff0c\u4e0b\u9762\u5c55\u793a\u4e86\u4e00\u4e2a AllInOne.yml \u793a\u4f8b\uff1a

    AllInOne.yml \u793a\u4f8b
    ---\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: mini-hosts-conf\nnamespace: kubean-system\ndata:\nhosts.yml: |\n  all:\n    hosts:\n      node1:\n        ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n        access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n        ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n        ansible_connection: ssh\n        ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n        ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n    children:\n      kube_control_plane:\n        hosts:\n          node1:\n      kube_node:\n        hosts:\n          node1:\n      etcd:\n        hosts:\n          node1:\n      k8s_cluster:\n        children:\n          kube_control_plane:\n          kube_node:\n      calico_rr:\n        hosts: {}\n\n---\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: mini-vars-conf\nnamespace: kubean-system\ndata:\ngroup_vars.yml: |\n  container_manager: containerd\n  kube_network_plugin: calico\n  etcd_deployment_type: kubeadm\n\n---\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\nname: cluster-mini\nlabels:\n  clusterName: cluster-mini\nspec:\nhostsConfRef:\n  namespace: kubean-system\n  name: mini-hosts-conf\nvarsConfRef:\n  namespace: kubean-system\n  name:  mini-vars-conf\n\n---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\nname: cluster-mini-install-ops\nspec:\ncluster: cluster-mini\nimage: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2 # kubean \u955c\u50cf\u7248\u672c\nactionType: playbook\naction: cluster.yml\npreHook:\n  - actionType: playbook\n    action: disable-firewalld.yml\npostHook:\n  - actionType: playbook\n    action: cluster-info.yml\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u7f16\u8f91 AllInOne.yml \u914d\u7f6e\u6a21\u677f\uff1a

    vi kubean/examples/install/1.minimal/AllInOne.yml\n
    "},{"location":"usage/all_in_one_install/#2-allinoneyml","title":"2. \u5e94\u7528 AllInOne.yml \u914d\u7f6e","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 AllInOne.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    kubectl apply -f examples/install/1.minimal/AllInOne.yml\n

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u5b8c\u6210\u4e86\u4e00\u4e2a\u7b80\u5355\u7684\u5355\u8282\u70b9\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/helm_install_kubean/","title":"\u5b89\u88c5 kubean helm \u5e94\u7528","text":""},{"location":"usage/helm_install_kubean/#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    1. \u60a8\u5df2\u62e5\u6709\u4e00\u4e2a\u6807\u51c6 kubernetes \u96c6\u7fa4\u6216\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3002
    2. \u5728\u60a8\u7684\u96c6\u7fa4\u63a7\u5236\u8282\u70b9\u6216\u4e91\u7ec8\u7aef\u4e0a\u5df2\u5b8c\u6210 Helm \u5de5\u5177\u7684\u5b89\u88c5\u3002\u5982\u4f55\u5b89\u88c5 Helm \u5de5\u5177\u3002
    "},{"location":"usage/helm_install_kubean/#_2","title":"\u5f00\u59cb\u90e8\u7f72","text":""},{"location":"usage/helm_install_kubean/#1-kubean-helm","title":"1. \u6dfb\u52a0 kubean Helm \u4ed3\u5e93","text":"

    \u5c06 kubean Helm \u4ed3\u5e93\u6dfb\u52a0\u5230\u672c\u5730 Helm \u4ed3\u5e93\uff0c\u5728\u73b0\u6709\u96c6\u7fa4\u63a7\u5236\u8282\u70b9\u6216\u4e91\u7ec8\u7aef\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u3002

    helm repo add kubean-io https://kubean-io.github.io/kubean-helm-chart/\n

    \u5b8c\u6210\u4e0a\u4e00\u6b65\u540e\u68c0\u67e5 kubean \u4ed3\u5e93\u662f\u5426\u5df2\u7ecf\u6b63\u786e\u6dfb\u52a0\u81f3\u672c\u5730 Helm \u4ed3\u5e93\u3002

    $ helm repo list\n\nNAME            URL\nkubean-io       https://kubean-io.github.io/kubean-helm-chart/\n
    "},{"location":"usage/helm_install_kubean/#2-kubean","title":"2. \u5b89\u88c5 kubean","text":"

    \u68c0\u67e5 kubean Helm \u4ed3\u5e93\u4e2d\u53ef\u7528\u7684 Chart \u53ca\u5176\u7248\u672c\uff0c\u6267\u884c\u4e0b\u9762\u547d\u4ee4\u5c06\u5217\u51fa kubean Helm \u4ed3\u5e93\u5185\u6240\u6709\u7684 Chart \u5217\u8868\u3002

    $ helm search repo kubean\n\nNAME                CHART VERSION   APP VERSION DESCRIPTION\nkubean-io/kubean    v0.5.2          v0.5.2      A Helm chart for kubean\n

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5b89\u88c5 kubean\u3002

    helm install kubean kubean-io/kubean --create-namespace -n kubean-system\n

    Note

    \u60a8\u8fd8\u53ef\u4ee5\u4f7f\u7528 \"--version\" \u53c2\u6570\u6765\u6307\u5b9a kubean \u7684\u7248\u672c\u3002

    "},{"location":"usage/helm_install_kubean/#3-kubean-release","title":"3. \u67e5\u770b\u5df2\u5b89\u88c5\u7684 kubean release","text":"

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u5b8c\u6210\u4e86 kubean helm chart \u7684\u90e8\u7f72\uff0c\u60a8\u53ef\u4ee5\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u67e5\u770b kubean-system \u547d\u540d\u7a7a\u95f4\u4e0b\u7684 helm release\u3002

    $ helm ls -n kubean-system\n\nNAME    NAMESPACE       REVISION    UPDATED                                     STATUS      CHART               APP VERSION\nkubean  kubean-system   1           2023-05-15 00:24:32.719770617 -0400 -0400   deployed    kubean-v0.4.9-rc1   v0.4.9-rc1\n
    "},{"location":"usage/install/","title":"\u96c6\u7fa4\u90e8\u7f72","text":"

    \u524d\u7f6e\u6761\u4ef6\uff1a\u901a\u8fc7 helm \u5b89\u88c5 kubean charts\u3002

    "},{"location":"usage/install/#_2","title":"\u5355\u8282\u70b9\u96c6\u7fa4\u90e8\u7f72","text":"

    \u53c2\u8003 minimal \u6837\u4f8b\u6a21\u677f

    \u53c2\u7167\u6a21\u677f\uff0c\u6211\u4eec\u5c06\u521b\u5efa\u4e00\u4e2a\u591a\u5408\u4e00\u7684\u5355\u8282\u70b9\u96c6\u7fa4\uff1a

    "},{"location":"usage/install/#1-allinoneyml","title":"1. \u66f4\u65b0 AllInOne.yml \u4e2d\u7684\u5360\u4f4d\u7b26\u4e3a\u771f\u5b9e\u503c","text":"
    • <IP1>
    • <USERNAME>
    • <PASSWORD>
    • <TAG>
    "},{"location":"usage/install/#2-allinoneyml","title":"2. \u5e94\u7528 AllInOne.yml","text":"
    $ kubectl apply -f examples/install/1.minimal/\n
    "},{"location":"usage/install/#_3","title":"\u52a0\u901f\u5668\u6a21\u5f0f\u90e8\u7f72","text":"

    \u53c2\u8003 mirror \u6837\u4f8b\u6a21\u677f

    "},{"location":"usage/install/#1-2mirror-yaml","title":"1. \u66f4\u65b0 2.mirror \u76ee\u5f55\u4e2d yaml \u6e05\u5355\u7684\u5360\u4f4d\u7b26\u4e3a\u771f\u5b9e\u503c","text":"
    • <IP1> / <IP2> ...
    • <USERNAME>
    • <PASSWORD>
    • <TAG>
    "},{"location":"usage/install/#2-2mirror-yaml","title":"2. \u5e94\u7528 2.mirror \u4e2d\u7684 yaml \u6e05\u5355","text":"
    $ kubectl apply -f examples/install/2.mirror/\n
    "},{"location":"usage/install/#3-varsconfcm","title":"3. \u52a0\u901f\u5668\u955c\u50cf\u8bbe\u7f6e\u8bf7\u89c1 VarsConfCM","text":"

    \u672c\u4f8b\u4e2d\u4f7f\u7528\u5230\u7684\u52a0\u901f\u5668: * \u4e8c\u8fdb\u5236\u52a0\u901f\uff1apublic binary files mirror * \u955c\u50cf\u52a0\u901f\uff1apublic image mirror

    "},{"location":"usage/install/#_4","title":"\u7eaf\u79bb\u7ebf\u6a21\u5f0f\u90e8\u7f72","text":"

    \u53c2\u8003 airgap \u6837\u4f8b\u6a21\u677f

    \u8be6\u7ec6\u8bf7\u6d4f\u89c8\u79bb\u7ebf\u573a\u666f\u7684\u4f7f\u7528

    "},{"location":"usage/install/#ssh","title":"SSH \u79d8\u94a5\u6a21\u5f0f\u90e8\u7f72","text":"

    \u8be6\u7ec6\u8bf7\u6d4f\u89c8\u4f7f\u7528 SSH \u79d8\u94a5\u65b9\u5f0f\u90e8\u7f72 K8S \u96c6\u7fa4

    "},{"location":"usage/install_without_root/","title":"\u4ee5\u975e root \u7528\u6237\u90e8\u7f72\u96c6\u7fa4","text":""},{"location":"usage/install_without_root/#_1","title":"\u5185\u5bb9","text":"
    • \u2713 1. sudo \u6743\u9650\u6821\u9a8c
    • \u2713 2. \u521b\u5efa\u4e3b\u673a\u6e05\u5355\u914d\u7f6e
    • \u2713 3. \u5236\u5907\u90e8\u7f72\u96c6\u7fa4\u7684\u914d\u7f6e\u53c2\u6570
    • \u2713 4. \u51c6\u5907 Kubean \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90
    • \u2713 5. \u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4
    "},{"location":"usage/install_without_root/#sudo","title":"sudo \u6743\u9650\u6821\u9a8c","text":"

    \u5b89\u88c5\u8fc7\u7a0b\u4e2d\u6d89\u53ca\u7cfb\u7edf\u7279\u6743\u64cd\u4f5c\uff0c\u6545\u7528\u6237\u9700\u8981\u5177\u5907 sudo \u6743\u9650\uff0c\u53ef\u8fdb\u884c\u5982\u4e0b\u68c0\u67e5\uff1a

    1. \u4f7f\u7528\u975e root \u7528\u6237\u767b\u5f55\u5230\u76ee\u6807\u8282\u70b9

    2. \u68c0\u67e5\u662f\u5426\u5b58\u5728 sudo \u547d\u4ee4\uff0c\u4e0d\u5b58\u5728\u5219\u901a\u8fc7\u7cfb\u7edf\u5305\u7ba1\u7406\u5668\u8fdb\u884c\u5b89\u88c5

      which sudo

    3. \u5728\u7ec8\u7aef\u6267\u884c echo | sudo -S -v

      \u82e5\u7ed3\u679c\u8f93\u51fa xxx is not in the sudoers file. This incident will be reported \u6216 User xxx do not have sudo privilege \u7b49\u7c7b\u4f3c\u4fe1\u606f\uff0c\u5373\u8bf4\u660e\u5f53\u524d\u7528\u6237\u4e0d\u5177\u5907 sudo \u6743\u9650\uff0c\u53cd\u4e4b\u8bf4\u660e\u5f53\u524d\u7528\u6237\u5177\u6709 sudo \u6743\u9650\u3002

    "},{"location":"usage/install_without_root/#_2","title":"\u914d\u7f6e\u4e3b\u673a\u6e05\u5355","text":"

    \u793a\u4f8b\uff1a\u4e3b\u673a\u6e05\u5355 HostsConfCM.yml \u5185\u5bb9\u5927\u81f4\u5982\u4e0b\uff0c\u5c06\u4e0b\u65b9 \u548c \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\uff1a

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        master:\n          ip: 192.168.10.11\n          access_ip: 192.168.10.11\n          ansible_host: 192.168.10.11\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n          ansible_become_password: <PASSWORD>\n        worker:\n          ip: 192.168.10.12\n          access_ip: 192.168.10.12\n          ansible_host: 192.168.10.12\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n          ansible_become_password: <PASSWORD>\n      children:\n        kube_control_plane:\n          hosts:\n            master:\n        kube_node:\n          hosts:\n            master:\n            worker:\n        etcd:\n          hosts:\n            master:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    \u6ce8\uff1a\u5982\u679c\u5728 /etc/sudoers \u6587\u4ef6\u5185\u8be5\u7528\u6237\u914d\u7f6e\u4e3a NOPASSWD\uff08\u5373\u65e0\u5bc6\u7801\u63d0\u6743\uff09\uff0c\u53ef\u5c06 ansible_become_password \u6240\u5728\u884c\u6ce8\u91ca

    "},{"location":"usage/install_without_root/#_3","title":"\u5236\u5907\u90e8\u7f72\u96c6\u7fa4\u7684\u914d\u7f6e\u53c2\u6570","text":"

    \u96c6\u7fa4\u914d\u7f6e\u53c2\u6570 VarsConfCM.yml\u7684\u5185\u5bb9\uff0c\u53ef\u4ee5\u53c2\u8003 demo vars conf\u3002

    # VarsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    container_manager: containerd\n    kube_network_plugin: calico\n    kube_network_plugin_multus: false\n    kube_proxy_mode: iptables\n    enable_nodelocaldns: false\n    etcd_deployment_type: kubeadm\n    ntp_enabled: true\n    ...\n
    "},{"location":"usage/install_without_root/#kubean","title":"\u51c6\u5907 Kubean \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90","text":"
    • Cluster \u81ea\u5b9a\u4e49\u8d44\u6e90\u5185\u5bb9\u793a\u4f8b

      # Cluster.yml\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: sample\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: sample-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: sample-vars-conf\n  sshAuthRef: # \u5173\u952e\u5c5e\u6027\uff0c\u6307\u5b9a\u96c6\u7fa4\u90e8\u7f72\u671f\u95f4\u7684 ssh \u79c1\u94a5 secret\n    namespace: kubean-system\n    name: sample-ssh-auth\n
    • ClusterOperation \u81ea\u5b9a\u4e49\u8d44\u6e90\u5185\u5bb9\u793a\u4f8b

      # ClusterOperation.yml\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: sample-create-cluster\nspec:\n  cluster: sample\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n
    "},{"location":"usage/install_without_root/#_4","title":"\u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4","text":"

    \u5047\u8bbe\u6240\u6709 YAML \u6e05\u5355\u90fd\u5b58\u653e\u5728 create_cluster \u76ee\u5f55\uff1a

    $ tree create_cluster/\ncreate_cluster\n\u251c\u2500\u2500 HostsConfCM.yml       # \u4e3b\u673a\u6e05\u5355\n\u251c\u2500\u2500 SSHAuthSec.yml        # SSH\u79c1\u94a5\n\u251c\u2500\u2500 VarsConfCM.yml        # \u96c6\u7fa4\u53c2\u6570\n\u251c\u2500\u2500 Cluster.yml           # Cluster CR\n\u2514\u2500\u2500 ClusterOperation.yml  # ClusterOperation CR\n

    \u901a\u8fc7 kubectl apply \u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4:

    kubectl apply -f create_cluster/\n
    "},{"location":"usage/mirror_install/","title":"\u4f7f\u7528\u52a0\u901f\u6a21\u5f0f\u90e8\u7f72\u96c6\u7fa4","text":""},{"location":"usage/mirror_install/#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    1. \u60a8\u5df2\u62e5\u6709\u4e00\u4e2a\u6807\u51c6 kubernetes \u96c6\u7fa4\u6216\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3002
    2. \u96c6\u7fa4\u63a7\u5236\u8282\u70b9\u6216\u4e91\u7ec8\u7aef\u5df2\u5c06\u5b89\u88c5\u4e86 kubectl \u5de5\u5177\u3002
    3. kubean helm chart \u5df2\u5728\u60a8\u7684\u96c6\u7fa4\u4e0a\u90e8\u7f72\u3002
    4. kubean \u9879\u76ee\u5df2\u7ecf\u514b\u9686\u81f3\u60a8\u672c\u5730\uff0c\u5982\u679c\u60a8\u8fd8\u672a\u514b\u9686 kubean\uff0c\u53ef\u4ee5\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u514b\u9686\uff1a
    $ git clone https://github.com/kubean-io/kubean.git\n
    "},{"location":"usage/mirror_install/#_3","title":"\u5f00\u59cb\u90e8\u7f72","text":"

    \u672c\u6559\u7a0b\u5c06\u4f7f\u7528\u60a8\u514b\u9686\u81f3\u672c\u5730\u7684 kubean/example/2.mirror \u6587\u4ef6\u4f5c\u4e3a\u8303\u4f8b\u6a21\u677f\uff0c\u8fdb\u884c\u96c6\u7fa4\u52a0\u901f\u90e8\u7f72\u6f14\u793a\u3002

    \u5728\u52a0\u901f\u90e8\u7f72\u6a21\u677f 2.mirror \u5185\u5df2\u7ecf\u5185\u7f6e\u4e86\u52a0\u901f\u53c2\u6570\u914d\u7f6e\uff0c\u60a8\u53ea\u9700\u8981\u5c06 /2.mirror\u6587\u4ef6\u8def\u5f84\u4e0b\u7684 HostsConfCM.yml ** \u548c ClusterOperation.yml** \u4e24\u4e2a\u914d\u7f6e\u6a21\u677f\u6587\u4ef6\u5185\u7684\u4e3b\u673a\u7b49\u4fe1\u606f\u6539\u6210\u60a8\u7684\u771f\u5b9e\u53c2\u6570\u3002

    2.mirror` \u6587\u4ef6\u5185\u4e3b\u8981\u7684\u914d\u7f6e\u6587\u4ef6\u53ca\u7528\u9014\u5982\u4e0b\uff1a
        .2.mirror\n    \u251c\u2500\u2500 Cluster.yml                        # \u5f85\u5efa\u96c6\u7fa4\u4fe1\u606f\u7684\u62bd\u8c61\n    \u251c\u2500\u2500 ClusterOperation.yml        # kubean \u7248\u672c\u53ca\u4efb\u52a1\u914d\u7f6e\n    \u251c\u2500\u2500 HostsConfCM.yml              # \u5f85\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u4fe1\u606f\u914d\u7f6e\n    \u2514\u2500\u2500 VarsConfCM.yml                # \u52a0\u901f\u7b49\u5b83\u7279\u6027\u914d\u7f6e\n
    "},{"location":"usage/mirror_install/#1-hostsconfcmyml","title":"1. \u914d\u7f6e\u4e3b\u673a\u914d\u7f6e\u53c2\u6570 HostsConfCM.yml","text":"

    \u8fdb\u5165 kubean/examples/install/2.mirror/ \u8def\u5f84\uff0c\u7f16\u8f91\u5f85\u5efa\u96c6\u7fa4\u8282\u70b9\u914d\u7f6e\u4fe1\u606f\u6a21\u677f HostsConfCM.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <IP1>\uff1a\u8282\u70b9 IP\u3002
    • <USERNAME>\uff1a\u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\uff0c\u5efa\u8bae\u4f7f\u7528 root \u6216\u5177\u6709 root \u6743\u9650\u7684\u7528\u6237\u767b\u9646\u3002
    • <PASSWORD>\uff1a\u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\u3002

    \u4f8b\u5982\uff0c\u4e0b\u9762\u5c55\u793a\u4e86\u4e00\u4e2a HostsConfCM.yml \u793a\u4f8b\uff1a

    HostsConfCM.yml \u793a\u4f8b
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: online-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n        node2:\n          ip: 10.6.175.20 # \u8282\u70b9 2 \u7684 IP\n          access_ip: 10.6.175.20 # \u8282\u70b9 2 IP\n          ansible_host: 10.6.175.20 # \u8282\u70b9\u7684 2 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9 2 \u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9 2 \u7684\u5bc6\u7801\n      children:\n        kube_control_plane: # \u914d\u7f6e\u96c6\u7fa4\u63a7\u5236\u8282\u70b9\n          hosts:\n            node1:\n        kube_node: # \u914d\u7f6e\u96c6\u7fa4\u5de5\u4f5c\u8282\u70b9\n          hosts:\n            node1:\n            node2:\n        etcd: # \u914d\u7f6e\u96c6\u7fa4 ETCD \u8282\u70b9\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u7f16\u8f91 HostsConfCM.yml \u914d\u7f6e\u6a21\u677f\uff1a

    $ vi kubean/examples/install/2.mirror/HostsConfCM.yml\n
    "},{"location":"usage/mirror_install/#2-kubean-clusteroperationyml","title":"2. \u914d\u7f6e kubean \u4efb\u52a1\u914d\u7f6e\u53c2\u6570 ClusterOperation.yml","text":"

    \u8fdb\u5165 kubean/examples/install/2.mirror/ \u8def\u5f84\uff0c\u7f16\u8f91\u5f85\u5efa\u96c6\u7fa4\u8282\u70b9\u914d\u7f6e\u4fe1\u606f\u6a21\u677f ClusterOperation.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    \u4f8b\u5982\uff0c\u4e0b\u9762\u5c55\u793a\u4e86\u4e00\u4e2a ClusterOperation.yml \u793a\u4f8b\uff1a

    ClusterOperation.yml \u793a\u4f8b
    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-online-install-ops\nspec:\n  cluster: cluster1-online\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2 # kubean \u955c\u50cf\u7248\u672c\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u7f16\u8f91 ClusterOperation.yml \u914d\u7f6e\u6a21\u677f\uff1a

    $ vi kubean/examples/install/2.mirror/ClusterOperation.yml\n
    "},{"location":"usage/mirror_install/#3-2mirror","title":"3.\u5e94\u7528 2.mirror \u6587\u4ef6\u4e0b\u6240\u6709\u7684\u914d\u7f6e","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 HostsConfCM.yml \u548c ClusterOperation.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/install/2.mirror\n

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u4f7f\u7528\u52a0\u901f\u6a21\u5f0f\u5b8c\u6210\u4e86\u4e00\u4e2a\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/scale_worknode/","title":"\u96c6\u7fa4\u5de5\u4f5c\u8282\u70b9\u6269\u7f29\u5bb9","text":"

    \u5728\u8f6f\u4ef6\u5f00\u53d1\u8fd0\u7ef4\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u7684\u53d1\u5c55\u5f80\u5f80\u9700\u8981\u6dfb\u52a0\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u4ee5\u6ee1\u8db3\u4e1a\u52a1\u589e\u957f\uff0c\u5bf9\u4e8e\u4f7f\u7528 kubean \u90e8\u7f72\u7684\u96c6\u7fa4\uff0c\u5728 kubean \u4e2d\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u58f0\u660e\u5f0f\u7684\u65b9\u5f0f\uff0c\u5feb\u901f\u6269\u7f29\u5bb9\u96c6\u7fa4\u5de5\u4f5c\u8282\u70b9\u3002

    \u5728\u60a8\u514b\u9686\u81f3\u672c\u5730\u7684 kubean/example/scale \u6587\u4ef6\u5185\uff0c\u540c\u6837\u63d0\u4f9b\u4e86\u5de5\u4f5c\u8282\u70b9\u6269\u7f29\u5bb9\u7684\u6837\u4f8b\u6a21\u677f\uff1a

    sacle \u6587\u4ef6\u5185\u4e3b\u8981\u7684\u914d\u7f6e\u6587\u4ef6\u53ca\u7528\u9014\u5982\u4e0b\uff1a
        scale\n    \u251c\u2500\u2500 1.addWorkNode                             # \u589e\u52a0\u5de5\u4f5c\u8282\u70b9\u6a21\u677f\n    \u2502   \u251c\u2500\u2500 ClusterOperation.yml                       # kubean \u7248\u672c\u53ca\u4efb\u52a1\u914d\u7f6e\n    \u2502   \u2514\u2500\u2500 HostsConfCM.yml                            #\u5f53\u524d\u96c6\u7fa4\u7684\u8282\u70b9\u4fe1\u606f\u914d\u7f6e\n    \u2514\u2500\u2500 2.delWorkNode                             # \u5220\u9664\u5de5\u4f5c\u8282\u70b9\u6a21\u677f\n    \u2502   \u251c\u2500\u2500 ClusterOperation.yml                       # kubean \u7248\u672c\u53ca\u4efb\u52a1\u914d\u7f6e\n    \u2502   \u2514\u2500\u2500 HostsConfCM.yml                             #\u5f53\u524d\u96c6\u7fa4\u7684\u8282\u70b9\u4fe1\u606f\u914d\u7f6e\n

    \u89c2\u5bdf\u4f38\u7f29\u914d\u7f6e\u6a21\u677f scale \u6587\u4ef6\u53ef\u4ee5\u53d1\u73b0\uff0c\u5bf9\u96c6\u7fa4\u5de5\u4f5c\u8282\u70b9\u8fdb\u884c\u6269\u7f29\u5bb9\u53ea\u9700\u6267\u884c HostsConfCM.yml \u548c ClusterOperation.yml \u4e24\u4e2a\u914d\u7f6e\u6587\u4ef6\uff0c\u5e76\u5c06\u65b0\u589e\u8282\u70b9\u4fe1\u606f\u7b49\u53c2\u6570\u6539\u6210\u66ff\u6362\u6210\u60a8\u7684\u771f\u5b9e\u53c2\u6570\u3002

    \u4e0b\u9762\u4ee5\u4f7f\u7528 all-in-one \u6a21\u5f0f\u90e8\u7f72\u7684\u5355\u8282\u70b9\u96c6\u7fa4\u4e3a\u4f8b\uff0c\u6765\u6f14\u793a\u96c6\u7fa4\u8282\u70b9\u7684\u6269\u7f29\u5bb9\u64cd\u4f5c\u3002

    \u6ce8\u610f\uff1a\u6267\u884c\u96c6\u7fa4\u6269\u7f29\u5bb9\u524d\uff0c\u60a8\u5fc5\u987b\u5df2\u7ecf\u4f7f\u7528 kubean \u5b8c\u6210\u4e86\u4e00\u5957\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/scale_worknode/#_2","title":"\u6269\u5bb9\u5de5\u4f5c\u8282\u70b9","text":""},{"location":"usage/scale_worknode/#1-hostsconfcmyml","title":"1. \u5411 HostsConfCM.yml \u589e\u52a0\u65b0\u8282\u70b9\u4e3b\u673a\u53c2\u6570","text":"

    \u6211\u4eec\u8981\u5728\u539f\u6709\u7684 all-in-one \u6a21\u5f0f\u4e2d\uff0c\u5bf9\u540d\u4e3a mini-hosts-conf \u7684 ConfigMap \u8fdb\u884c\u65b0\u589e\u8282\u70b9\u914d\u7f6e\uff0c\u5728\u539f\u6765 node1 \u4e3b\u8282\u70b9\u7684\u57fa\u7840\u4e0a, \u65b0\u589e node2 \u5de5\u4f5c\u8282\u70b9\uff1b

    \u5177\u4f53\u5730\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165 kubean/examples/scale/1.addWorkNode/ \u8def\u5f84\uff0c\u7f16\u8f91\u5df2\u51c6\u5907\u597d\u7684\u8282\u70b9\u914d\u7f6e ConfigMap \u6a21\u677f HostsConfCM.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <IP2>\uff1a\u8282\u70b9 IP\u3002
    • <USERNAME>\uff1a\u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\uff0c\u5efa\u8bae\u4f7f\u7528 root \u6216\u5177\u6709 root \u6743\u9650\u7684\u7528\u6237\u767b\u9646\u3002
    • <PASSWORD>\uff1a\u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\u3002

    kubean/examples/scale/1.addWorkNode/ \u8def\u5f84\u4e0b HostsConfCM.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    HostsConfCM.yml \u6a21\u677f
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: <IP1>\n          access_ip: <IP1>\n          ansible_host: <IP1>\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n        node2:\n          ip: <IP2>\n          access_ip: <IP2>\n          ansible_host: <IP2>\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    \u91cd\u8981\u53c2\u6570\uff1a

    • all.hosts.node1: \u539f\u96c6\u7fa4\u4e2d\u5df2\u5b58\u5728\u7684\u4e3b\u8282\u70b9
    • all.hosts.node2: \u96c6\u7fa4\u6269\u5bb9\u5f85\u65b0\u589e\u7684\u5de5\u4f5c\u8282\u70b9
    • all.children.kube_node.hosts: \u96c6\u7fa4\u4e2d\u7684\u5de5\u4f5c\u8282\u70b9\u7ec4

    \u65b0\u589e\u5de5\u4f5c\u8282\u70b9\u4e3b\u673a\u53c2\u6570\u7684\u793a\u4f8b

    \u65b0\u589e\u8282\u70b9\u524d\u65b0\u589e\u8282\u70b9\u540e
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n        node2:\n          ip: 10.6.175.20 # \u65b0\u589e\u8282\u70b9 2 \u7684 IP\n          access_ip: 10.6.175.20 # \u65b0\u589e\u8282\u70b9 2 \u7684 IP\n          ansible_host: 10.6.175.20 # \u65b0\u589e\u8282\u70b9\u7684 2 \u7684 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9 2 \u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9 2 \u7684\u5bc6\u7801\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    "},{"location":"usage/scale_worknode/#2-clusteroperationyml","title":"2. \u901a\u8fc7 ClusterOperation.yml \u65b0\u589e\u6269\u5bb9\u4efb\u52a1","text":"

    \u8fdb\u5165 kubean/examples/scale/1.addWorkNode/ \u8def\u5f84\uff0c\u7f16\u8f91\u6a21\u677f ClusterOperation.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    kubean/examples/scale/1.addWorkNode/ \u8def\u5f84\u4e0b ClusterOperation.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-awn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: scale.yml\n  extraArgs: --limit=node2\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • spec.cluster: \u6307\u5b9a\u9700\u8981\u6269\u5bb9\u8282\u70b9\u7684\u96c6\u7fa4\u540d\u79f0\uff0c\u4e0a\u8ff0\u6307\u5b9a\u7684\u662f\u540d\u4e3a cluster-mini \u7684\u96c6\u7fa4\u4e3a\u6269\u5bb9\u76ee\u6807\u3002
    • spec.action: \u6307\u5b9a\u6269\u5bb9\u8282\u70b9\u7684 kubespray \u5267\u672c, \u8fd9\u91cc\u8bbe\u7f6e\u4e3a scale.yml.
    • spec.extraArgs: \u6307\u5b9a\u6269\u5bb9\u7684\u8282\u70b9\u9650\u5236\uff0c\u8fd9\u91cc\u901a\u8fc7 --limit= \u53c2\u6570\u9650\u5b9a\u6269\u5bb9 node2 \u8282\u70b9

    \u4f8b\u5982\uff0c\u4e0b\u9762\u5c55\u793a\u4e86\u4e00\u4e2a ClusterOperation.yml \u793a\u4f8b\uff1a

    ClusterOperation.yml \u793a\u4f8b
    ---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-awn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2\n  actionType: playbook\n  action: scale.yml\n  extraArgs: --limit=node2\n
    "},{"location":"usage/scale_worknode/#3-scale1addworknode","title":"3.\u5e94\u7528 scale/1.addWorkNode \u6587\u4ef6\u4e0b\u6240\u6709\u7684\u914d\u7f6e","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 HostsConfCM.yml \u548c ClusterOperation.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/install/scale/1.addWorkNode/\n

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u4f7f\u5b8c\u6210\u4e86\u4e00\u4e2a\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u6269\u5bb9\u3002

    "},{"location":"usage/scale_worknode/#_3","title":"\u7f29\u5bb9\u5de5\u4f5c\u8282\u70b9","text":""},{"location":"usage/scale_worknode/#1-clusteroperationyml","title":"1. \u901a\u8fc7 ClusterOperation.yml \u65b0\u589e\u7f29\u5bb9\u4efb\u52a1","text":"

    \u8fdb\u5165 kubean/examples/scale/2.delWorkNode/ \u8def\u5f84\uff0c\u7f16\u8f91\u6a21\u677f ClusterOperation.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    kubean/examples/scale/2.delWorkNode/ \u8def\u5f84\u4e0b ClusterOperation.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-dwn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: remove-node.yml\n  extraArgs: -e node=node2\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • spec.cluster: \u6307\u5b9a\u9700\u8981\u7f29\u5bb9\u8282\u70b9\u7684\u96c6\u7fa4\u540d\u79f0, \u4e0a\u8ff0\u6307\u5b9a\u7684\u662f\u540d\u4e3a cluster-mini \u7684\u96c6\u7fa4\u4e3a\u7f29\u5bb9\u76ee\u6807\u3002
    • spec.action: \u6307\u5b9a\u7f29\u5bb9\u8282\u70b9\u7684 kubespray \u5267\u672c, \u8fd9\u91cc\u8bbe\u7f6e\u4e3a remove-node.yml\u3002
    • spec.extraArgs: \u6307\u5b9a\u7f29\u5bb9\u7684\u8282\u70b9\uff0c\u8fd9\u91cc\u901a\u8fc7 -e \u53c2\u6570\u6307\u5b9a\u7f29\u5bb9 node2 \u8282\u70b9

    \u4f8b\u5982\uff0c\u4e0b\u9762\u5c55\u793a\u4e86\u4e00\u4e2a ClusterOperation.yml \u793a\u4f8b\uff1a

    ClusterOperation.yml \u793a\u4f8b
    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-dwn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2\n  actionType: playbook\n  action: remove-node.yml\n  extraArgs: -e node=node2\n
    "},{"location":"usage/scale_worknode/#2-scale2delworknode-clusteroperation","title":"2.\u5e94\u7528 scale/2.delWorkNode \u76ee\u5f55\u4e0b\u7684 ClusterOperation \u7f29\u5bb9\u4efb\u52a1\u6e05\u5355","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 ClusterOperation.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/install/scale/2.delWorkNode/ClusterOperation.yml\n

    \u9ed8\u8ba4\u8fdb\u5165 kubean-system \u547d\u540d\u7a7a\u95f4\uff0c\u67e5\u770b\u7f29\u5bb9\u4efb\u52a1\u6267\u884c\u72b6\u6001\uff1a

    $ kubectl -n kubean-system get pod | grep cluster-mini-dwn-ops\n
    \u4e86\u89e3\u7f29\u5bb9\u4efb\u52a1\u6267\u884c\u8fdb\u5ea6\uff0c\u53ef\u67e5\u770b\u8be5 pod \u65e5\u5fd7\uff1b

    "},{"location":"usage/scale_worknode/#3-hostsconfcmyml","title":"3. \u901a\u8fc7 HostsConfCM.yml \u5220\u9664\u5de5\u4f5c\u8282\u70b9\u4e3b\u673a\u53c2\u6570","text":"

    \u6211\u4eec\u5df2\u7ecf\u901a\u8fc7\u5982\u4e0a\u4e24\u6b65\u64cd\u4f5c\u6267\u884c\u4e86\u7f29\u5bb9\u4efb\u52a1\uff0c\u5f85\u7f29\u5bb9\u4efb\u52a1\u6267\u884c\u5b8c\u6210\u540e\uff0cnode2 \u5c06\u4ece\u73b0\u6709\u96c6\u7fa4\u4e2d\u6c38\u4e45\u79fb\u9664\uff0c\u5219\u6b64\u65f6\u6211\u4eec\u8fd8\u9700\u8981\u5b8c\u6210\u6700\u540e\u4e00\u6b65\uff0c\u5c06\u8282\u70b9\u914d\u7f6e\u76f8\u5173 Configmap \u4e2d\u7684 node2 \u4fe1\u606f\u79fb\u9664;

    \u8fdb\u5165 kubean/examples/scale/2.delWorkNode/ \u8def\u5f84\uff0c\u7f16\u8f91\u5df2\u51c6\u5907\u597d\u7684\u8282\u70b9\u914d\u7f6e\u6a21\u677f HostsConfCM.yml\uff0c\u5220\u9664\u9700\u8981\u79fb\u9664\u7684\u5de5\u4f5c\u8282\u70b9\u914d\u7f6e\u3002

    \u5220\u9664\u53c2\u6570\u5982\u4e0b\uff1a

    • all.hosts \u4e0b\u7684 node2 \u8282\u70b9\u63a5\u5165\u53c2\u6570\u3002
    • all.children.kube_node.hosts \u5185\u7684\u4e3b\u673a\u540d\u79f0 node2 \u3002

    \u79fb\u9664\u5de5\u4f5c\u8282\u70b9\u4e3b\u673a\u53c2\u6570\u7684\u793a\u4f8b

    \u79fb\u9664\u8282\u70b9\u524d\u79fb\u9664\u8282\u70b9\u540e
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n        node2:\n          ip: 10.6.175.20 # \u65b0\u589e\u8282\u70b9 2 \u7684 IP\n          access_ip: 10.6.175.20 # \u65b0\u589e\u8282\u70b9 2 IP\n          ansible_host: 10.6.175.20 # \u65b0\u589e\u8282\u70b9\u7684 2 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9 2 \u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9 2 \u7684\u5bc6\u7801\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 HostsConfCM.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/install/scale/2.delWorkNode/HostsConfCM.yml\n

    \u6b64\u65f6\uff0c\u6211\u4eec\u5df2\u5c06 node2 \u5de5\u4f5c\u8282\u70b9\u4ece\u96c6\u7fa4\u4e2d\u79fb\u9664\uff0c\u5e76\u4e14\u6e05\u7406\u6389\u4e86\u6709\u5173 node2 \u7684\u4e3b\u673a\u4fe1\u606f\uff0c\u6574\u4e2a\u7f29\u5bb9\u64cd\u4f5c\u5c31\u6b64\u7ed3\u675f\uff1b

    "},{"location":"usage/sshkey_deploy_cluster/","title":"\u4ee5 SSH \u5bc6\u94a5\u65b9\u5f0f\u90e8\u7f72\u96c6\u7fa4","text":""},{"location":"usage/sshkey_deploy_cluster/#_1","title":"\u5185\u5bb9","text":"
    • \u2713 1. SSH \u5bc6\u94a5\u7684\u751f\u6210\u4e0e\u5206\u53d1
    • \u2713 2. \u4f7f\u7528\u79c1\u94a5\u5236\u4f5c Secret
    • \u2713 3. \u521b\u5efa\u4e3b\u673a\u6e05\u5355\u914d\u7f6e
    • \u2713 4. \u5236\u5907\u90e8\u7f72\u96c6\u7fa4\u7684\u914d\u7f6e\u53c2\u6570
    • \u2713 5. \u51c6\u5907 Kubean \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90
    • \u2713 6. \u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4
    "},{"location":"usage/sshkey_deploy_cluster/#ssh_1","title":"SSH \u5bc6\u94a5\u7684\u751f\u6210\u4e0e\u5206\u53d1","text":"
    1. \u901a\u8fc7 ssh-keygen \u547d\u4ee4\u751f\u6210\u516c\u79c1\u94a5\u5bf9\uff0c\u6bd4\u5982\uff1a

      $ ssh-keygen -t rsa -b 4096 -C \"your_email@example.com\" -f $HOME/.ssh/id_rsa\nGenerating public/private rsa key pair.\nCreated directory '/root/.ssh'.\nEnter passphrase (empty for no passphrase):\nEnter same passphrase again:\nYour identification has been saved in /root/.ssh/id_rsa.\nYour public key has been saved in /root/.ssh/id_rsa.pub.\nThe key fingerprint is:\nSHA256:oMqlhL8wLuYycOkUNXyiDso62C+ryNYc9k3LMDltQZs your_email@example.com\nThe keys randomart image is:\n+---[RSA 4096]----+\n|   .             |\n|    = ..         |\n|   o +o o        |\n|..o  . E         |\n|+o.oo o S        |\n|o==* = +         |\n|*=O o O .        |\n|@=++ . +         |\n|OBo+.            |\n+----[SHA256]-----+\n\n$ ls /root/.ssh/id_rsa* -lh\n-rw-------. 1 root root 1.7K Nov 10 03:47 /root/.ssh/id_rsa         # \u79c1\u94a5\n-rw-r--r--. 1 root root  408 Nov 10 03:47 /root/.ssh/id_rsa.pub     # \u516c\u94a5\n
    2. \u5206\u53d1\u516c\u94a5\u5230\u96c6\u7fa4\u7684\u5404\u4e2a\u8282\u70b9\uff1a

      # \u6bd4\u5982\u6307\u5b9a\u5c06\u516c\u94a5\u5206\u53d1\u81f3 `192.168.10.11` `192.168.10.12` \u4e24\u4e2a\u8282\u70b9\n$ declare -a IPS=(192.168.10.11 192.168.10.12)\n\n# \u904d\u5386\u8282\u70b9 IP \u5206\u53d1\u516c\u94a5(/root/.ssh/id_rsa.pub)\uff0c\u5047\u8bbe\u7528\u6237\u540d\u4e3a: root, \u5bc6\u7801\u4e3a: kubean\n$ for ip in ${IPS[@]}; do sshpass -p \"kubean\" ssh-copy-id -i /root/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@$ip; done\n
    "},{"location":"usage/sshkey_deploy_cluster/#secret","title":"\u4f7f\u7528\u79c1\u94a5\u5236\u4f5c Secret","text":"

    \u901a\u8fc7 kubectl \u547d\u4ee4\u751f\u6210\u79c1\u94a5\u7684 Secret\uff1a

    $ kubectl -n kubean-system \\                            # \u6307\u5b9a\u547d\u540d\u7a7a\u95f4 kubean-system\n    create secret generic sample-ssh-auth \\             # \u6307\u5b9a secret \u540d\u79f0\u4e3a sample-ssh-auth\n    --type='kubernetes.io/ssh-auth' \\                   # \u6307\u5b9a secret \u7c7b\u578b\u4e3a kubernetes.io/ssh-auth\n    --from-file=ssh-privatekey=/root/.ssh/id_rsa \\      # \u6307\u5b9a ssh \u79c1\u94a5\u6587\u4ef6\u8def\u5f84\n    --dry-run=client -o yaml > SSHAuthSec.yml           # \u6307\u5b9a secret yaml \u6587\u4ef6\u751f\u6210\u8def\u5f84\n

    \u751f\u6210\u7684 SSHAuthSec.yml \u5185\u5bb9\u5927\u81f4\u5982\u4e0b\u6240\u793a\uff1a

    # SSHAuthSec.yml\napiVersion: v1\nkind: Secret\nmetadata:\n  creationTimestamp: null\n  name: sample-ssh-auth\n  namespace: kubean-system\ntype: kubernetes.io/ssh-auth\ndata:\n  ssh-privatekey: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdWVDbC8rSng1b0RT...\n
    "},{"location":"usage/sshkey_deploy_cluster/#_2","title":"\u521b\u5efa\u4e3b\u673a\u6e05\u5355\u914d\u7f6e","text":"

    \u793a\u4f8b\uff1a\u4e3b\u673a\u6e05\u5355 HostsConfCM.yml \u5185\u5bb9\u5927\u81f4\u5982\u4e0b\uff0c\u5e76\u5c06\u4e0b\u65b9 \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7528\u6237\u540d\uff1a

    # HostsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        master:\n          ip: 192.168.10.11\n          access_ip: 192.168.10.11\n          ansible_host: 192.168.10.11\n          ansible_user: <USRENAME>\n        worker:\n          ip: 192.168.10.12\n          access_ip: 192.168.10.12\n          ansible_host: 192.168.10.12\n          ansible_user: <USRENAME>\n      children:\n        kube_control_plane:\n          hosts:\n            master:\n        kube_node:\n          hosts:\n            master:\n            worker:\n        etcd:\n          hosts:\n            master:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    \u6ce8\uff1a\u7531\u4e8e\u91c7\u7528\u79c1\u94a5\u767b\u5f55\uff0c\u6240\u4ee5\u4e3b\u673a\u4fe1\u606f\u4e2d\u4e0d\u9700\u8981\u586b\u5199\u5bc6\u7801\uff08\u5373\uff1aansible_password\uff09

    "},{"location":"usage/sshkey_deploy_cluster/#_3","title":"\u5236\u5907\u90e8\u7f72\u96c6\u7fa4\u7684\u914d\u7f6e\u53c2\u6570","text":"

    \u96c6\u7fa4\u914d\u7f6e\u53c2\u6570 VarsConfCM.yml\u7684\u5185\u5bb9\uff0c\u53ef\u4ee5\u53c2\u8003 demo vars conf\u3002

    # VarsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    container_manager: containerd\n    kube_network_plugin: calico\n    kube_network_plugin_multus: false\n    kube_proxy_mode: iptables\n    enable_nodelocaldns: false\n    etcd_deployment_type: kubeadm\n    ntp_enabled: true\n    ...\n
    "},{"location":"usage/sshkey_deploy_cluster/#kubean","title":"\u51c6\u5907 Kubean \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90","text":"
    • Cluster \u81ea\u5b9a\u4e49\u8d44\u6e90\u5185\u5bb9\u793a\u4f8b

      # Cluster.yml\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: sample\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: sample-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: sample-vars-conf\n  sshAuthRef: # \u5173\u952e\u5c5e\u6027\uff0c\u6307\u5b9a\u96c6\u7fa4\u90e8\u7f72\u671f\u95f4\u7684 ssh \u79c1\u94a5 secret\n    namespace: kubean-system\n    name: sample-ssh-auth\n
    • ClusterOperation \u81ea\u5b9a\u4e49\u8d44\u6e90\u5185\u5bb9\u793a\u4f8b

      # ClusterOperation.yml\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: sample-create-cluster\nspec:\n  cluster: sample\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n
    "},{"location":"usage/sshkey_deploy_cluster/#_4","title":"\u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4","text":"

    \u5047\u8bbe\u6240\u6709 YAML \u6e05\u5355\u90fd\u5b58\u653e\u5728 create_cluster \u76ee\u5f55\uff1a

    $ tree create_cluster/\ncreate_cluster\n\u251c\u2500\u2500 HostsConfCM.yml       # \u4e3b\u673a\u6e05\u5355\n\u251c\u2500\u2500 SSHAuthSec.yml        # SSH\u79c1\u94a5\n\u251c\u2500\u2500 VarsConfCM.yml        # \u96c6\u7fa4\u53c2\u6570\n\u251c\u2500\u2500 Cluster.yml           # Cluster CR\n\u2514\u2500\u2500 ClusterOperation.yml  # ClusterOperation CR\n

    \u901a\u8fc7 kubectl apply \u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4:

    kubectl apply -f create_cluster/\n
    "},{"location":"usage/support_k8s_version/","title":"Support k8s version","text":"kubean Version Default Kubernetes Version Supported Kubernetes Version Range v0.8.6 v1.26.7 - \"v1.27.4\" - \"v1.27.3\" - \"v1.27.2\" - \"v1.27.1\" - \"v1.27.0\" - \"v1.26.7\" - \"v1.26.6\" - \"v1.26.5\" - \"v1.26.4\" - \"v1.26.3\" - \"v1.26.2\" - \"v1.26.1\" - \"v1.26.0\" - \"v1.25.11\" - \"v1.25.10\" - \"v1.25.9\" - \"v1.25.8\" - \"v1.25.7\" - \"v1.25.6\" - \"v1.25.5\" - \"v1.25.4\" - \"v1.25.3\" - \"v1.25.2\" - \"v1.25.1\" - \"v1.25.0\" - \"v1.24.15\" - \"v1.24.14\" v0.9.0 v1.26.7 - 'v1.28.1' - 'v1.28.0' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' - 'v1.26.8' - 'v1.26.7' - 'v1.26.6' - 'v1.26.5' - 'v1.26.4' - 'v1.26.3' - 'v1.26.2' - 'v1.26.1' - 'v1.26.0' v0.11.1 v1.27.5 - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' - 'v1.26.11' - 'v1.26.10' - 'v1.26.9' - 'v1.26.8' - 'v1.26.7' - 'v1.26.6' - 'v1.26.5' - 'v1.26.4' - 'v1.26.3' - 'v1.26.2' - 'v1.26.1' - 'v1.26.0' v0.11.2 v1.27.5 - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' - 'v1.26.11' - 'v1.26.10' - 'v1.26.9' - 'v1.26.8' - 'v1.26.7' - 'v1.26.6' - 'v1.26.5' - 'v1.26.4' - 'v1.26.3' - 'v1.26.2' - 'v1.26.1' - 'v1.26.0' v0.12.1 v1.27.5 - 'v1.29.0' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' - 'v1.26.12' - 'v1.26.11' - 'v1.26.10' - 'v1.26.9' - 'v1.26.8' - 'v1.26.7' - 'v1.26.6' - 'v1.26.5' - 'v1.26.4' - 'v1.26.3' - 'v1.26.2' - 'v1.26.1' - 'v1.26.0' v0.13.0 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.1 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.3 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.4 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.5 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.8 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.9 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.14.0 v1.27.5 - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.12' - 'v1.27.11' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.10 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.11 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.15.0 v1.27.5 - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.12' - 'v1.27.11' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.15.1 v1.27.5 - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.13' - 'v1.27.12' - 'v1.27.11' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.15.3 v1.28.9 - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.13' - 'v1.27.12' - 'v1.27.11' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.16.0 v1.29.5 - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.16.1 v1.29.5 - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.16.3 v1.29.5 - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.17.0 v1.29.5 - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.17.1 v1.29.5 - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.17.2 v1.29.5 - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.17.4 v1.29.5 - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.18.1 v1.29.5 - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.18.5 v1.29.5 - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.12' - 'v1.28.11' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.19.0 v1.30.4 - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.12' - 'v1.28.11' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.20.0 v1.30.4 - 'v1.31.2' - 'v1.31.1' - 'v1.31.0' - 'v1.30.6' - 'v1.30.5' - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.10' - 'v1.29.9' - 'v1.29.8' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' v0.21.0 v1.30.5 - 'v1.31.2' - 'v1.31.1' - 'v1.31.0' - 'v1.30.6' - 'v1.30.5' - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.10' - 'v1.29.9' - 'v1.29.8' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' v0.21.1 v1.30.5 - 'v1.31.2' - 'v1.31.1' - 'v1.31.0' - 'v1.30.6' - 'v1.30.5' - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.10' - 'v1.29.9' - 'v1.29.8' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' v0.22.1 v1.30.5 - 'v1.31.3' - 'v1.31.2' - 'v1.31.1' - 'v1.31.0' - 'v1.30.7' - 'v1.30.6' - 'v1.30.5' - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.11' - 'v1.29.10' - 'v1.29.9' - 'v1.29.8' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' v0.22.2 v1.30.5 - 'v1.31.3' - 'v1.31.2' - 'v1.31.1' - 'v1.31.0' - 'v1.30.7' - 'v1.30.6' - 'v1.30.5' - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.11' - 'v1.29.10' - 'v1.29.9' - 'v1.29.8' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0'"},{"location":"usage/uninstall/","title":"\u96c6\u7fa4\u5378\u8f7d","text":"

    \u672c\u8282\u5c06\u5411\u60a8\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 kubean \u5378\u8f7d\u96c6\u7fa4\u3002\u5728\u60a8\u514b\u9686\u81f3\u672c\u5730\u7684 kubean/example/uninstall \u6587\u4ef6\u5185\uff0c\u540c\u6837\u63d0\u4f9b\u4e86\u5378\u8f7d\u96c6\u7fa4\u7684\u6837\u4f8b\u6a21\u677f\uff1a

    uninsatall \u6587\u4ef6\u5185\u4e3b\u8981\u7684\u914d\u7f6e\u6587\u4ef6\u53ca\u7528\u9014\u5982\u4e0b\uff1a
        uninstall\n    \u251c\u2500\u2500 ClusterOperation.yml                # \u5378\u8f7d\u96c6\u7fa4\u4efb\u52a1\n

    \u4e0b\u9762\u4ee5\u4f7f\u7528 all-in-one \u6a21\u5f0f\u90e8\u7f72\u7684\u5355\u8282\u70b9\u96c6\u7fa4\u4e3a\u4f8b\uff0c\u6765\u6f14\u793a\u96c6\u7fa4\u7248\u672c\u5347\u7ea7\u64cd\u4f5c\u3002

    \u6ce8\u610f\uff1a\u6267\u884c\u96c6\u7fa4\u5378\u8f7d\u524d\uff0c\u60a8\u5fc5\u987b\u5df2\u7ecf\u4f7f\u7528 kubean \u5b8c\u6210\u4e86\u4e00\u5957\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/uninstall/#1","title":"1. \u65b0\u589e\u5378\u8f7d\u4efb\u52a1","text":"

    \u8fdb\u5165 kubean/examples/uninstall/ \u8def\u5f84\uff0c\u7f16\u8f91\u6a21\u677f ClusterOperation.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    kubean/examples/uninstall/ \u8def\u5f84\u4e0b ClusterOperation.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-uninstall-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: reset.yml\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • spec.cluster\uff1a\u6307\u5b9a\u9700\u8981\u5378\u8f7d\u7684\u96c6\u7fa4\u540d\u79f0, \u4e0a\u8ff0\u6307\u5b9a\u7684\u662f\u540d\u4e3a cluster-mini \u7684\u96c6\u7fa4\u4e3a\u5378\u8f7d\u76ee\u6807\u3002
    • spec.action:\uff1a\u6307\u5b9a\u5378\u8f7d\u76f8\u5173\u7684 kubespray \u5267\u672c, \u8fd9\u91cc\u8bbe\u7f6e\u4e3a reset.yml\u3002
    "},{"location":"usage/uninstall/#2-uninstall","title":"2.\u5e94\u7528 uninstall \u6587\u4ef6\u4e0b\u7684\u914d\u7f6e","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 ClusterOperation.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/uninstall/\n

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u4f7f\u5b8c\u6210\u4e86\u4e00\u4e2a\u96c6\u7fa4\u7684\u5378\u8f7d\u3002

    "},{"location":"usage/upgrade/","title":"\u96c6\u7fa4\u7248\u672c\u5347\u7ea7","text":"

    \u672c\u8282\u5c06\u5411\u60a8\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 kubean \u5347\u7ea7\u96c6\u7fa4\u7684 kubernnetes \u7248\u672c\u3002\u5728\u60a8\u514b\u9686\u81f3\u672c\u5730\u7684 kubean/example/upgrade \u6587\u4ef6\u5185\uff0c\u540c\u6837\u63d0\u4f9b\u4e86\u96c6\u7fa4\u7248\u672c\u5347\u7ea7\u7684\u6837\u4f8b\u6a21\u677f\uff1a

    upgrade \u6587\u4ef6\u5185\u4e3b\u8981\u7684\u914d\u7f6e\u6587\u4ef6\u53ca\u7528\u9014\u5982\u4e0b\uff1a
        upgrade\n    \u251c\u2500\u2500 ClusterOperation.yml                  # \u5347\u7ea7\u96c6\u7fa4\u4efb\u52a1\n    \u2514\u2500\u2500 VarsConfCM.yml                        # \u96c6\u7fa4\u5347\u7ea7\u7248\u672c\u7b49\u53c2\u6570\u914d\u7f6e\n

    \u4e0b\u9762\u4ee5\u4f7f\u7528 all-in-one \u6a21\u5f0f\u90e8\u7f72\u7684\u5355\u8282\u70b9\u96c6\u7fa4\u4e3a\u4f8b\uff0c\u6765\u6f14\u793a\u96c6\u7fa4\u7248\u672c\u5347\u7ea7\u64cd\u4f5c\u3002

    \u6ce8\u610f\uff1a\u6267\u884c\u96c6\u7fa4\u7248\u672c\u5347\u7ea7\u524d\uff0c\u60a8\u5fc5\u987b\u5df2\u7ecf\u4f7f\u7528 kubean \u5b8c\u6210\u4e86\u4e00\u5957\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/upgrade/#1","title":"1. \u65b0\u589e\u5347\u7ea7\u4efb\u52a1","text":"

    \u8fdb\u5165 kubean/examples/upgrade/ \u8def\u5f84\uff0c\u7f16\u8f91\u6a21\u677f ClusterOperation.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    kubean/examples/upgrade/ \u8def\u5f84\u4e0b ClusterOperation.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-upgrade-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: upgrade-cluster.yml\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • spec.cluster: \u6307\u5b9a\u9700\u8981\u5347\u7ea7\u7684\u96c6\u7fa4\u540d\u79f0\uff0c\u4e0a\u8ff0\u6307\u5b9a\u7684\u662f\u540d\u4e3a cluster-mini \u7684\u96c6\u7fa4\u4e3a\u5347\u7ea7\u76ee\u6807\u3002
    • spec.action: \u6307\u5b9a\u5347\u7ea7\u76f8\u5173\u7684 kubespray \u5267\u672c, \u8fd9\u91cc\u8bbe\u7f6e\u4e3a upgrade-cluster.yml\u3002
    "},{"location":"usage/upgrade/#2","title":"2. \u6307\u5b9a\u96c6\u7fa4\u5347\u7ea7\u7248\u672c","text":"

    \u8fdb\u5165 kubean/examples/upgrade/ \u8def\u5f84\uff0c\u7f16\u8f91\u6a21\u677f VarsConfCM.yml\uff0c\u901a\u8fc7\u914d\u7f6e kube_version \u53c2\u6570\uff0c\u6307\u5b9a\u96c6\u7fa4\u5347\u7ea7\u7684\u7248\u672c\u3002

    kubean/examples/upgrade/ \u8def\u5f84\u4e0b VarsConfCM.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.8\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • kube_version: \u6307\u5b9a\u9700\u8981\u5347\u7ea7\u7684\u96c6\u7fa4\u7248\u672c, \u4e0a\u8ff0\u6307\u5b9a\u4e86\u8981\u5347\u7ea7\u5230 k8s v1.25.8 \u7248\u672c\u3002

    \u5347\u7ea7\u96c6\u7fa4\u7248\u672c\u53c2\u6570\u7684\u793a\u4f8b

    \u5347\u7ea7\u7248\u672c\u524d\u5347\u7ea7\u7248\u672c\u540e
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.0\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.8\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n

    \u9644\uff1akubean \u96c6\u7fa4\u7248\u672c\u652f\u6301\u673a\u5236\uff1a

    kubean \u7248\u672c \u63a8\u8350\u7684 kubernetes \u7248\u672c \u652f\u6301\u7684 kubernetes \u7248\u672c\u8303\u56f4 v0.5.2 v1.25.4 - \"v1.27.2\" - \"v1.26.5\" - \"v1.26.4\" - \"v1.26.3\" - \"v1.26.2\" - \"v1.26.1\" - \"v1.26.0\" - \"v1.25.10\" - \"v1.25.9\" - \"v1.25.8\" - \"v1.25.7\" - \"v1.25.6\" - \"v1.25.5\" - \"v1.25.4\" - \"v1.25.3\" - \"v1.25.2\" - \"v1.25.1\" - \"v1.25.0\"

    \u66f4\u591a\u5347\u7ea7\u64cd\u4f5c\u53c2\u6570\u7684\u8be6\u7ec6\u8bf4\u660e\uff0c\u8bf7\u53c2\u8003 kubespray \u6587\u6863\uff1a\u901a\u8fc7Kubespray \u66f4\u65b0 kubernetes\u3002

    "},{"location":"usage/upgrade/#3-upgrade","title":"3.\u5e94\u7528 upgrade \u6587\u4ef6\u4e0b\u6240\u6709\u7684\u914d\u7f6e","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 ClusterOperation.yml \u548c VarsConfCM.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/upgrade/\n

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u4f7f\u5b8c\u6210\u4e86\u4e00\u4e2a\u96c6\u7fa4\u7684 kuberntes \u7248\u672c\u7684\u5347\u7ea7\u3002

    "}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\u200b\\u3000\\-\u3001\u3002\uff0c\uff0e\uff1f\uff01\uff1b]+","pipeline":["stemmer"]},"docs":[{"location":"","title":"Kubean","text":"

    Kubean \u662f\u4e00\u6b3e\u51c6\u751f\u4ea7\u7684\u96c6\u7fa4\u751f\u547d\u5468\u671f\u7ba1\u7406\u5de5\u5177\uff0c\u57fa\u4e8e kubespray \u4e0e\u5176\u4ed6\u96c6\u7fa4 LCM \u5f15\u64ce\u3002

    "},{"location":"#_1","title":"\u529f\u80fd\u8d85\u8d5e","text":"
    • \u7b80\u5355\u6613\u7528\uff1a\u901a\u8fc7\u58f0\u660e\u5f0f API \u5b9e\u73b0 Kubean \u548c K8s \u96c6\u7fa4\u5f3a\u52b2\u751f\u547d\u5468\u671f\u7ba1\u7406\u7684\u90e8\u7f72\u3002
    • \u652f\u6301\u79bb\u7ebf\uff1a\u6bcf\u4e2a\u7248\u672c\u90fd\u4f1a\u53d1\u5e03\u79bb\u7ebf\u5305\uff08os-pkgs\u3001\u955c\u50cf\u3001\u4e8c\u8fdb\u5236\u5305\uff09\u3002\u4f60\u4e0d\u5fc5\u62c5\u5fc3\u5982\u4f55\u6536\u96c6\u6240\u9700\u7684\u8d44\u6e90\u3002
    • \u517c\u5bb9\u6027\uff1a\u652f\u6301\u591a\u67b6\u6784\u4ea4\u4ed8\uff1aAMD\u3001ARM\uff1b\u5e38\u89c1\u7684 Linux \u53d1\u884c\u7248\uff1b\u4ee5\u53ca\u57fa\u4e8e\u9cb2\u9e4f\u6784\u5efa\u7684\u9e92\u9e9f\u64cd\u4f5c\u7cfb\u7edf\u3002
    • \u53ef\u6269\u5c55\u6027\uff1a\u5141\u8bb8\u4f7f\u7528\u539f\u751f Kubespray \u81ea\u5b9a\u4e49\u96c6\u7fa4\u3002
    "},{"location":"#others","title":"Others","text":"

    Copyright The Kubean Authors

    We are a Cloud Native Computing Foundation sandbox project.

    The Linux Foundation\u00ae (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see Trademark Usage.

    "},{"location":"concepts/architecture/","title":"Kubean \u57fa\u7840\u67b6\u6784","text":"

    Kubean \u7684\u6574\u4f53\u67b6\u6784\u5982\u4e0b\u6240\u793a\uff1a

    Kubean \u9700\u8981\u8fd0\u884c\u5728\u4e00\u4e2a\u5df2\u5b58\u5728\u7684 Kubernetes \u96c6\u7fa4\uff0c\u901a\u8fc7\u5e94\u7528 Kubean \u63d0\u4f9b\u7684\u6807\u51c6 CRD \u8d44\u6e90\u548c Kubernetes \u5185\u5efa\u8d44\u6e90\u6765\u63a7\u5236\u548c\u7ba1\u7406\u96c6\u7fa4\u7684\u751f\u547d\u5468\u671f\uff08\u5b89\u88c5\u3001\u5378\u8f7d\u3001\u5347\u7ea7\u3001\u6269\u5bb9\u3001\u7f29\u5bb9\u7b49\uff09\u3002 Kubean \u91c7\u7528 Kubespray \u4f5c\u4e3a\u5e95\u5c42\u6280\u672f\u4f9d\u8d56\uff0c\u4e00\u65b9\u9762\u7b80\u5316\u4e86\u96c6\u7fa4\u90e8\u7f72\u7684\u64cd\u4f5c\u6d41\u7a0b\uff0c\u964d\u4f4e\u4e86\u7528\u6237\u7684\u4f7f\u7528\u95e8\u69db\u3002\u53e6\u4e00\u65b9\u9762\u5728 Kubespray \u80fd\u529b\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u96c6\u7fa4\u64cd\u4f5c\u8bb0\u5f55\u3001\u79bb\u7ebf\u7248\u672c\u8bb0\u5f55\u7b49\u8bf8\u591a\u65b0\u7279\u6027\u3002

    Kubean \u8fd0\u884c\u7740\u591a\u4e2a\u63a7\u5236\u5668\uff0c\u8fd9\u4e9b\u63a7\u5236\u5668\u8ddf\u8e2a Kubean CRD \u5bf9\u8c61\u7684\u53d8\u5316\uff0c\u5e76\u4e14\u4e0e\u5e95\u5c42\u96c6\u7fa4\u7684 API \u670d\u52a1\u5668\u8fdb\u884c\u901a\u4fe1\u6765\u521b\u5efa Kubernetes\u539f\u751f\u8d44\u6e90\u5bf9\u8c61\u3002\u7531\u4ee5\u4e0b\u56db\u4e2a\u7ec4\u4ef6\u6784\u6210\uff1a

    1. Cluster Controller: \u76d1\u89c6 Cluster Objects\u3002\u552f\u4e00\u6807\u8bc6\u4e00\u4e2a\u96c6\u7fa4\uff0c\u62e5\u6709\u96c6\u7fa4\u8282\u70b9\u7684\u8bbf\u95ee\u4fe1\u606f\u3001\u7c7b\u578b\u4fe1\u606f\u3001\u90e8\u7f72\u53c2\u6570\u4fe1\u606f\uff0c\u5e76\u4e14\u5173\u8054\u6240\u6709\u5bf9\u6b64\u96c6\u7fa4\u7684\u64cd\u4f5c\uff08ClusterOperation Objects\uff09\uff1b
    2. ClusterOperation Controller: \u76d1\u89c6 ClusterOperation Objects\u3002\u5f53 ClusterOperation Object \u88ab\u521b\u5efa\u65f6\uff0c\u63a7\u5236\u5668\u4f1a\u7ec4\u88c5\u4e00\u4e2a Job \u53bb\u6267\u884c CRD \u5bf9\u8c61\u91cc\u5b9a\u4e49\u7684\u64cd\u4f5c\uff1b
    3. Manifest Controller: \u76d1\u89c6 Manifest Objects\u3002\u7528\u4e8e\u8bb0\u5f55\u548c\u7ef4\u62a4\u5f53\u524d\u7248\u672c\u7684 Kubean \u4f7f\u7528\u548c\u517c\u5bb9\u7684\u7ec4\u4ef6\u3001\u5305\u53ca\u7248\u672c\uff1b
    4. LocalArtifactSet Controller\uff1a\u76d1\u89c6 LocalArtifactSet Objects\u3002\u7528\u4e8e\u8bb0\u5f55\u79bb\u7ebf\u5305\u652f\u6301\u7684\u7ec4\u4ef6\u53ca\u7248\u672c\u4fe1\u606f\u3002
    "},{"location":"concepts/comparisons/","title":"\u5bf9\u6bd4\u53c2\u8003","text":""},{"location":"concepts/comparisons/#kubean-vs-kubespray","title":"Kubean vs Kubespray","text":"

    Kubespray \u4f7f\u7528 Ansible \u4f5c\u4e3a\u5e95\u5c42\u6765\u914d\u7f6e\u548c\u7f16\u6392\uff0c\u53ef\u4ee5\u8fd0\u884c\u5728\u88f8\u91d1\u5c5e\u673a\u3001\u865a\u62df\u673a\u3001\u5927\u591a\u6570\u4e91\u73af\u5883\u7b49\u3002\u5b83\u652f\u6301\u4f17\u591a Kubernetes \u7248\u672c\u548c\u63d2\u4ef6\uff0c\u53ef\u4ee5\u5b8c\u6210\u96c6\u7fa4\u4ece 0 \u5230 1 \u7684\u642d\u5efa\u548c\u914d\u7f6e\uff0c\u4e5f\u5305\u542b\u96c6\u7fa4\u751f\u547d\u5468\u671f\u7684\u7ef4\u62a4\uff0c\u4f7f\u7528\u65b9\u5f0f\u975e\u5e38\u7075\u6d3b\u3002

    Kubean \u57fa\u4e8e Kubespray\uff0c\u62e5\u6709 Kubespray \u6240\u6709\u4f18\u52bf\u3002\u5e76\u4e14 Kubean \u5f15\u7528 Operator \u6982\u5ff5\u4ee5\u5b9e\u73b0\u5b8c\u5168\u4e91\u539f\u751f\u5316\uff0c\u539f\u751f\u4ee5\u5bb9\u5668\u65b9\u5f0f\u8fd0\u884c\uff0c\u63d0\u4f9b Helm Chart \u5305\u8fdb\u884c\u5feb\u901f\u90e8\u7f72\u3002

    Kubespray \u4ec5\u5728\u53c2\u6570\u7ea7\u522b\u4e0a\u652f\u6301\u79bb\u7ebf\uff0c\u5e76\u6ca1\u6709\u5305\u542b\u4e00\u4e2a\u5b8c\u6210\u6784\u5efa\u79bb\u7ebf\u5b89\u88c5\u5305\u7684\u8fc7\u7a0b\uff0c\u6240\u4ee5\u5bf9\u4e8e\u6709\u79bb\u7ebf\u573a\u666f\u9700\u6c42\u7684\u4f7f\u7528\u8005\u6765\u8bf4\uff0c\u76f4\u63a5\u4f7f\u7528 Kubespray \u4f1a\u53d8\u5f97\u975e\u5e38\u7e41\u7410\uff0c\u8fd9\u901a\u5e38\u4f1a\u8ba9\u4ed6\u4eec\u5931\u53bb\u8010\u5fc3\u3002

    Kubean \u4e0d\u4ec5\u6709\u4e00\u5957\u5b8c\u5584\u7684\u5236\u4f5c\u79bb\u7ebf\u5305\u7684\u5de5\u4f5c\u6d41\uff0c\u8fd8\u9002\u914d\u56fd\u4ea7\u4fe1\u521b\u73af\u5883\uff0c\u7b80\u5316 Kubespray \u7684\u590d\u6742\u914d\u7f6e\uff0c\u80fd\u591f\u5bf9\u96c6\u7fa4\u751f\u547d\u5468\u671f\u4ee5\u4e91\u539f\u751f\u7684\u65b9\u5f0f\u53bb\u7ba1\u7406\u3002

    "},{"location":"concepts/crds/","title":"CRD \u6982\u8ff0","text":""},{"location":"concepts/crds/#cluster","title":"Cluster","text":"

    Kubean \u5141\u8bb8\u901a\u8fc7 custom resource definitions (CRDs) \u6765\u58f0\u660e\uff08\u552f\u4e00\u6807\u8bc6\uff09\u4e00\u4e2a Kubernetes \u96c6\u7fa4\u3002\u6240\u6709\u5bf9\u96c6\u7fa4\u7684\u64cd\u4f5c\u90fd\u57fa\u4e8e\u6b64 CRD \u91cc\u58f0\u660e\u7684\u5185\u5bb9\u3002

    \u4e0b\u9762\u662f\u4e00\u4efd\u793a\u4f8b\uff0c\u5e2e\u52a9\u7406\u89e3\u4e0b\u6587\u7684\u914d\u7f6e\u9879\u8bf4\u660e\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: cluster1-offline-demo\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: cluster1-offline-demo-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: cluster1-offline-demo-vars-conf\n
    "},{"location":"concepts/crds/#_1","title":"\u914d\u7f6e\u9879","text":""},{"location":"concepts/crds/#_2","title":"\u5143\u6570\u636e","text":"
    • name\uff1aname \u7528\u4e8e\u58f0\u660e\u4e00\u4e2a\u96c6\u7fa4\uff0c\u5168\u5c40\u552f\u4e00
    "},{"location":"concepts/crds/#_3","title":"\u5c5e\u6027\u5173\u8054","text":"
    • hostConfRef\uff1ahostConfRef \u662f\u4e00\u4e2a ConfigMap \u8d44\u6e90\uff0c\u5b83\u7684\u5185\u5bb9\u5e94\u6ee1\u8db3 ansible inventory \u7684\u683c\u5f0f\uff0c\u5305\u542b\u96c6\u7fa4\u8282\u70b9\u4fe1\u606f\u3001\u7c7b\u578b\u5206\u7ec4\u4fe1\u606f\u3002\u5185\u5bb9\u53ef\u53c2\u8003 demo\u3002
    • name\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 ConfigMap \u7684\u540d\u79f0
    • namespace\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 ConfigMap \u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

    • varsConfRef\uff1avarsConfRef \u662f\u4e00\u4e2a ConfigMap \u8d44\u6e90\uff0c\u7528\u4f5c\u521d\u59cb\u5316\u6216\u8986\u76d6 Kubespray \u4e2d\u58f0\u660e\u7684\u53d8\u91cf\u503c\u3002\u5982\u679c\u6709\u79bb\u7ebf\u9700\u6c42\uff0c\u8fd9\u5c06\u5f88\u6709\u7528\u3002\u5185\u5bb9\u53ef\u53c2\u8003 demo\u3002

    • name\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 ConfigMap \u7684\u540d\u79f0
    • namespace\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 ConfigMap \u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

    • sshAuthRef\uff1asshAuthRef \u662f\u4e00\u4e2a Secret \u8d44\u6e90\uff0c\u4ec5\u5728 SSH \u79c1\u94a5\u6a21\u5f0f\u65f6\u4f7f\u7528\u3002

    • name\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 Secret \u540d\u79f0
    • namespace\uff1a\u8868\u793a\u5176\u5f15\u7528\u7684 Secret \u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4
    "},{"location":"concepts/crds/#clusteroperation","title":"ClusterOperation","text":"

    Kubean \u5141\u8bb8\u901a\u8fc7 custom resource definitions (CRDs) \u6765\u58f0\u660e\u5bf9\u4e00\u4e2a Kubernetes \u96c6\u7fa4\u7684\u64cd\u4f5c\uff08\u90e8\u7f72\u3001\u5347\u7ea7\u7b49\uff09\uff0c\u524d\u63d0\u662f\u6b63\u786e\u5173\u8054\u4e00\u4e2a\u5df2\u7ecf\u5b9a\u4e49\u7684 Cluster CRD\u3002\u5b8c\u6210\u64cd\u4f5c\u6240\u5fc5\u8981\u7684\u4fe1\u606f\u4ece\u5176\u5173\u8054\u7684 Cluster CRD \u4e2d\u83b7\u53d6\u3002

    \u4e0b\u9762\u662f\u4e00\u4efd\u793a\u4f8b\uff0c\u5e2e\u52a9\u7406\u89e3\u4e0b\u6587\u7684\u914d\u7f6e\u9879\u8bf4\u660e\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-demo-ops-1\nspec:\n  cluster: cluster1-demo\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n
    "},{"location":"concepts/crds/#_4","title":"\u914d\u7f6e\u9879","text":""},{"location":"concepts/crds/#_5","title":"\u5143\u6570\u636e","text":"
    • name\uff1aname \u552f\u4e00\u6807\u8bc6\u4e00\u4e2a\u5bf9\u6240\u5173\u8054\u96c6\u7fa4\u7684\u64cd\u4f5c
    "},{"location":"concepts/crds/#_6","title":"\u64cd\u4f5c\u5b9a\u4e49","text":"
    • cluster\uff1a\u4e0e\u6b64\u64cd\u4f5c\u5173\u8054\u7684\u96c6\u7fa4\u540d\u79f0\uff0c\u5176\u503c\u4e3a Cluster CRD \u4e2d\u58f0\u660e\u7684\u540d\u79f0
    • image\uff1akubespray \u955c\u50cf\u5730\u5740\uff1b\u53ef\u4ee5\u4f7f\u7528 Kubean \u4ed3\u5e93\u6784\u5efa\u7684\u955c\u50cf\uff0c\u4e5f\u53ef\u4f7f\u7528\u81ea\u884c\u6784\u5efa\u955c\u50cf
    • actionType\uff1a\u64cd\u4f5c\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301\u6307\u5b9a playbook \u6216 shell
    • action\uff1a\u610f\u56fe\u6267\u884c\u7684\u64cd\u4f5c\uff0c\u76ee\u524d\u652f\u6301\u6307\u5b9a playbook \u6587\u4ef6\u7684\u8def\u5f84\u6216 shell \u547d\u4ee4
    • preHook\uff1a\u524d\u7f6e\u6267\u884c\u64cd\u4f5c\uff0c\u53ef\u4ee5\u6307\u5b9a\u591a\u4e2a\uff0c\u4f8b\u5982\u53ef\u4ee5\u6d4b\u8bd5\u8282\u70b9\u8fde\u901a\u6027\u7b49
    • actionType\uff1a\u540c\u4e0a
    • action\uff1a\u540c\u4e0a
    • postHook\uff1a\u540e\u7f6e\u6267\u884c\u64cd\u4f5c\uff0c\u53ef\u4ee5\u6307\u5b9a\u591a\u4e2a\uff0c\u4f8b\u5982\u53ef\u4ee5\u83b7\u53d6\u96c6\u7fa4\u72b6\u6001\u7b49
    • actionType\uff1a\u540c\u4e0a
    • action\uff1a\u540c\u4e0a
    "},{"location":"concepts/crds/#manifest","title":"Manifest","text":"

    Kubean \u5141\u8bb8\u901a\u8fc7 custom resource definitions (CRDs) \u6765\u8bb0\u5f55\u548c\u7ef4\u62a4\u5f53\u524d\u7248\u672c\u7684 Kubean \u4f7f\u7528\u548c\u517c\u5bb9\u7684\u7ec4\u4ef6\u3001\u5305\u53ca\u7248\u672c\uff1b\u4f7f\u7528\u8005\u4e0d\u7528\u624b\u52a8\u7f16\u5199\u6b64\u8d44\u6e90\uff0c\u7531 Kubean \u81ea\u884c\u7ef4\u62a4\u3002

    \u4e0b\u9762\u662f\u4e00\u4efd\u793a\u4f8b\uff0c\u5e2e\u52a9\u7406\u89e3\u4e0b\u6587\u7684 spec \u8bf4\u660e\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: Manifest\nmetadata:\n  name: kubeaninfomanifest-v0-4-0-rc2\nspec:\n  components:\n  - defaultVersion: v1.1.1\n    name: cni\n    versionRange:\n    - v1.0.1\n    - v1.1.1\n  - defaultVersion: 1.6.9\n    name: containerd\n    versionRange:\n    .......\n    - 1.6.7\n    - 1.6.8\n    - 1.6.9\n  - defaultVersion: \"\"\n    name: kube\n    versionRange:\n    - v1.25.3\n    - v1.25.2\n    - v1.25.1\n    ........\n  - defaultVersion: v3.23.3\n    name: calico\n    versionRange:\n    - v3.23.3\n    - v3.22.4\n    - v3.21.6\n  - defaultVersion: v1.12.1\n    name: cilium\n    versionRange: []\n  - defaultVersion: \"null\"\n    name: etcd\n    versionRange:\n    - v3.5.3\n    - v3.5.4\n    - v3.5.5\n  docker:\n  - defaultVersion: \"20.10\"\n    os: redhat-7\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  - defaultVersion: \"20.10\"\n    os: debian\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  - defaultVersion: \"20.10\"\n    os: ubuntu\n    versionRange:\n    - latest\n    - \"18.09\"\n    - \"19.03\"\n    - \"20.10\"\n    - stable\n    - edge\n  kubeanVersion: v0.4.0-rc2\n  kubesprayVersion: c788620\n
    "},{"location":"concepts/crds/#spec","title":"spec \u8bf4\u660e","text":"
    • components\uff1a\u955c\u50cf\u6216\u4e8c\u8fdb\u5236\u6587\u4ef6\u7684\u7248\u672c\u58f0\u660e
    • name\uff1a\u7ec4\u4ef6\u540d\u79f0
    • defaultVersion\uff1a\u4f7f\u7528\u7684\u9ed8\u8ba4\u7248\u672c
    • versionRange\uff1a\u53d7\u652f\u6301\u7684\u7248\u672c\u5217\u8868
    • docker\uff1aDocker \u7684\u7248\u672c\u7ba1\u7406
    • os\uff1a\u53d7\u652f\u6301\u7684\u64cd\u4f5c\u7cfb\u7edf
    • defaultVersion\uff1a\u4f7f\u7528\u7684\u9ed8\u8ba4\u7248\u672c
    • versionRange\uff1a\u53d7\u652f\u6301\u7684\u7248\u672c\u5217\u8868
    • kubeanVersion\uff1aKubean \u7248\u672c\u53f7
    • kubesprayVersion\uff1a\u5f53\u524d Kubean \u4f9d\u8d56\u7684 Kubespray \u7248\u672c\u53f7
    "},{"location":"concepts/crds/#localartifact","title":"LocalArtifact","text":"

    Kubean \u5141\u8bb8\u901a\u8fc7 custom resource definitions (CRDs) \u6765\u8bb0\u5f55\u79bb\u7ebf\u5305\u652f\u6301\u7684\u7ec4\u4ef6\u53ca\u7248\u672c\u4fe1\u606f\uff1b\u4f7f\u7528\u8005\u4e0d\u7528\u624b\u52a8\u7f16\u5199\u6b64\u8d44\u6e90\uff0c\u7531 Kubean \u81ea\u884c\u7ef4\u62a4\u3002

    \u4e0b\u9762\u662f\u4e00\u4efd\u793a\u4f8b\uff0c\u5e2e\u52a9\u7406\u89e3\u4e0b\u6587\u7684 spec \u8bf4\u660e\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: LocalArtifactSet\nmetadata:\n  name: \"localartifactset-1709796014\"\n  labels:\n    kubean.io/sprayRelease: master\nspec:\n  kubespray: \"989ba207e9da2e1364f375450561d08af80c8535\"\n  items:\n    - name: cilium\n      versionRange:\n        - \"v1.13.4\"\n    - name: flannel\n      versionRange:\n        - \"v0.22.0\"\n    - name: kube_ovn\n      versionRange:\n        - \"v1.11.5\"\n    - name: runc\n      versionRange:\n        - \"v1.1.12\"\n    - name: kube\n      versionRange:\n        - \"v1.1.12\"\n    - name: cni\n      versionRange:\n        - \"v1.3.0\"\n    - name: calico\n      versionRange:\n        - \"v3.26.4\"\n    - name: containerd\n      versionRange:\n        - \"1.7.13\"\n
    "},{"location":"concepts/crds/#spec_1","title":"spec \u8bf4\u660e","text":"
    • arch\uff1a\u53d7\u652f\u6301\u7684 CPU \u6307\u4ee4\u96c6\u67b6\u6784\u5217\u8868
    • kubespray\uff1a\u4f7f\u7528\u7684 Kubespray \u7248\u672c
    • docker\uff1aDocker \u7248\u672c\u7ba1\u7406
    • os\uff1aDocker \u53d7\u652f\u6301\u7684\u64cd\u4f5c\u7cfb\u7edf\u7c7b\u578b
    • versionRange\uff1a\u53d7\u652f\u6301\u7684 Docker \u7248\u672c\u5217\u8868
    • items\uff1a\u5176\u4ed6\u7ec4\u4ef6\u7248\u672c\u7ba1\u7406
    • name\uff1a\u7ec4\u4ef6\u540d\u79f0
    • versionRange\uff1a\u8be5\u7ec4\u4ef6\u53d7\u652f\u6301\u7684\u7248\u672c\u5217\u8868
    "},{"location":"concepts/custom_action/","title":"\u81ea\u5b9a\u4e49 Action","text":""},{"location":"concepts/custom_action/#_1","title":"\u52a8\u673a","text":"

    \u5bf9\u4e8e\u4f7f\u7528\u8005\u6765\u8bb2\uff0cKubean \u548c Kubesprary \u7684\u4ea7\u7269\u90fd\u662f OCI \u955c\u50cf\u3001Helm Chart \u53ca K8s manifest\u3002 \u5728\u5df2\u62ff\u5230\u8fd9\u4e9b\u4ea7\u7269\u7684\u60c5\u51b5\u4e0b\u8981\u81ea\u5b9a\u4e49\u4e00\u4e9b\u64cd\u4f5c\uff0c\u4e5f\u80fd\u505a\u5230\uff0c\u4f46\u662f\u4f1a\u6bd4\u8f83\u590d\u6742\uff0c\u9700\u8981\u624b\u52a8\u4fee\u6539\u4e0d\u5c11\u7684\u914d\u7f6e\u3002\u5e0c\u671b\u80fd\u591f\u7b80\u5316\u8fd9\u4e00\u8fc7\u7a0b\u3002

    "},{"location":"concepts/custom_action/#_2","title":"\u76ee\u6807","text":"

    \u63d0\u4f9b\u4e00\u79cd\u4fbf\u6377\u7684\u65b9\u5f0f\u80fd\u591f\u8ba9\u4f7f\u7528\u8005\u4f7f\u7528\u4e00\u4e9b\u81ea\u5b9a\u4e49\u7684\u64cd\u4f5c\u6765\u67e5\u770b\u3001\u4fee\u6539\u548c\u63a7\u5236\u96c6\u7fa4\u8282\u70b9\u7684\u72b6\u6001\u3002

    "},{"location":"concepts/custom_action/#crd","title":"CRD \u8bbe\u8ba1","text":"
    1. \u589e\u52a0 ActionSource \u5b57\u6bb5\u4ee5\u58f0\u660e Action \u6765\u6e90\uff0c\u5176\u503c\u76ee\u524d\u652f\u6301\uff1a

      • builtin\uff08\u7f3a\u7701\u503c\uff09

        \u8868\u660e\u4f7f\u7528 kubean \u5185\u5efa ansible playbook \u6216\u5728 manifest \u5185\u8054\u7684 shell \u811a\u672c

      • configmap

        \u8868\u660e\u9700\u8981\u7684 ansible playbook \u6216 shell \u811a\u672c\u901a\u8fc7 \u5f15\u7528 K8s configmap \u6765\u83b7\u53d6

    2. \u589e\u52a0 ActionSourceRef \u5b57\u6bb5\u4ee5\u58f0\u660e\u5f53 ActionSource \u503c\u4e3a configmap \u65f6\u6240\u5f15\u7528\u7684\u8d44\u6e90\u5bf9\u8c61\uff0c\u4e14\u4ec5\u5f53 ActionSource \u4e3a configmap \u65f6\u6b64\u5b57\u6bb5\u624d\u751f\u6548\uff0c\u5176\u683c\u5f0f\u4e3a\uff1a

      actionSourceRef:\n  name: <configmap name>\n  namespace: <namespace of configmap>\n

    \u914d\u7f6e\u793a\u4f8b\uff1a

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: cluster1-demo-myaction\n  namespace: kubean-system\ndata:\n  myplaybook.yml: |\n    - hosts: k8s_cluster\n      gather_facts: false\n      become: yes\n      any_errors_fatal: \"{{ any_errors_fatal | default(true) }}\"\n      tasks:\n        - name: Print inventory hostname\n          debug:\n            msg: \"inventory_hostname is {{ inventory_hostname }}\"\n  hello.sh: |\n    echo \"hello world!\"\n---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-demo-ops-1\nspec:\n  cluster: cluster1-demo\n  image: ghcr.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: myplaybook.yml\n  actionSource: configmap\n  actionSourceRef:\n    name: cluster1-demo-myaction\n    namespace: kubean-system\n  preHook:\n    - actionType: shell\n      action: hello.sh\n      actionSource: configmap\n      actionSourceRef:\n        name: cluster1-demo-myaction\n        namespace: kubean-system\n
    "},{"location":"concepts/theory_of_airgapped_package/","title":"\u79bb\u7ebf\u5b89\u88c5\u5305\u7684\u539f\u7406","text":"

    Kubean CI \u6784\u5efa\u4fbf\u4e8e\u5728\u79bb\u7ebf\u73af\u5883\u4e2d\u5b89\u88c5 Kubernetes \u7684\u79bb\u7ebf\u6587\u4ef6\u3002

    \u6ce8\uff1a\u6709\u5173\u5982\u4f55\u4f7f\u7528\u79bb\u7ebf\u6587\u4ef6\uff0c\u8bf7\u53c2\u9605\u79bb\u7ebf\u573a\u666f\u7684\u4f7f\u7528\u3002

    \u672c\u9875\u8bf4\u660e\u79bb\u7ebf\u6587\u4ef6\u5305\u7684\u6784\u5efa\u539f\u7406\u3002

    • \u53d1\u7248\u9875\u9762\uff1aGithub Releases
    • \u4e3b\u8981\u5305\u542b\uff1a
    \u6587\u4ef6\u5305 \u63cf\u8ff0 files-*.tar.gz Kubespray \u5b89\u88c5\u6240\u9700\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\uff1akubeadm\u3001runc images-*.tar.gz K8s \u96c6\u7fa4\u955c\u50cf\u548c CNI \u955c\u50cf os-pkgs-${linux_distribution}-${tag}.tar.gz K8s \u5b89\u88c5\u671f\u95f4\u6240\u9700\u7684 deb/rpm"},{"location":"concepts/theory_of_airgapped_package/#_2","title":"\u5982\u4f55\u6784\u5efa\u79bb\u7ebf\u6587\u4ef6","text":"
    1. \u955c\u50cf\u548c\u4e8c\u8fdb\u5236\u6587\u4ef6

      \u7c7b\u4f3c Kubespray \u79bb\u7ebf\u90e8\u7f72\u6307\u5357\u6240\u8ff0\uff0c Kubespray \u63d0\u4f9b\u4e86\u4e00\u4e9b\u811a\u672c\u6765\u751f\u6210\u955c\u50cf\u548c\u4e8c\u8fdb\u5236\u6587\u4ef6\u5217\u8868\uff08\u611f\u8c22 Kubespray\uff01\uff09

      \u5f97\u76ca\u4e8e Kubespray \u751f\u6210\u4e8c\u8fdb\u5236\u548c\u955c\u50cf\u5217\u8868\u7684\u811a\u672c\uff0c \u6211\u4eec\u53ef\u4ee5\u4f7f\u7528 manage-offline-files.sh \u4e0b\u8f7d\u8fd9\u4e9b\u4e8c\u8fdb\u5236\u6587\u4ef6\u548c\u955c\u50cf\u3002 \u968f\u540e Kubean \u63d0\u4f9b\u4e86 call-offline-build.yaml\uff08Github Action \u811a\u672c\uff09 \u5c06\u6240\u6709\u8fd9\u4e9b\u878d\u5408\u4e8e\u4e00\u8d77\u3002

    2. os-packages (deb/rpm)

      \u5728 K8s \u5b89\u88c5\u671f\u95f4\uff0c\u6709\u4e9b\u6587\u4ef6\u5305\u4e0d\u4f1a\u968f\u4e8c\u8fdb\u5236\u6587\u4ef6\u4e00\u8d77\u5b89\u88c5\uff0c\u56e0\u6b64\u6211\u4eec\u5fc5\u987b\u901a\u8fc7 deb/rpm \u6765\u5b89\u88c5\u8fd9\u4e9b\u6587\u4ef6\u5305\u3002 os packages \u5217\u8868\u5b9a\u4e49\u4e86\u6240\u6d89\u53ca\u7684\u6587\u4ef6\u5305\u3002

      Github Action \u5c06\u901a\u8fc7 dnf/apt \u6784\u5efa\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u7684\u6587\u4ef6\u5305\uff08\u4f8b\u5982 Qemu\uff09\uff0c\u4fbf\u4e8e\u4e0b\u8f7d\u548c\u5f52\u6863 RPM/DEB \u5305\u3002

    3. CI \u6d41\u7a0b

      \u79bb\u7ebf\u6587\u4ef6\u5305\u7531 Github Action \u811a\u672c\u751f\u6210\u548c\u7ba1\u7406\u3002

    "},{"location":"develop/roadmap/","title":"Kubean \u8def\u7ebf\u56fe","text":"

    \u5f53\u524d\u7684 Roadmap \u662f\u6682\u65f6\u7684\uff0c\u5177\u4f53\u7684\u65f6\u95f4\u8868\u4ee5\u793e\u533a\u9700\u8981\u800c\u5b9a\u3002

    \u5728 Roadmap \u4e2d\u672a\u63d0\u53ca\u7684\u529f\u80fd\u7279\u6027, \u6211\u4eec\u53ef\u4ee5\u5728 issues \u4e2d\u8ba8\u8bba.

    "},{"location":"develop/roadmap/#q3-2022","title":"Q3 2022","text":"
    • \u8bbe\u8ba1 Kubean \u9879\u76ee\u67b6\u6784\u6d41\u7a0b architecture.md
    • \u9a8c\u8bc1 Kubean \u7684\u96c6\u7fa4\u751f\u547d\u5468\u671f\u7ba1\u7406\u64cd\u4f5c
    • \u6dfb\u52a0\u7cfb\u7edf\u5305\u6784\u5efa CI https://github.com/kubean-io/kubean/pull/62
    • \u63d0\u4f9b Kubean API https://github.com/kubean-io/kubean/pull/128
    "},{"location":"develop/roadmap/#q4-2022","title":"Q4 2022","text":"
    • E2E tests kubean test case
    • k8s \u955c\u50cf\u53ca\u4e8c\u8fdb\u5236\u5305\u652f\u6301 arm \u67b6\u6784 https://github.com/kubean-io/kubean/pull/200
    • \u652f\u6301\u5347\u7ea7\u5305\u6784\u5efa https://github.com/kubean-io/kubean/pull/289
    • \u79bb\u7ebf\u573a\u666f RHEL8.4 \u90e8\u7f72\u9002\u914d https://github.com/kubean-io/kubean/pull/325
    • \u652f\u6301\u8fd8\u539f\u7cfb\u7edf\u5305\u7ba1\u7406\u914d\u7f6e https://github.com/kubean-io/kubean/pull/298
    • \u652f\u6301\u96c6\u7fa4\u90e8\u7f72\u5b8c\u540e\u56de\u4f20 Kubeconfig https://github.com/kubean-io/kubean/pull/192
    • \u589e\u52a0 SSH Key \u8ba4\u8bc1\u90e8\u7f72\u65b9\u5f0f https://github.com/kubean-io/kubean/pull/302
    "},{"location":"develop/roadmap/#q1-2023","title":"Q1 2023","text":"
    • \u652f\u6301 apt \u7cfb\u7edf\u5305\u7ba1\u7406\u914d\u7f6e https://github.com/kubean-io/kubean/pull/459
    • Cluster Operation CRD \u652f\u6301\u81ea\u5b9a\u4e49 Action https://github.com/kubean-io/kubean/issues/361
    • Kubean Chart \u652f\u6301 Charts Syncer https://github.com/kubean-io/kubean/pull/468
    • \u652f\u6301 Pre check \u90e8\u7f72\u524d\u7684\u9884\u68c0\u6d4b https://github.com/kubean-io/kubean/pull/555
    • \u7edf\u4fe1 UOS 1020a \u7cfb\u7edf\u5305\u9002\u914d https://github.com/kubean-io/kubean/pull/583
    "},{"location":"develop/roadmap/#q2-2023","title":"Q2 2023","text":"
    • \u652f\u6301\u57fa\u4e8e OpenEuler \u79bb\u7ebf\u573a\u666f\u7684\u96c6\u7fa4\u90e8\u7f72 https://github.com/kubean-io/kubean/pull/628
    • \u652f\u6301 Other Linux \u901a\u8fc7\u811a\u672c\u81ea\u4e3b\u6784\u5efa\u79bb\u7ebf\u573a\u666f\u4f9d\u8d56\u7684\u7cfb\u7edf\u5305 https://github.com/kubean-io/kubean/pull/627
    • \u4f7f\u7528 mkdocs \u66f4\u65b0 kubean \u6587\u6863\u7ad9 https://github.com/kubean-io/kubean/pull/728
    • \u4f18\u5316 release \u53d1\u7248 CI https://github.com/kubean-io/kubean/pull/863
    • \u65b0\u589e\u5173\u4e8e\u8bc1\u4e66\u66f4\u65b0\u7684 ansible \u5267\u672c https://github.com/kubean-io/kubean/pull/884
    • \u66f4\u65b0 release \u53d1\u7248\u6d41\u7a0b https://github.com/kubean-io/kubean/pull/869
    "},{"location":"develop/roadmap/#q3-2023","title":"Q3 2023","text":"
    • \u6dfb\u52a0\u8bc1\u4e66\u66f4\u65b0\u5267\u672c https://github.com/kubean-io/kubean/pull/884
    • \u65b0\u589e\u6d41\u6c34\u7ebf\u5bf9\u4e0a\u6e38 kubespray \u6700\u65b0\u7248\u672c\u7684\u6bcf\u65e5\u90e8\u7f72\u9a8c\u8bc1 https://github.com/kubean-io/kubean/pull/870
    • \u786e\u4fdd Cluster \u8d44\u6e90\u7684\u7ea7\u8054\u5220\u9664 https://github.com/kubean-io/kubean/pull/918
    • \u4e3a ClusterOperation \u8bb0\u5f55\u6dfb\u52a0\u6e05\u9664\u6743\u91cd https://github.com/kubean-io/kubean/pull/983
    "},{"location":"develop/roadmap/#q4-2023","title":"Q4 2023","text":"
    • \u4f18\u5316\u955c\u50cf\u79bb\u7ebf\u5305\u4e3a OCI \u683c\u5f0f https://github.com/kubean-io/kubean/pull/996
    • \u4f18\u5316 Operator \u7684\u65e5\u5fd7\u8f93\u5165 https://github.com/kubean-io/kubean/pull/1032
    • \u63d0\u9ad8 Manifest \u8d44\u6e90\u7684\u67e5\u8be2\u6548\u7387 https://github.com/kubean-io/kubean/pull/1036
    • \u91cd\u6784\u955c\u50cf\u5bfc\u5165\u811a\u672c\uff0c\u4f7f\u5176\u652f\u6301\u591a\u67b6\u6784\u5bfc\u5165 https://github.com/kubean-io/kubean/pull/1040
    "},{"location":"develop/roadmap/#q1-2024","title":"Q1 2024","text":"
    • \u63d0\u9ad8 precheck \u5267\u672c\u7684\u6267\u884c\u6548\u7387 https://github.com/kubean-io/kubean/pull/1076
    • \u4f18\u5316 ClusterOperation \u7684\u8c03\u8c10\u6027\u80fd https://github.com/kubean-io/kubean/pull/1082
    • \u91cd\u6784\u81ea\u5b9a\u4e49\u8d44\u6e90\u751f\u6210\u811a\u672c\u903b\u8f91 https://github.com/kubean-io/kubean/pull/1152
    • \u4fee\u590d ubuntu18.04 \u79bb\u7ebf\u5305\u7248\u672c\u95ee\u9898 https://github.com/kubean-io/kubean/pull/1158
    • \u81ea\u52a8\u5316 docker \u9650\u5236\u5355\u5bb9\u5668\u78c1\u76d8\u5360\u7528\u7684\u524d\u7f6e\u6b65\u9aa4 https://github.com/kubean-io/kubean/pull/1179
    "},{"location":"develop/roadmap/#q2-2024","title":"Q2 2024","text":"
    • \u63d0\u4f9b\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u53ca\u4fbf\u6377\u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u6a21\u5757\u751f\u6210\u65b9\u5f0f
    • \u4e0d\u540c\u8282\u70b9\u89c4\u6a21\u96c6\u7fa4\u90e8\u7f72\u7684\u5bb9\u91cf\u89c4\u5212
    • \u63d0\u4f9b\u5b8c\u6574\u7684\u79bb\u7ebf\u8d44\u6e90\u7ba1\u7406\u65b9\u6848
    • \u652f\u6301\u591a\u79cd\u751f\u547d\u5468\u671f\u7ba1\u7406\u5f15\u64ce\uff0c\u6bd4\u5982kubespray\u3001kubekey
    • \u652f\u6301\u57fa\u4e8e ostree \u7684\u96c6\u7fa4\u64cd\u4f5c\u56de\u6eda
    "},{"location":"releases/artifacts/","title":"Artifacts","text":""},{"location":"releases/artifacts/#release-224","title":"\u25b6\ufe0f release-2.24","text":"

    \u2693 kube_version range: [ v1.26.0 ~ v1.29.1 ]

    Commit Date Artifacts \ud83d\udcc5 2024-07-29 07:00:34 \ud83d\udcdd manifest-2.24-1688e05.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-1688e05 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-1688e05 \ud83d\udcc5 2024-06-11 07:55:11 \ud83d\udcdd manifest-2.24-5377247.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-5377247 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-5377247 \ud83d\udcc5 2024-03-07 15:59:09 \ud83d\udcdd manifest-2.24-bc6bd21.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.24-bc6bd21 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.24-bc6bd21"},{"location":"releases/artifacts/#release-222","title":"\u25b6\ufe0f release-2.22","text":"

    \u2693 kube_version range: [ v1.24.0 ~ v1.26.13 ]

    Commit Date Artifacts \ud83d\udcc5 2024-02-07 19:59:36 \ud83d\udcdd manifest-2.22-71b6fa1.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-71b6fa1 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-71b6fa1 \ud83d\udcc5 2024-01-22 16:23:42 \ud83d\udcdd manifest-2.22-d8a8fb0.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-d8a8fb0 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-d8a8fb0 \ud83d\udcc5 2024-01-11 13:59:56 \ud83d\udcdd manifest-2.22-774d824.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.22-774d824 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.22-774d824"},{"location":"releases/artifacts/#release-223","title":"\u25b6\ufe0f release-2.23","text":"

    \u2693 kube_version range: [ v1.25.0 ~ v1.27.10 ]

    Commit Date Artifacts \ud83d\udcc5 2024-05-03 09:20:40 \ud83d\udcdd manifest-2.23-e5fc8a9.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-e5fc8a9 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-e5fc8a9 \ud83d\udcc5 2024-02-06 14:06:16 \ud83d\udcdd manifest-2.23-07e19e5.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-07e19e5 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-07e19e5 \ud83d\udcc5 2023-12-13 10:30:18 \ud83d\udcdd manifest-2.23-e4be213.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.23-e4be213 \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.23-e4be213"},{"location":"releases/artifacts/#release-221","title":"\u25b6\ufe0f release-2.21","text":"

    \u2693 kube_version range: [ v1.23.0 ~ v1.25.6 ]

    Commit Date Artifacts \ud83d\udcc5 2024-01-22 16:13:31 \ud83d\udcdd manifest-2.21-e86c0cf.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.21-e86c0cf \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.21-e86c0cf \ud83d\udcc5 2024-01-12 07:28:51 \ud83d\udcdd manifest-2.21-e4ac3ab.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.21-e4ac3ab \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.21-e4ac3ab"},{"location":"releases/artifacts/#release-225","title":"\u25b6\ufe0f release-2.25","text":"

    \u2693 kube_version range: [ v1.27.0 ~ v1.29.5 ]

    Commit Date Artifacts \ud83d\udcc5 2024-07-15 06:11:10 \ud83d\udcdd manifest-2.25-462e68b.yml \ud83d\udce6 ghcr.io/kubean-io/spray-job:2.25-462e68b \ud83d\udce6 ghcr.io/kubean-io/airgap-patch:2.25-462e68b"},{"location":"releases/v0.10.0/","title":"V0.10.0","text":""},{"location":"releases/v0.10.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.10.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • sync chart to release.daocloud.io by @hangscer8 in https://github.com/kubean-io/kubean/pull/991
    • fix upload charts to release.daocloud.io by @hangscer8 in https://github.com/kubean-io/kubean/pull/992
    • Change image artifact to OCI format by @tu1h in https://github.com/kubean-io/kubean/pull/996
    • Optimize file handle logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/998
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/997
    • Optimize file import logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/1000
    • Allow etcd hosts in some playbooks by @tu1h in https://github.com/kubean-io/kubean/pull/1001
    • Allow etcd hosts in playbook remove-pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/1002
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1003
    • spray artifact patch by @tu1h in https://github.com/kubean-io/kubean/pull/1005
    • Fix kubespray image build compatibility by @tu1h in https://github.com/kubean-io/kubean/pull/1006
    • Update airgap patch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1004
    • make kubespray download files compatible by @tu1h in https://github.com/kubean-io/kubean/pull/1007
    • Fixing airgap-patch image build issues by @ErikJiang in https://github.com/kubean-io/kubean/pull/1008
    • fix upload assets greater than 2 GiB issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1009

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.3...v0.10.0

    "},{"location":"releases/v0.11.0/","title":"V0.11.0","text":""},{"location":"releases/v0.11.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-qemu-action from 2 to 3 by @dependabot in https://github.com/kubean-io/kubean/pull/1019
    • Bump mikefarah/yq from 4.33.3 to 4.40.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1018
    • Bump docker/build-push-action from 4.1.1 to 5.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1017
    • Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1016
    • Bump docker/login-action from 2 to 3 by @dependabot in https://github.com/kubean-io/kubean/pull/1015
    • Bump docker/setup-buildx-action from 2.7.0 to 3.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1028
    • Bump mikefarah/yq from 4.40.2 to 4.40.4 by @dependabot in https://github.com/kubean-io/kubean/pull/1041
    • Bump actions/labeler from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1042
    • Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1046
    • Bump mikefarah/yq from 4.40.4 to 4.40.5 by @dependabot in https://github.com/kubean-io/kubean/pull/1052
    • Bump actions/setup-go from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1047
    "},{"location":"releases/v0.11.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add kubespray commit timestamp by @ErikJiang in https://github.com/kubean-io/kubean/pull/1010
    • clean debug info for manual CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1011
    • update kubespray artifact patch CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1012
    • fix rebuild kubespray image issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1013
    • clean manifest dir by @ErikJiang in https://github.com/kubean-io/kubean/pull/1014
    • update artifact patch md by @ErikJiang in https://github.com/kubean-io/kubean/pull/1024
    • Revert \"Bump actions/checkout from 3 to 4\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1026
    • Refactor controllers of Manifest and Localartifact by @tu1h in https://github.com/kubean-io/kubean/pull/1025
    • update airgap patch docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1029
    • fix airgap dockerfile issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/1030
    • Enhancement log print by @tu1h in https://github.com/kubean-io/kubean/pull/1032
    • Fix bump version failed by @Rei1010 in https://github.com/kubean-io/kubean/pull/1035
    • Optimize manifest lookup overhead by @tu1h in https://github.com/kubean-io/kubean/pull/1036
    • Add unit test by @tu1h in https://github.com/kubean-io/kubean/pull/1038
    • Refactor import images script to support merge multi-platform image by @tu1h in https://github.com/kubean-io/kubean/pull/1040
    • Allows using the airgap patch script to generate full offline packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1033
    • refine airgap demo by @ErikJiang in https://github.com/kubean-io/kubean/pull/1043
    • Fix e2e failure since incompatible image-importing script by @tu1h in https://github.com/kubean-io/kubean/pull/1044
    • Update CNCF image in README by @tu1h in https://github.com/kubean-io/kubean/pull/1048
    • Fix nop-copy in code generation by @tu1h in https://github.com/kubean-io/kubean/pull/1051
    • Fix upstream breaking-change #10626 by @tu1h in https://github.com/kubean-io/kubean/pull/1050
    • Revert \"Bump actions/setup-go from 4 to 5\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1053
    • update kubespray commit by @ErikJiang in https://github.com/kubean-io/kubean/pull/1045

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.10.0...v0.11.0

    "},{"location":"releases/v0.11.1/","title":"V0.11.1","text":""},{"location":"releases/v0.11.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add unit test cases by @tu1h in https://github.com/kubean-io/kubean/pull/1061
    • Adjust support matrix permission by @Rei1010 in https://github.com/kubean-io/kubean/pull/1063
    • set default flag for airgap full mode by @ErikJiang in https://github.com/kubean-io/kubean/pull/1064

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.0...v0.11.1

    "},{"location":"releases/v0.11.2/","title":"V0.11.2","text":""},{"location":"releases/v0.11.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.11.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1065
    • Fix e2e when upgrade cluster by @tu1h in https://github.com/kubean-io/kubean/pull/1066
    • Restore image address by @ErikJiang in https://github.com/kubean-io/kubean/pull/1067
    • update binaries url by @ErikJiang in https://github.com/kubean-io/kubean/pull/1068
    • clear old airgap data in dockerfile by @ErikJiang in https://github.com/kubean-io/kubean/pull/1069
    • update airgap scripts by @ErikJiang in https://github.com/kubean-io/kubean/pull/1070
    • update release latest status by @ErikJiang in https://github.com/kubean-io/kubean/pull/1071

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.1...v0.11.2

    "},{"location":"releases/v0.12.0/","title":"V0.12.0","text":""},{"location":"releases/v0.12.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Remove building and uses of kubespray latest tag by @tu1h in https://github.com/kubean-io/kubean/pull/1073
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1072
    • Get correct kubespray version in e2e by @tu1h in https://github.com/kubean-io/kubean/pull/1074
    • Add playbook for kube-vip configuration by @tu1h in https://github.com/kubean-io/kubean/pull/1075
    • Improve execution efficiency for precheck playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1076
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1077

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.11.2...v0.12.0

    "},{"location":"releases/v0.12.1/","title":"V0.12.1","text":""},{"location":"releases/v0.12.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • get pause image tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/1080
    • Optimize clusteroperation reconcile by @tu1h in https://github.com/kubean-io/kubean/pull/1082
    • Add new playbook into whitelist by @tu1h in https://github.com/kubean-io/kubean/pull/1081
    • [zh-cn] update offline build script describe by @my-git9 in https://github.com/kubean-io/kubean/pull/1062
    • Patch for #1076 - cancel gather fact in playbook level by @tu1h in https://github.com/kubean-io/kubean/pull/1083
    • Fix coredns image version mismatch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1084
    • fixed crictl binary version mismatch by @ErikJiang in https://github.com/kubean-io/kubean/pull/1085
    • update denpendencies url by @ErikJiang in https://github.com/kubean-io/kubean/pull/1086
    • add project for harbor by @ErikJiang in https://github.com/kubean-io/kubean/pull/1087
    • Bump kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1088

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.0...v0.12.1

    "},{"location":"releases/v0.12.2/","title":"V0.12.2","text":""},{"location":"releases/v0.12.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Fix verify Kubespray e2e by @tu1h in https://github.com/kubean-io/kubean/pull/1094
    • Fix verify Kubespray e2e in cluster reset step by @tu1h in https://github.com/kubean-io/kubean/pull/1095
    • migrate old version localArtifactSet by @ErikJiang in https://github.com/kubean-io/kubean/pull/1096
    • enhance quick start gif by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1098
    • add podman for offline e2e by @ErikJiang in https://github.com/kubean-io/kubean/pull/1099
    • fix missing version_lt function by @ErikJiang in https://github.com/kubean-io/kubean/pull/1100
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1078
    • Refine kube vip playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1101

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.1...v0.12.2

    "},{"location":"releases/v0.12.3/","title":"V0.12.3","text":""},{"location":"releases/v0.12.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.12.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [cherry-pick] Add Rockylinux support by @tu1h in https://github.com/kubean-io/kubean/pull/1129

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.2...v0.12.3

    "},{"location":"releases/v0.13.0/","title":"V0.13.0","text":""},{"location":"releases/v0.13.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Unrestrict kubeproxy mode for kubevip playbook by @tu1h in https://github.com/kubean-io/kubean/pull/1106
    • update spray version to 0dbde75 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1107
    • remove cd step in release ci and change workflows name by @ErikJiang in https://github.com/kubean-io/kubean/pull/1105

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.12.2...v0.13.0

    "},{"location":"releases/v0.13.1/","title":"V0.13.1","text":""},{"location":"releases/v0.13.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.27.6 to 1.31.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1091
    • Bump actions/cache from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1089
    • Bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1057
    • Bump actions/download-artifact from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1056
    "},{"location":"releases/v0.13.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add Rockylinux 9 support by @tu1h in https://github.com/kubean-io/kubean/pull/1104
    • Bump default E2E Kubernetes version by @Rei1010 in https://github.com/kubean-io/kubean/pull/1108
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1102
    • Revert \"Bump github.com/onsi/gomega from 1.27.6 to 1.31.1\" by @tu1h in https://github.com/kubean-io/kubean/pull/1109
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1112
    • add concurrency policy for PR CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1113

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.0...v0.13.1

    "},{"location":"releases/v0.13.10/","title":"V0.13.10","text":""},{"location":"releases/v0.13.10/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.10/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1197
    • Bump peaceiris/actions-gh-pages from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1200
    "},{"location":"releases/v0.13.10/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1193
    • Reconstruct the daily e2e test structure and add automatic retry of e2e tests by @FloatXD in https://github.com/kubean-io/kubean/pull/1194
    • add panpan0000 as maintainer. by @panpan0000 in https://github.com/kubean-io/kubean/pull/1196
    • update roadmap for Q2 2024 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1195
    • update sonobouy_e2e CONTAINER_TAG by @FloatXD in https://github.com/kubean-io/kubean/pull/1198
    • Update README.md by @wawa0210 in https://github.com/kubean-io/kubean/pull/1199
    • rollback kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1202
    "},{"location":"releases/v0.13.10/#new-contributors","title":"New Contributors","text":"
    • @FloatXD made their first contribution in https://github.com/kubean-io/kubean/pull/1194

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.14.0...v0.13.10

    "},{"location":"releases/v0.13.11/","title":"V0.13.11","text":""},{"location":"releases/v0.13.11/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.11/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1203
    • Support multi-arch for Ubuntu ospkg by @tu1h in https://github.com/kubean-io/kubean/pull/1204
    • Update MAINTAINERS by @tu1h in https://github.com/kubean-io/kubean/pull/1205

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.10...v0.13.11

    "},{"location":"releases/v0.13.2/","title":"V0.13.2","text":""},{"location":"releases/v0.13.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1115
    • add stale workflow by @ErikJiang in https://github.com/kubean-io/kubean/pull/1116
    • Remove kubectl get version option by @Rei1010 in https://github.com/kubean-io/kubean/pull/1117
    • Bump offline E2E Kubernetes version by @Rei1010 in https://github.com/kubean-io/kubean/pull/1122
    • Bump offline E2E Kubernetes version to 1.27.5 by @Rei1010 in https://github.com/kubean-io/kubean/pull/1128
    • Enhance Kubean chart helper template by @tu1h in https://github.com/kubean-io/kubean/pull/1132
    • Bump docker-containerd to 1.6.28 for ospkgs by @tu1h in https://github.com/kubean-io/kubean/pull/1131
    • Correct the downloads info generation by @tu1h in https://github.com/kubean-io/kubean/pull/1134
    • fix kube_version empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/1136
    • update verify tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/1137

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.1...v0.13.2

    "},{"location":"releases/v0.13.3/","title":"V0.13.3","text":""},{"location":"releases/v0.13.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix empty images list file by @ErikJiang in https://github.com/kubean-io/kubean/pull/1138

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.2...v0.13.3

    "},{"location":"releases/v0.13.4/","title":"V0.13.4","text":""},{"location":"releases/v0.13.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.4/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.40.5 to 4.42.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1135
    • Bump docker/setup-buildx-action from 3.0.0 to 3.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1141
    "},{"location":"releases/v0.13.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add runc component version info by @ErikJiang in https://github.com/kubean-io/kubean/pull/1139
    • add runc key in template by @ErikJiang in https://github.com/kubean-io/kubean/pull/1140
    • Bump Offline E2E by @Rei1010 in https://github.com/kubean-io/kubean/pull/1133
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1130
    • Fix E2E Failure by @Rei1010 in https://github.com/kubean-io/kubean/pull/1143
    • remove pause version function by @ErikJiang in https://github.com/kubean-io/kubean/pull/1144
    • Remove etcd from optional component version information by @ErikJiang in https://github.com/kubean-io/kubean/pull/1146
    • add docker version 24.0 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1145
    • Remove etcd version multi-select information from custom resources by @ErikJiang in https://github.com/kubean-io/kubean/pull/1147
    • Fix container-selinux version for redhat8 by @tu1h in https://github.com/kubean-io/kubean/pull/1148

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.3...v0.13.4

    "},{"location":"releases/v0.13.5/","title":"V0.13.5","text":""},{"location":"releases/v0.13.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.5/#new-features","title":"\u2728 New Features","text":"
    • refactoring custom resource generate script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1152
    "},{"location":"releases/v0.13.5/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump softprops/action-gh-release from 1 to 2 by @dependabot in https://github.com/kubean-io/kubean/pull/1155
    • Bump docker/build-push-action from 5.1.0 to 5.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1154
    • Bump golangci/golangci-lint-action from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/1120
    • Bump peter-evans/create-pull-request from 5 to 6 by @dependabot in https://github.com/kubean-io/kubean/pull/1111
    "},{"location":"releases/v0.13.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix artifacts kube_version_range by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1150
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1149
    • clean unused files by @ErikJiang in https://github.com/kubean-io/kubean/pull/1153
    • fix docker-ce-cli version in ubuntu2004 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1157

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.4...v0.13.5

    "},{"location":"releases/v0.13.6/","title":"V0.13.6","text":""},{"location":"releases/v0.13.6/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.6/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 5.2.0 to 5.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1162
    • Bump docker/setup-buildx-action from 3.1.0 to 3.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1161
    "},{"location":"releases/v0.13.6/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1159
    • fix docker-ce-cli version in ubuntu18.04 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1158
    • fresh package list when build os pkgs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1160
    • add debug script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1163
    • Precheck if docker is running by @tu1h in https://github.com/kubean-io/kubean/pull/1164
    • Add playbook to config insecure registry by @tu1h in https://github.com/kubean-io/kubean/pull/1170
    • Add playbook to enable nf_conntrack by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1171

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.5...v0.13.6

    "},{"location":"releases/v0.13.7/","title":"V0.13.7","text":""},{"location":"releases/v0.13.7/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.7/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix missing lib file in arm-arch container by @ErikJiang in https://github.com/kubean-io/kubean/pull/1173
    • fix kube version rendering error by @ErikJiang in https://github.com/kubean-io/kubean/pull/1174

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.6...v0.13.7

    "},{"location":"releases/v0.13.8/","title":"V0.13.8","text":""},{"location":"releases/v0.13.8/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.8/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix build ubuntu os-pkg: lack unzip pkg by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1175

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.7...v0.13.8

    "},{"location":"releases/v0.13.9/","title":"V0.13.9","text":""},{"location":"releases/v0.13.9/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.13.9/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Make the python version determined in config-insecure-registry.yml by @tu1h in https://github.com/kubean-io/kubean/pull/1176
    • enable live restore for docker by @tu1h in https://github.com/kubean-io/kubean/pull/1178
    • fix build os-pkg for ubuntu2004: set containerd to 1.6.28-1 when install docker by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1177
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1172

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.8...v0.13.9

    "},{"location":"releases/v0.14.0/","title":"V0.14.0","text":""},{"location":"releases/v0.14.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.14.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.42.1 to 4.43.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1182
    "},{"location":"releases/v0.14.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • playbook: mount xfs device with pquota option by @ErikJiang in https://github.com/kubean-io/kubean/pull/1179
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1180
    • add ut by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1183
    • Chore: update chart readme by @yyzxw in https://github.com/kubean-io/kubean/pull/1186
    • clear coverage temp file by @ErikJiang in https://github.com/kubean-io/kubean/pull/1188
    • coverage spelling mistake by @ErikJiang in https://github.com/kubean-io/kubean/pull/1189
    • add ut by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1187
    • add release version 2.24 for artifact doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/1190
    • change spray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1191
    • Bump python version for offline build github action by @tu1h in https://github.com/kubean-io/kubean/pull/1192

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.9...v0.14.0

    "},{"location":"releases/v0.15.0/","title":"V0.15.0","text":""},{"location":"releases/v0.15.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump golangci/golangci-lint-action from 4 to 5 by @dependabot in https://github.com/kubean-io/kubean/pull/1213
    "},{"location":"releases/v0.15.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • load kubeconfig filepath when load rest config fail by @HeavenTonight in https://github.com/kubean-io/kubean/pull/1201
    • fix: makefile error by @yyzxw in https://github.com/kubean-io/kubean/pull/1215
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1206
    • add other info for docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1219
    • Add license scan report and status by @fossabot in https://github.com/kubean-io/kubean/pull/1218
    • Update README and GOVERNANCE md by @tu1h in https://github.com/kubean-io/kubean/pull/1220
    • Support for Ubuntu jammy by @tu1h in https://github.com/kubean-io/kubean/pull/1221
    • [docs] Improve usage/airgap.md by @windsonsea in https://github.com/kubean-io/kubean/pull/1223
    • optimized pkg_mgr patch logic by @ErikJiang in https://github.com/kubean-io/kubean/pull/1222
    • fix CVE-2023-24538 vulnerabilities in spray image by @ErikJiang in https://github.com/kubean-io/kubean/pull/1225
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1216
    "},{"location":"releases/v0.15.0/#new-contributors","title":"New Contributors","text":"
    • @HeavenTonight made their first contribution in https://github.com/kubean-io/kubean/pull/1201
    • @fossabot made their first contribution in https://github.com/kubean-io/kubean/pull/1218

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.13.11...v0.15.0

    "},{"location":"releases/v0.15.1/","title":"V0.15.1","text":""},{"location":"releases/v0.15.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump golangci/golangci-lint-action from 5 to 6 by @dependabot in https://github.com/kubean-io/kubean/pull/1226
    "},{"location":"releases/v0.15.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1227
    • Modify Kubespray CI's rebuild logic for image building by @ErikJiang in https://github.com/kubean-io/kubean/pull/1229
    • fix get dockerfile commit is empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/1230
    • add dockerfile commit outputs var by @ErikJiang in https://github.com/kubean-io/kubean/pull/1231
    • Remove quotes from Dockerfile commit values in image building CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/1232
    • Bump Kubespray by @tu1h in https://github.com/kubean-io/kubean/pull/1233

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.0...v0.15.1

    "},{"location":"releases/v0.15.2/","title":"V0.15.2","text":""},{"location":"releases/v0.15.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1234
    • add sha256sum file to release assets by @ErikJiang in https://github.com/kubean-io/kubean/pull/1236
    • update the image: kubean architecture by @windsonsea in https://github.com/kubean-io/kubean/pull/1235
    • Update en and zh README by @windsonsea in https://github.com/kubean-io/kubean/pull/1228
    • update fossa badge for readme by @ErikJiang in https://github.com/kubean-io/kubean/pull/1238
    • Supplement centos in os pkgs matrix by @ErikJiang in https://github.com/kubean-io/kubean/pull/1240

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.1...v0.15.2

    "},{"location":"releases/v0.15.3/","title":"V0.15.3","text":""},{"location":"releases/v0.15.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.15.3/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.43.1 to 4.44.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1242
    • Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1246
    • Bump github.com/go-logr/logr from 1.2.4 to 1.4.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1247
    "},{"location":"releases/v0.15.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add checksum in the download script by @FloatXD in https://github.com/kubean-io/kubean/pull/1237
    • fix util download_resource_files by @FloatXD in https://github.com/kubean-io/kubean/pull/1248
    • Fix invalid use of klog format specifier by @tu1h in https://github.com/kubean-io/kubean/pull/1249
    • Fix incorrect e2e assert by @tu1h in https://github.com/kubean-io/kubean/pull/1251
    • update default kube_version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1250

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.2...v0.15.3

    "},{"location":"releases/v0.16.0/","title":"V0.16.0","text":""},{"location":"releases/v0.16.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/go-logr/logr from 1.4.1 to 1.4.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1263
    • Bump docker/build-push-action from 5.3.0 to 5.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1266
    • Bump github.com/onsi/ginkgo/v2 from 2.9.4 to 2.19.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1267
    "},{"location":"releases/v0.16.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1252
    • streamlined remote access with ssh key mode for other linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/1253
    • update KUBE_VERSION in e2e_test by @FloatXD in https://github.com/kubean-io/kubean/pull/1258
    • update offline e2e kube verison by @FloatXD in https://github.com/kubean-io/kubean/pull/1259
    • update e2e kube verison by @FloatXD in https://github.com/kubean-io/kubean/pull/1260
    • Remove kubectl get version option by @FloatXD in https://github.com/kubean-io/kubean/pull/1262
    • bump kube_version to v1.29 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1268
    • add docker 26.1 to os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1269
    • update rhel8 os package by @ErikJiang in https://github.com/kubean-io/kubean/pull/1270

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.15.3...v0.16.0

    "},{"location":"releases/v0.16.1/","title":"V0.16.1","text":""},{"location":"releases/v0.16.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1271
    • update e2e kube verison to v1.29.0 by @FloatXD in https://github.com/kubean-io/kubean/pull/1272
    • Add playbook to set containerd registry mirrors by @tu1h in https://github.com/kubean-io/kubean/pull/1273
    • Refine playbook set_containerd_registry_mirror by @tu1h in https://github.com/kubean-io/kubean/pull/1274

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.0...v0.16.1

    "},{"location":"releases/v0.16.2/","title":"V0.16.2","text":""},{"location":"releases/v0.16.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.1 to 4.44.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1282
    • Bump docker/build-push-action from 5.4.0 to 6.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1281
    • Bump k8s.io/klog/v2 from 2.100.1 to 2.130.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1280
    • Bump github.com/spf13/cobra from 1.8.0 to 1.8.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1276
    "},{"location":"releases/v0.16.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1275
    • Support disable kernel unattended upgrades for Ubuntu by @tu1h in https://github.com/kubean-io/kubean/pull/1283
    • Fix bug of #1283 by @tu1h in https://github.com/kubean-io/kubean/pull/1284

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.1...v0.16.2

    "},{"location":"releases/v0.16.3/","title":"V0.16.3","text":""},{"location":"releases/v0.16.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.16.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix kylinv10 containerd version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1286

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.2...v0.16.3

    "},{"location":"releases/v0.17.0/","title":"V0.17.0","text":""},{"location":"releases/v0.17.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.0/#new-features","title":"\u2728 New Features","text":"
    • restart components after renew certs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1295
    • Add ipset & ipvsadm to os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1298
    • fix CVE-2024-24790 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1300
    "},{"location":"releases/v0.17.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.0.0 to 6.1.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1289
    • Bump k8s.io/klog/v2 from 2.130.0 to 2.130.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1291
    • Bump docker/build-push-action from 6.1.0 to 6.2.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1293
    • Bump docker/build-push-action from 6.2.0 to 6.3.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1299
    • Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1301
    "},{"location":"releases/v0.17.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix config error in e2e upgrade test by @FloatXD in https://github.com/kubean-io/kubean/pull/1287
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1285
    • update os-pkg linux list by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1290
    • Simplify kubean download_url format by @ErikJiang in https://github.com/kubean-io/kubean/pull/1294
    • restart control plane pods after renew certs by @ErikJiang in https://github.com/kubean-io/kubean/pull/1297
    • Use orcalelinux7 instead of centos7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1296
    • update kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1302

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.16.3...v0.17.0

    "},{"location":"releases/v0.17.1/","title":"V0.17.1","text":""},{"location":"releases/v0.17.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1303
    • Clean os pkgs for rhel7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1304
    • Add os pkg for kylin v10 sp3 by @ErikJiang in https://github.com/kubean-io/kubean/pull/1305

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.0...v0.17.1

    "},{"location":"releases/v0.17.2/","title":"V0.17.2","text":""},{"location":"releases/v0.17.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • update kylin default docker version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1307
    • Change Docker cgroupDriver to cgroupfs in Kylin SP2 by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1308
    • bump docker containerd version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1309
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1306

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.1...v0.17.2

    "},{"location":"releases/v0.17.3/","title":"V0.17.3","text":""},{"location":"releases/v0.17.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.3/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.3.0 to 6.4.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1311
    "},{"location":"releases/v0.17.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1310
    • update kylin iso repo urls by @ErikJiang in https://github.com/kubean-io/kubean/pull/1312
    • add precheck time info by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1313

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.2...v0.17.3

    "},{"location":"releases/v0.17.4/","title":"V0.17.4","text":""},{"location":"releases/v0.17.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [e2e]fix os repo in arm-offline-e2e by @FloatXD in https://github.com/kubean-io/kubean/pull/1323
    • Bump kubespray to 2d194af by @tu1h in https://github.com/kubean-io/kubean/pull/1324

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.3...v0.17.4

    "},{"location":"releases/v0.17.5/","title":"V0.17.5","text":""},{"location":"releases/v0.17.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.17.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • update artifact doc script by @ErikJiang in https://github.com/kubean-io/kubean/pull/1316
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1314
    • Bump kubespray to 86f9803 by @tu1h in https://github.com/kubean-io/kubean/pull/1329

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.4...v0.17.5

    "},{"location":"releases/v0.18.0/","title":"V0.18.0","text":""},{"location":"releases/v0.18.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.4.0 to 3.6.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1328
    • Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1327
    • Bump docker/build-push-action from 6.4.0 to 6.5.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1318
    "},{"location":"releases/v0.18.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [docs] remove $ from only-command to reduce actions by @windsonsea in https://github.com/kubean-io/kubean/pull/1325

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.17.5...v0.18.0

    "},{"location":"releases/v0.18.1/","title":"V0.18.1","text":""},{"location":"releases/v0.18.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Fix role privilege by @tu1h in https://github.com/kubean-io/kubean/pull/1336

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.0...v0.18.1

    "},{"location":"releases/v0.18.2/","title":"V0.18.2","text":""},{"location":"releases/v0.18.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/build-push-action from 6.5.0 to 6.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1339
    "},{"location":"releases/v0.18.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test]fix network e2e by @FloatXD in https://github.com/kubean-io/kubean/pull/1338
    • Image building enhancement by @tu1h in https://github.com/kubean-io/kubean/pull/1341
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1330

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.1...v0.18.2

    "},{"location":"releases/v0.18.3/","title":"V0.18.3","text":""},{"location":"releases/v0.18.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • add SprayJobImageRegistry to kubean-config and update manifest by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1348

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.2...v0.18.3

    "},{"location":"releases/v0.18.4/","title":"V0.18.4","text":""},{"location":"releases/v0.18.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • keep current manifest when helm upgrade kubean by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1349
    • bump kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1350

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.3...v0.18.4

    "},{"location":"releases/v0.18.5/","title":"V0.18.5","text":""},{"location":"releases/v0.18.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.18.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix kubean manifest helm keep policy by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1352

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.4...v0.18.5

    "},{"location":"releases/v0.19.0/","title":"V0.19.0","text":""},{"location":"releases/v0.19.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.19.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.2 to 4.44.3 by @dependabot in https://github.com/kubean-io/kubean/pull/1333
    • Bump github.com/onsi/gomega from 1.34.0 to 1.34.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1334
    • Bump k8s.io/apiserver from 0.26.4 to 0.31.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1343
    • Bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1360
    • Bump github.com/onsi/gomega from 1.34.1 to 1.34.2 by @dependabot in https://github.com/kubean-io/kubean/pull/1359
    • Bump peter-evans/create-pull-request from 6 to 7 by @dependabot in https://github.com/kubean-io/kubean/pull/1361
    "},{"location":"releases/v0.19.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix rls version handing in artifacts doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/1351
    • Update gen_artifact_doc.py by @ErikJiang in https://github.com/kubean-io/kubean/pull/1353
    • Support Rocky Linux 8 by @tu1h in https://github.com/kubean-io/kubean/pull/1354
    • Update renew-certs.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/1355
    • [Test]Use ls -l instead of ll by @FloatXD in https://github.com/kubean-io/kubean/pull/1347
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1342
    • Revert \"Bump k8s.io/apiserver from 0.26.4 to 0.31.0\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/1357
    • add helm hook to add manifest annotation by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1358
    • update spray commit & kube version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1362

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.18.5...v0.19.0

    "},{"location":"releases/v0.20.0/","title":"V0.20.0","text":""},{"location":"releases/v0.20.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.20.0/#documentation","title":"\ud83d\udcda Documentation","text":"
    • [test]update Kubean test case by @FloatXD in https://github.com/kubean-io/kubean/pull/1383
    "},{"location":"releases/v0.20.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump docker/setup-buildx-action from 3.6.1 to 3.7.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1382
    • Bump docker/build-push-action from 6.7.0 to 6.9.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1380
    • Bump aquasecurity/trivy-action from 0.20.0 to 0.28.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1385
    "},{"location":"releases/v0.20.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test]update kube_version in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1364
    • [Test]Optimize the retry logic in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1366
    • [Test]Remove check for /proc/sys/net/ipv4/tcp_tw_recycle by @FloatXD in https://github.com/kubean-io/kubean/pull/1367
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1363
    • [Test]update e2e test for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1368
    • [Test]update e2e test for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1369
    • [Test]update e2e test for import rocky8 os-pkg by @FloatXD in https://github.com/kubean-io/kubean/pull/1374
    • [Test]update e2e test for import rocky8 iso_image by @FloatXD in https://github.com/kubean-io/kubean/pull/1375
    • Enable gosec in golangci check by @tu1h in https://github.com/kubean-io/kubean/pull/1377
    • [Test]update e2e test offline_minio_url by @FloatXD in https://github.com/kubean-io/kubean/pull/1376
    • [Test]update offline_e2e kubeanClusterOps.yml by @FloatXD in https://github.com/kubean-io/kubean/pull/1379
    • Enable cert scan by @tu1h in https://github.com/kubean-io/kubean/pull/1378
    • [e2e] add ca auto_renew check in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1384
    • update testcase reference by @emmanuel-ferdman in https://github.com/kubean-io/kubean/pull/1386
    • bump kubespray version by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1391
    "},{"location":"releases/v0.20.0/#new-contributors","title":"New Contributors","text":"
    • @emmanuel-ferdman made their first contribution in https://github.com/kubean-io/kubean/pull/1386

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.19.0...v0.20.0

    "},{"location":"releases/v0.21.0/","title":"V0.21.0","text":""},{"location":"releases/v0.21.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.21.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/ginkgo/v2 from 2.20.2 to 2.21.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1395
    "},{"location":"releases/v0.21.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [Test] Remove centos7 from the test list by @FloatXD in https://github.com/kubean-io/kubean/pull/1393
    • [Test]Replacement check items for rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1394
    • [Test] Replace the centos7 test label with rocky8 by @FloatXD in https://github.com/kubean-io/kubean/pull/1396
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1392
    • optimize tool scripts for other os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/1398

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.20.0...v0.21.0

    "},{"location":"releases/v0.21.1/","title":"V0.21.1","text":""},{"location":"releases/v0.21.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.21.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.34.2 to 1.35.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1402
    "},{"location":"releases/v0.21.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI] Add support list in release notes markdown by @FloatXD in https://github.com/kubean-io/kubean/pull/1401
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1399
    • [Test] Upgrade k8s version to 1.30.5 by @FloatXD in https://github.com/kubean-io/kubean/pull/1403
    • [Test] Fixed the issue that rocky8 cannot select the correct kubeanClusterOps.yml in e2e test by @FloatXD in https://github.com/kubean-io/kubean/pull/1405
    • add nfs client tools in os-packages by @san3Xian in https://github.com/kubean-io/kubean/pull/1404
    • Update Maintainer by @0ekk in https://github.com/kubean-io/kubean/pull/1406
    • Bump Kubespray by @0ekk in https://github.com/kubean-io/kubean/pull/1407
    "},{"location":"releases/v0.21.1/#new-contributors","title":"New Contributors","text":"
    • @san3Xian made their first contribution in https://github.com/kubean-io/kubean/pull/1404

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.21.0...v0.21.1 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.22.0/","title":"V0.22.0","text":""},{"location":"releases/v0.22.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.0/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump aquasecurity/trivy-action from 0.28.0 to 0.29.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1412
    • Bump mikefarah/yq from 4.44.3 to 4.44.5 by @dependabot in https://github.com/kubean-io/kubean/pull/1410
    • Bump github.com/onsi/ginkgo/v2 from 2.21.0 to 2.22.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1417
    • Bump docker/build-push-action from 6.9.0 to 6.10.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1422
    • Bump github.com/onsi/gomega from 1.35.1 to 1.36.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1425
    "},{"location":"releases/v0.22.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI] Add support list in release notes body by @FloatXD in https://github.com/kubean-io/kubean/pull/1409
    • [Test]Optimize the generation method of rocky-kubeanclusterops by @FloatXD in https://github.com/kubean-io/kubean/pull/1413
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1408
    • [doc]Fix the incorrect Default Kubernetes Version by @FloatXD in https://github.com/kubean-io/kubean/pull/1414
    • [Test]Update the Cluster Type in calicoctl version to v3.28.1 by @FloatXD in https://github.com/kubean-io/kubean/pull/1415
    • [Test]Remove redundant operations on kubeanClusterOps.yml by @FloatXD in https://github.com/kubean-io/kubean/pull/1421
    • clear redundant log info by @ErikJiang in https://github.com/kubean-io/kubean/pull/1426
    • bump kubespray version by @ErikJiang in https://github.com/kubean-io/kubean/pull/1427
    • fix set secret OwnerReferences by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1424
    • fix latest tag invaild in release action by @ErikJiang in https://github.com/kubean-io/kubean/pull/1428

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.21.1...v0.22.0 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | null | null|

    "},{"location":"releases/v0.22.1/","title":"V0.22.1","text":""},{"location":"releases/v0.22.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.1/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump mikefarah/yq from 4.44.5 to 4.44.6 by @dependabot in https://github.com/kubean-io/kubean/pull/1431
    "},{"location":"releases/v0.22.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • [CI]Added the function of judging whether curl successfully obtains manifest.cr.yaml by @FloatXD in https://github.com/kubean-io/kubean/pull/1430
    • fix: airgap package build doesn't exit on error by @ErikJiang in https://github.com/kubean-io/kubean/pull/1435

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.0...v0.22.1 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | 'v1.31.3' \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.7' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.11' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.22.2/","title":"V0.22.2","text":""},{"location":"releases/v0.22.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.2/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/onsi/gomega from 1.36.0 to 1.36.1 by @dependabot in https://github.com/kubean-io/kubean/pull/1443
    • Bump docker/setup-buildx-action from 3.7.1 to 3.8.0 by @dependabot in https://github.com/kubean-io/kubean/pull/1438
    "},{"location":"releases/v0.22.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1436
    • Allow run playbook facts.yml in Kubean by @0ekk in https://github.com/kubean-io/kubean/pull/1444
    • [Test]Before using --limit run playbook facts.yml in test by @FloatXD in https://github.com/kubean-io/kubean/pull/1433

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.1...v0.22.2 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | 'v1.31.3' \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.7' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.11' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.22.3/","title":"V0.22.3","text":""},{"location":"releases/v0.22.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.22.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • fix set owner-reference by @KubeKyrie in https://github.com/kubean-io/kubean/pull/1446
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/1445

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.22.2...v0.22.3 | Default Kubernetes Version | Supported Kubernetes Version Range | | ---------------------------| ---------------------------------------------------------------------| | v1.30.5 | 'v1.31.3' \u00a0 'v1.31.2' \u00a0 'v1.31.1' \u00a0 'v1.31.0' \u00a0 'v1.30.7' \u00a0 'v1.30.6' \u00a0 'v1.30.5' \u00a0 'v1.30.4' \u00a0 'v1.30.3' \u00a0 'v1.30.2' \u00a0 'v1.30.1' \u00a0 'v1.30.0' \u00a0 'v1.29.11' \u00a0 'v1.29.10' \u00a0 'v1.29.9' \u00a0 'v1.29.8' \u00a0 'v1.29.7' \u00a0 'v1.29.6' \u00a0 'v1.29.5' \u00a0 'v1.29.4' \u00a0 'v1.29.3' \u00a0 'v1.29.2' \u00a0 'v1.29.1' \u00a0 'v1.29.0'|

    "},{"location":"releases/v0.4.0/","title":"V0.4.0","text":""},{"location":"releases/v0.4.0/#whats-changed","title":"What's Changed","text":"
    • update docker os-pkg version by @hangscer8 in https://github.com/kubean-io/kubean/pull/262
    • cluster info with more retry time by @hangscer8 in https://github.com/kubean-io/kubean/pull/261
    • Manifest crd support multi image repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/266
    • update kubespray default version to v1.24.7 by @ErikJiang in https://github.com/kubean-io/kubean/pull/272
    • Disable cn proxy sources to improve kubean image build efficiency by @ErikJiang in https://github.com/kubean-io/kubean/pull/273
    • fix e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/267
    • add dasu23 into approvers by @YunShiHang in https://github.com/kubean-io/kubean/pull/275
    • Update offline doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/276
    • Fix temporary version tag issues by @YunShiHang in https://github.com/kubean-io/kubean/pull/281
    • add version constraints of dependencies in offline case by @tu1h in https://github.com/kubean-io/kubean/pull/274
    • [chroe] Improve the install trivy method by @SSmallMonster in https://github.com/kubean-io/kubean/pull/282
    • add certificated logo by @wenting-guo in https://github.com/kubean-io/kubean/pull/284
    • adjust generate_offline_package to multi harbor projects by @hangscer8 in https://github.com/kubean-io/kubean/pull/285
    • Unified k8s version by @ErikJiang in https://github.com/kubean-io/kubean/pull/286
    • Update README badge by @ErikJiang in https://github.com/kubean-io/kubean/pull/287
    • Add Dockerfile for airgap-patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/289
    • Add os package for ubuntu by @ErikJiang in https://github.com/kubean-io/kubean/pull/291
    • rename ansible_ssh_pass to ansible_password by @tu1h in https://github.com/kubean-io/kubean/pull/290
    • rename doc folder to docs by @tu1h in https://github.com/kubean-io/kubean/pull/293
    • Add Doc For Airgap Patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/294
    • fix pr e2e fail by @wenting-guo in https://github.com/kubean-io/kubean/pull/288
    • Support restore yum repo in enable-repo.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/298
    • update & add some docs by @tu1h in https://github.com/kubean-io/kubean/pull/299
    • Add documentation for deploying clusters with ssh secret keys by @ErikJiang in https://github.com/kubean-io/kubean/pull/302
    • Update doc for deploy cluster with ssh key by @ErikJiang in https://github.com/kubean-io/kubean/pull/306
    • Add auto release notes ci by @YunShiHang in https://github.com/kubean-io/kubean/pull/309
    • add os compatibility e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/310
    • fix checkout repository bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/311
    • add unit test by @hangscer8 in https://github.com/kubean-io/kubean/pull/314
    • chore: add ut by @yyzxw in https://github.com/kubean-io/kubean/pull/313
    • fix airgap patch mod by @hangscer8 in https://github.com/kubean-io/kubean/pull/315
    • import_iso support kylin v10 sp2 by @hangscer8 in https://github.com/kubean-io/kubean/pull/316
    • Translation of kubean documents (issue305) by @yulng in https://github.com/kubean-io/kubean/pull/307
    • upgrade kind version to 1.25.3 by @wenting-guo in https://github.com/kubean-io/kubean/pull/312
    • [CI]add incremental packages by @YunShiHang in https://github.com/kubean-io/kubean/pull/317
    • Update os_family for kylin in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/318
    • Add os packages for kylin linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/321
    • Update os packages for kylin linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/324
    • Update the absolute path of the command in playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/326
    • Offline adapation for RHEL 8.4 by @tu1h in https://github.com/kubean-io/kubean/pull/325
    • fix Dockerfile.redhat8 by @tu1h in https://github.com/kubean-io/kubean/pull/327
    • v0.4.1 Pre-release version by @ErikJiang in https://github.com/kubean-io/kubean/pull/329
    "},{"location":"releases/v0.4.0/#new-contributors","title":"New Contributors","text":"
    • @tu1h made their first contribution in https://github.com/kubean-io/kubean/pull/274
    • @SSmallMonster made their first contribution in https://github.com/kubean-io/kubean/pull/282
    • @yulng made their first contribution in https://github.com/kubean-io/kubean/pull/307

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.3.7...v0.4.0

    "},{"location":"releases/v0.4.1/","title":"V0.4.1","text":""},{"location":"releases/v0.4.1/#whats-changed","title":"What's Changed","text":"
    • Fix import_iso.sh by @tu1h in https://github.com/kubean-io/kubean/pull/330
    • specify k8s version by @ErikJiang in https://github.com/kubean-io/kubean/pull/331
    • Fix kylin linux offline deployment python3-libselinux dependency issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/332
    • translate sshkey_deploy_cluster.md by @Michelle951 in https://github.com/kubean-io/kubean/pull/323
    • translate comparisons.md by @Michelle951 in https://github.com/kubean-io/kubean/pull/322
    • translate crds.md to en by @Michelle951 in https://github.com/kubean-io/kubean/pull/320
    • update packages.yml for kylin os by @ErikJiang in https://github.com/kubean-io/kubean/pull/335
    • fix test by @hangscer8 in https://github.com/kubean-io/kubean/pull/334
    • add release-process.md by @hangscer8 in https://github.com/kubean-io/kubean/pull/333
    • Fix released image tag overrided by @tu1h in https://github.com/kubean-io/kubean/pull/336
    • add offline-e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/341
    • fix offline e2e workflow file by @wenting-guo in https://github.com/kubean-io/kubean/pull/342
    • chart: namespace should go with release by @weizhoublue in https://github.com/kubean-io/kubean/pull/337
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/343
    • Fix template rendering failure by @tu1h in https://github.com/kubean-io/kubean/pull/338
    • fix offline workflow by @wenting-guo in https://github.com/kubean-io/kubean/pull/344
    • fix offline shell by @wenting-guo in https://github.com/kubean-io/kubean/pull/345
    • update airgap_patch image tag in doc by @hangscer8 in https://github.com/kubean-io/kubean/pull/349
    • oprimize offline shell by @wenting-guo in https://github.com/kubean-io/kubean/pull/369
    • optimize logs output by @hangscer8 in https://github.com/kubean-io/kubean/pull/362
    • Optimize kubeanoperation spec.image tag by @hangscer8 in https://github.com/kubean-io/kubean/pull/371
    • shihang.yun-fix-cd-bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/374
    • shihang.yun-optimize-input by @YunShiHang in https://github.com/kubean-io/kubean/pull/375
    • fix cd image tag's bug by @YunShiHang in https://github.com/kubean-io/kubean/pull/376
    • use kube-vip first by @hangscer8 in https://github.com/kubean-io/kubean/pull/379
    • fix kubeconfig playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/380
    • Reduce kubespray image size by @tu1h in https://github.com/kubean-io/kubean/pull/382
    • allow custom kubean image repo in cd by @tu1h in https://github.com/kubean-io/kubean/pull/372
    • fix arm image build failure by @tu1h in https://github.com/kubean-io/kubean/pull/384
    • fix airgap-patch image build failure by @tu1h in https://github.com/kubean-io/kubean/pull/385
    • Remove libselinux from os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/386
    • Fix local Service yum repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/387
    • optimize offline-e2e environment set by @wenting-guo in https://github.com/kubean-io/kubean/pull/389
    • add rhel7 ospkg by @tu1h in https://github.com/kubean-io/kubean/pull/390
    • Check if the OS package needs to be rebuilt by @ErikJiang in https://github.com/kubean-io/kubean/pull/391
    • Update get latest tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/393
    • Ready for release version v0.4.1 by @ErikJiang in https://github.com/kubean-io/kubean/pull/394
    "},{"location":"releases/v0.4.1/#new-contributors","title":"New Contributors","text":"
    • @Michelle951 made their first contribution in https://github.com/kubean-io/kubean/pull/323
    • @weizhoublue made their first contribution in https://github.com/kubean-io/kubean/pull/337

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.0...v0.4.1

    "},{"location":"releases/v0.4.10/","title":"V0.4.10","text":""},{"location":"releases/v0.4.10/#whats-changed","title":"What's Changed","text":"
    • update redaht8 related e2e case by @wenting-guo in https://github.com/kubean-io/kubean/pull/654
    • fix: ignore actionSourceRef not set by @jonyhy96 in https://github.com/kubean-io/kubean/pull/666
    • optimize generate crds by @hangscer8 in https://github.com/kubean-io/kubean/pull/667
    • add UT by @hangscer8 in https://github.com/kubean-io/kubean/pull/670
    • kubean install on none kubean-system ns e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/672
    • fix speedup offline package by @wenting-guo in https://github.com/kubean-io/kubean/pull/676
    • [docs] update and translate theory-of-air-gapped-package.md by @windsonsea in https://github.com/kubean-io/kubean/pull/671
    • cleanup: replace pkg ioutil with os by @yyzxw in https://github.com/kubean-io/kubean/pull/680
    • update e2e case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/683
    • fix create job occasionally unsuccessfully from ops by @hangscer8 in https://github.com/kubean-io/kubean/pull/684
    • Fix ansible lint by @tu1h in https://github.com/kubean-io/kubean/pull/694
    • Add kubean examples by @ErikJiang in https://github.com/kubean-io/kubean/pull/693

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.9...v0.4.10

    "},{"location":"releases/v0.4.2/","title":"V0.4.2","text":""},{"location":"releases/v0.4.2/#whats-changed","title":"What's Changed","text":"
    • Update previous tag by @ErikJiang in https://github.com/kubean-io/kubean/pull/395
    • remove preset playbook by @tu1h in https://github.com/kubean-io/kubean/pull/396
    • fix enable-repo by @hangscer8 in https://github.com/kubean-io/kubean/pull/397
    • Block the update repo from kylin os by @ErikJiang in https://github.com/kubean-io/kubean/pull/399
    • Revert \"fix enable-repo\" by @hangscer8 in https://github.com/kubean-io/kubean/pull/400
    • Remove unnecessary pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/403
    • Improve check_rebuild_pkgs by @tu1h in https://github.com/kubean-io/kubean/pull/404
    • Restore os pkg by @tu1h in https://github.com/kubean-io/kubean/pull/411
    • Revert \"Restore os pkg\" by @ErikJiang in https://github.com/kubean-io/kubean/pull/412
    • Restore os pkg by @tu1h in https://github.com/kubean-io/kubean/pull/413
    • add kylin os case by @wenting-guo in https://github.com/kubean-io/kubean/pull/416
    • fix offline e2e bug by @wenting-guo in https://github.com/kubean-io/kubean/pull/417
    • update pr ci yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/422
    • make pr ci from vagrant to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/423
    • add a parameter to pr ci workflow by @wenting-guo in https://github.com/kubean-io/kubean/pull/435
    • add calico case in nightly e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/438
    • add secrets for nightly e2e in workflow yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/445
    • Add resources by @ErikJiang in https://github.com/kubean-io/kubean/pull/447
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/448
    • update nightly e2e yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/449
    • update kubean logo by @ErikJiang in https://github.com/kubean-io/kubean/pull/450
    • update os compatibility e2e to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/451
    • update nightly e2e passwd to secret by @wenting-guo in https://github.com/kubean-io/kubean/pull/455
    • add secrets parameter in os compatibility workflow yaml by @wenting-guo in https://github.com/kubean-io/kubean/pull/456
    • Remove versions.json by @tu1h in https://github.com/kubean-io/kubean/pull/452
    • optimize hardcode namespace by @hangscer8 in https://github.com/kubean-io/kubean/pull/457
    • Support import for ubuntu iso by @tu1h in https://github.com/kubean-io/kubean/pull/458
    • Add spray job timeout by @hangscer8 in https://github.com/kubean-io/kubean/pull/462
    • Remove fuse only in docker mode by @tu1h in https://github.com/kubean-io/kubean/pull/463
    • add apt repo in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/459
    • Update the check scripts for building os packages by @ErikJiang in https://github.com/kubean-io/kubean/pull/464
    • fix nightly e2e helm version set by @wenting-guo in https://github.com/kubean-io/kubean/pull/466
    • support charts syncer by @ErikJiang in https://github.com/kubean-io/kubean/pull/468
    • update restore apt condition in enable-repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/471
    • Update action version for workflows by @ErikJiang in https://github.com/kubean-io/kubean/pull/474
    • add redhat offline e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/475
    • update case md by @wenting-guo in https://github.com/kubean-io/kubean/pull/476
    • add unit test by @hangscer8 in https://github.com/kubean-io/kubean/pull/478
    • set runner2 ip for e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/485
    • update e2e k8s version to 1.24.7 by @wenting-guo in https://github.com/kubean-io/kubean/pull/489
    • set nightly e2e and online os-compatibility-e2e to the online runner by @wenting-guo in https://github.com/kubean-io/kubean/pull/491
    • Add ansible-lint for playbooks in pr gate by @tu1h in https://github.com/kubean-io/kubean/pull/483
    • Support import offline resource parallelly by @tu1h in https://github.com/kubean-io/kubean/pull/482
    • Fix job creating failure across different namespace by @tu1h in https://github.com/kubean-io/kubean/pull/488
    • change upgrade e2e to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/492
    • fix sa error by @cleverhu in https://github.com/kubean-io/kubean/pull/493
    • change cluster lcm e2e case to vm by @wenting-guo in https://github.com/kubean-io/kubean/pull/497
    • Get serviceaccount name by labelselector by @tu1h in https://github.com/kubean-io/kubean/pull/499
    • add calico dual stack e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/500
    • update online os compatibility run rate by @wenting-guo in https://github.com/kubean-io/kubean/pull/501
    • support imageRepo with password by @hangscer8 in https://github.com/kubean-io/kubean/pull/502
    • optimize ClusterRole && set COMMIT_SHA for release by @hangscer8 in https://github.com/kubean-io/kubean/pull/506
    • set kubespray commit by @hangscer8 in https://github.com/kubean-io/kubean/pull/507

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.1...v0.4.2

    "},{"location":"releases/v0.4.3/","title":"V0.4.3","text":""},{"location":"releases/v0.4.3/#whats-changed","title":"What's Changed","text":"
    • rollback clusterrole by @hangscer8 in https://github.com/kubean-io/kubean/pull/511
    • update minio repo by @wenting-guo in https://github.com/kubean-io/kubean/pull/512
    • Fix incomplete ospkg cache judgment by @tu1h in https://github.com/kubean-io/kubean/pull/513

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.2...v0.4.3

    "},{"location":"releases/v0.4.4/","title":"V0.4.4","text":""},{"location":"releases/v0.4.4/#whats-changed","title":"What's Changed","text":"
    • Remove ospkg buiding immediate exit by @tu1h in https://github.com/kubean-io/kubean/pull/514
    • Fix import ospkgs script by @tu1h in https://github.com/kubean-io/kubean/pull/515
    • Remove audit on rhel8 by @tu1h in https://github.com/kubean-io/kubean/pull/517
    • add kubean maintainer by @wawa0210 in https://github.com/kubean-io/kubean/pull/519
    • fix release image by @ErikJiang in https://github.com/kubean-io/kubean/pull/520
    "},{"location":"releases/v0.4.4/#new-contributors","title":"New Contributors","text":"
    • @wawa0210 made their first contribution in https://github.com/kubean-io/kubean/pull/519

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.3...v0.4.4

    "},{"location":"releases/v0.4.5/","title":"V0.4.5","text":""},{"location":"releases/v0.4.5/#whats-changed","title":"What's Changed","text":"
    • fix typo hack script for setup by @yanggangtony in https://github.com/kubean-io/kubean/pull/516
    • chore: delete unused file #523 by @yyzxw in https://github.com/kubean-io/kubean/pull/526
    • Fix offline e2e failure by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/530
    • Remove runc on offline rhel8 from playbook by @tu1h in https://github.com/kubean-io/kubean/pull/531
    • fix imageRepo field by @panguicai008 in https://github.com/kubean-io/kubean/pull/534
    • Update e2e_schedule.yaml by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/536
    • fix variable definition by @panguicai008 in https://github.com/kubean-io/kubean/pull/533
    • fix spray-job container name by @hangscer8 in https://github.com/kubean-io/kubean/pull/537
    • fix cluster status.conditions.startTime and endTime invalid value null by @panguicai008 in https://github.com/kubean-io/kubean/pull/538
    • fix clusteroperation multi field invalid value null by @panguicai008 in https://github.com/kubean-io/kubean/pull/539
    • Support custom action by @tu1h in https://github.com/kubean-io/kubean/pull/540
    • Reduce centos7 package size by @yankay in https://github.com/kubean-io/kubean/pull/543
    • Update CD about helm cmd vars by @tu1h in https://github.com/kubean-io/kubean/pull/546
    • provide auto ci of k8s version compatibility by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/547
    • Support upgrade kubean CRDs by helm by @tu1h in https://github.com/kubean-io/kubean/pull/552
    • Fix charts rendering exception by @tu1h in https://github.com/kubean-io/kubean/pull/554
    • support pre-check playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/555
    • Fix incorrect rendered template by @tu1h in https://github.com/kubean-io/kubean/pull/556
    • optimize pre-check playbook by @hangscer8 in https://github.com/kubean-io/kubean/pull/559
    • add ut by @hangscer8 in https://github.com/kubean-io/kubean/pull/560
    • Set offline-pkg default k8s version to 1.25.4 by @hangscer8 in https://github.com/kubean-io/kubean/pull/564
    • Add Others OS package build method by @ErikJiang in https://github.com/kubean-io/kubean/pull/561
    • fix offline e2e and update iptables e2e test by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/557
    • fix main branch: auto-kubean-compatibility-schedule.yaml was modified incorrectly by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/563
    • fix the wrong image tag when the main ci builds images. by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/558
    • Fix image name when push, and update the default k8s version to 1.26.0, fix kube_version of offline e2e by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/566
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/568
    • support import iso for uniontech by @ErikJiang in https://github.com/kubean-io/kubean/pull/570
    • add node affinity for chart by @ErikJiang in https://github.com/kubean-io/kubean/pull/571
    • fix airgap patch image build and push by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/572
    • support unionTech for enable repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/575
    • update anti affinity for kubean by @ErikJiang in https://github.com/kubean-io/kubean/pull/579
    • set helm upgrade timeout and sprayJob tag by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/578
    • fix: update offline usage docs by @yyzxw in https://github.com/kubean-io/kubean/pull/577
    • add theory-of-air-gapped-package by @panpan0000 in https://github.com/kubean-io/kubean/pull/582
    • Update build script for UOS by @ErikJiang in https://github.com/kubean-io/kubean/pull/583
    • optimize airgap patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/584
    • fix mv no such file in RHEL by @ErikJiang in https://github.com/kubean-io/kubean/pull/586
    • optimize airgap patch image by @hangscer8 in https://github.com/kubean-io/kubean/pull/588
    • change runner1 e2e ips by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/589
    • fix wrong tag of cd when running main ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/581
    • add call-cd params in main ci and release ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/591
    • add extra binary for airgap-patch by @hangscer8 in https://github.com/kubean-io/kubean/pull/592
    • add create cilium cluster e2e test by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/594
    • remove registry.k8s.io/pause:3.4 by @hangscer8 in https://github.com/kubean-io/kubean/pull/595
    "},{"location":"releases/v0.4.5/#new-contributors","title":"New Contributors","text":"
    • @XiuguangHuang made their first contribution in https://github.com/kubean-io/kubean/pull/530
    • @panguicai008 made their first contribution in https://github.com/kubean-io/kubean/pull/534
    • @panpan0000 made their first contribution in https://github.com/kubean-io/kubean/pull/582

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.4...v0.4.5

    "},{"location":"releases/v0.4.6/","title":"V0.4.6","text":""},{"location":"releases/v0.4.6/#whats-changed","title":"What's Changed","text":"
    • clean unnecessary files by @hangscer8 in https://github.com/kubean-io/kubean/pull/597
    • add debugger2 vms and debug cilium cluster by @wenting-guo in https://github.com/kubean-io/kubean/pull/598
    • delete unused test case doc by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/599
    • Precheck Result Configmap by @hangscer8 in https://github.com/kubean-io/kubean/pull/600
    • fix upgrade failed due to hard affinity by @ErikJiang in https://github.com/kubean-io/kubean/pull/601
    • add cilium_kube_proxy_replacement by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/605
    • download offline files after release ci by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/607

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.5...v0.4.6

    "},{"location":"releases/v0.4.7/","title":"V0.4.7","text":""},{"location":"releases/v0.4.7/#whats-changed","title":"What's Changed","text":"
    • Fix incorrect data type on ActionSource by @tu1h in https://github.com/kubean-io/kubean/pull/613

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.6...v0.4.7

    "},{"location":"releases/v0.4.8/","title":"V0.4.8","text":""},{"location":"releases/v0.4.8/#whats-changed","title":"What's Changed","text":"
    • add multi kubean operator e2e case by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/608
    • Update changes imported by pointer type by @tu1h in https://github.com/kubean-io/kubean/pull/618

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.7...v0.4.8

    "},{"location":"releases/v0.4.9/","title":"V0.4.9","text":""},{"location":"releases/v0.4.9/#whats-changed","title":"What's Changed","text":"
    • fix download files job by @XiuguangHuang in https://github.com/kubean-io/kubean/pull/620
    • fix remount iso by @hangscer8 in https://github.com/kubean-io/kubean/pull/624
    • adding flannel\u3001kube-ovn to manifest cr by @cyclinder in https://github.com/kubean-io/kubean/pull/622
    • [docs] add readme_zh.md by @windsonsea in https://github.com/kubean-io/kubean/pull/623
    • Add code-of-conduct and CONTRIBUTING documentation by @tu1h in https://github.com/kubean-io/kubean/pull/625
    • remove redundant docker os_pkgs by @hangscer8 in https://github.com/kubean-io/kubean/pull/626
    • support openEuler by @hangscer8 in https://github.com/kubean-io/kubean/pull/628
    • optimize import iso openeuler by @hangscer8 in https://github.com/kubean-io/kubean/pull/629
    • support other linux in AirGap scenario by @ErikJiang in https://github.com/kubean-io/kubean/pull/627
    • update pkgs.yml by @ErikJiang in https://github.com/kubean-io/kubean/pull/630
    • fix unkonwn arch image by @ErikJiang in https://github.com/kubean-io/kubean/pull/631
    • add openeuler ospkg by @hangscer8 in https://github.com/kubean-io/kubean/pull/632
    • Support import ISO data to local path by @tu1h in https://github.com/kubean-io/kubean/pull/640
    • Add Dependabot by @ErikJiang in https://github.com/kubean-io/kubean/pull/641
    • Bump mikefarah/yq from 4.30.8 to 4.33.3 by @dependabot in https://github.com/kubean-io/kubean/pull/645
    • Bump docker/build-push-action from 3.3.0 to 4.0.0 by @dependabot in https://github.com/kubean-io/kubean/pull/642
    • Fix import_iso.sh by @tu1h in https://github.com/kubean-io/kubean/pull/651
    • Bump docker/setup-buildx-action from 2.2.1 to 2.5.0 by @dependabot in https://github.com/kubean-io/kubean/pull/644
    • Bump actions/setup-go from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/643
    • set pr-ci nightly-ci run time-limit to 15h by @wenting-guo in https://github.com/kubean-io/kubean/pull/653
    • include dockerfile on ospkg cache judgment include by @tu1h in https://github.com/kubean-io/kubean/pull/655
    • doc: fix english doc broken link by @jonyhy96 in https://github.com/kubean-io/kubean/pull/656
    • add speedup offline packages by @wenting-guo in https://github.com/kubean-io/kubean/pull/657
    • Add Roadmap by @ErikJiang in https://github.com/kubean-io/kubean/pull/661
    • generate offline package for flannel by @cyclinder in https://github.com/kubean-io/kubean/pull/662
    • add unsafe_show_logs to debug the download failed resource by @wenting-guo in https://github.com/kubean-io/kubean/pull/663
    "},{"location":"releases/v0.4.9/#new-contributors","title":"New Contributors","text":"
    • @cyclinder made their first contribution in https://github.com/kubean-io/kubean/pull/622
    • @dependabot made their first contribution in https://github.com/kubean-io/kubean/pull/645
    • @jonyhy96 made their first contribution in https://github.com/kubean-io/kubean/pull/656

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.8...v0.4.9

    "},{"location":"releases/v0.5.0/","title":"V0.5.0","text":""},{"location":"releases/v0.5.0/#whats-changed","title":"What's Changed","text":"
    • support oracle linux in offline enviroment by @ErikJiang in https://github.com/kubean-io/kubean/pull/700

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.4.10...v0.5.0

    "},{"location":"releases/v0.5.1/","title":"V0.5.1","text":""},{"location":"releases/v0.5.1/#whats-changed","title":"What's Changed","text":"
    • remove dockerCE from openeuler pkgs by @hangscer8 in https://github.com/kubean-io/kubean/pull/706
    • kubean e2e ci follow kubespray structure category by @tukwila in https://github.com/kubean-io/kubean/pull/707
    • Fix KUBEAN_E2E_TEST_CI Error: A branch or tag with the name kubean_ci_test could not be found by @tukwila in https://github.com/kubean-io/kubean/pull/709
    • fix kubean e2e ci not really run problem by @tukwila in https://github.com/kubean-io/kubean/pull/712
    • Rename subdir api mod path by @hangscer8 in https://github.com/kubean-io/kubean/pull/715
    • update other linux tool script by @ErikJiang in https://github.com/kubean-io/kubean/pull/716
    • fix ci config variables by @tukwila in https://github.com/kubean-io/kubean/pull/718
    • Update go mod dep version by @hangscer8 in https://github.com/kubean-io/kubean/pull/719
    • add ipvs case by @wenting-guo in https://github.com/kubean-io/kubean/pull/714
    • enable trivy security scanning by @hangscer8 in https://github.com/kubean-io/kubean/pull/721
    • update enable repo playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/723
    • add clean repolist in other linux script by @ErikJiang in https://github.com/kubean-io/kubean/pull/725
    • update yum repo config in other linux by @ErikJiang in https://github.com/kubean-io/kubean/pull/726
    • add mkdocs by @ErikJiang in https://github.com/kubean-io/kubean/pull/728
    • update docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/729

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.0...v0.5.1

    "},{"location":"releases/v0.5.2/","title":"V0.5.2","text":""},{"location":"releases/v0.5.2/#whats-changed","title":"What's Changed","text":"
    • add module repo for yum manager by @ErikJiang in https://github.com/kubean-io/kubean/pull/730
    • CI failure:debug vm change to runner vm by @yulng in https://github.com/kubean-io/kubean/pull/734
    • update kube download url by @ErikJiang in https://github.com/kubean-io/kubean/pull/735

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.1...v0.5.2

    "},{"location":"releases/v0.5.3/","title":"V0.5.3","text":""},{"location":"releases/v0.5.3/#whats-changed","title":"What's Changed","text":"
    • CI failure :change vm config and update docker rm command by @yulng in https://github.com/kubean-io/kubean/pull/740
    • fetch os kernel version in precheck.yml by @hangscer8 in https://github.com/kubean-io/kubean/pull/739
    • add ut by @hangscer8 in https://github.com/kubean-io/kubean/pull/741
    • add kubean compatibility k8s version 1.27.1 by @wenting-guo in https://github.com/kubean-io/kubean/pull/743
    • Update allinone.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/749
    • Support script import_iso.sh to load main function by @ErikJiang in https://github.com/kubean-io/kubean/pull/753
    • Update README.md by @wawa0210 in https://github.com/kubean-io/kubean/pull/754
    • add readme for docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/755
    • ignore pull pause 4 image by @ErikJiang in https://github.com/kubean-io/kubean/pull/756
    "},{"location":"releases/v0.5.3/#new-contributors","title":"New Contributors","text":"
    • @yanrongshi made their first contribution in https://github.com/kubean-io/kubean/pull/749

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.2...v0.5.3

    "},{"location":"releases/v0.5.4/","title":"V0.5.4","text":""},{"location":"releases/v0.5.4/#whats-changed","title":"What's Changed","text":"
    • remove alpha_arm by @hangscer8 in https://github.com/kubean-io/kubean/pull/759
    • centos_cilium_online should use offline runner by @tukwila in https://github.com/kubean-io/kubean/pull/761
    • e2e:update worker cluster k8s version by @yulng in https://github.com/kubean-io/kubean/pull/760
    • update import iso by @ErikJiang in https://github.com/kubean-io/kubean/pull/762

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.3...v0.5.4

    "},{"location":"releases/v0.6.0/","title":"V0.6.0","text":""},{"location":"releases/v0.6.0/#whats-changed","title":"What's Changed","text":"
    • add mirror.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/758
    • fix-cluster-controllers-reconcile-loop by @learner0810 in https://github.com/kubean-io/kubean/pull/765
    • fix:add kubean version in readme by @yulng in https://github.com/kubean-io/kubean/pull/763
    • e2e:modify e2e k8s version by @yulng in https://github.com/kubean-io/kubean/pull/767
    • fix error: Failed to compile kubean_ipvs_cluster_e2e by @tukwila in https://github.com/kubean-io/kubean/pull/766
    • Add scale docs by @yanrongshi in https://github.com/kubean-io/kubean/pull/768
    • update scale docs by @ErikJiang in https://github.com/kubean-io/kubean/pull/769
    • Update upgrade.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/771
    • Translate installation and use documentation by @yanrongshi in https://github.com/kubean-io/kubean/pull/772
    • translation en by @yanrongshi in https://github.com/kubean-io/kubean/pull/773
    • fix speedup offline package with curl by @yulng in https://github.com/kubean-io/kubean/pull/727
    • when pr just changed docs file not run e2e by @wenting-guo in https://github.com/kubean-io/kubean/pull/781
    • add kubean support k8s version range by @wenting-guo in https://github.com/kubean-io/kubean/pull/782
    • [docs]Fix upgrade.md by @yanrongshi in https://github.com/kubean-io/kubean/pull/774
    • add field to identify image repo scheme by @tu1h in https://github.com/kubean-io/kubean/pull/784
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/788
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/789
    • check user has sudo_access by @hangscer8 in https://github.com/kubean-io/kubean/pull/793
    • support tencentos 3.1 by @ErikJiang in https://github.com/kubean-io/kubean/pull/791
    • fix the Chinese in en docs by @my-git9 in https://github.com/kubean-io/kubean/pull/794
    • update import iso sh by @ErikJiang in https://github.com/kubean-io/kubean/pull/797
    "},{"location":"releases/v0.6.0/#new-contributors","title":"New Contributors","text":"
    • @learner0810 made their first contribution in https://github.com/kubean-io/kubean/pull/765
    • @my-git9 made their first contribution in https://github.com/kubean-io/kubean/pull/794

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.5.4...v0.6.0

    "},{"location":"releases/v0.6.1/","title":"V0.6.1","text":""},{"location":"releases/v0.6.1/#whats-changed","title":"What's Changed","text":"
    • Update os package for tencentos by @ErikJiang in https://github.com/kubean-io/kubean/pull/800

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.0...v0.6.1

    "},{"location":"releases/v0.6.2/","title":"V0.6.2","text":""},{"location":"releases/v0.6.2/#whats-changed","title":"What's Changed","text":"
    • fix trap issue by @ErikJiang in https://github.com/kubean-io/kubean/pull/802
    • update kube version to v1.26.5 by @ErikJiang in https://github.com/kubean-io/kubean/pull/803
    • detect dual_stack network by @hangscer8 in https://github.com/kubean-io/kubean/pull/805
    • Add auto bump pause version by @ErikJiang in https://github.com/kubean-io/kubean/pull/807

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.1...v0.6.2

    "},{"location":"releases/v0.6.3/","title":"V0.6.3","text":""},{"location":"releases/v0.6.3/#whats-changed","title":"What's Changed","text":"
    • optimize check sudo_access by @hangscer8 in https://github.com/kubean-io/kubean/pull/809
    • [e2e test] change kindest version to v1.26.4 by @yulng in https://github.com/kubean-io/kubean/pull/816
    • optimize accelerate address by @hangscer8 in https://github.com/kubean-io/kubean/pull/822
    • chore: update docs i18n by @yyzxw in https://github.com/kubean-io/kubean/pull/819
    • add test case to markdown by @yulng in https://github.com/kubean-io/kubean/pull/796
    • Bump mikefarah/yq from 4.33.3 to 4.34.1 by @dependabot in https://github.com/kubean-io/kubean/pull/751
    • Bump docker/build-push-action from 4.0.0 to 4.1.1 by @dependabot in https://github.com/kubean-io/kubean/pull/818
    • Bump docker/setup-buildx-action from 2.5.0 to 2.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/817
    • add import iso script to release assets by @ErikJiang in https://github.com/kubean-io/kubean/pull/825
    • Bump cpina/github-action-push-to-another-repository from 1.5.1 to 1.7.2 by @dependabot in https://github.com/kubean-io/kubean/pull/747
    • [docs] update en/zh usage files by @windsonsea in https://github.com/kubean-io/kubean/pull/821
    • separate resource build from e2e step by @wenting-guo in https://github.com/kubean-io/kubean/pull/827

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.2...v0.6.3

    "},{"location":"releases/v0.6.4/","title":"V0.6.4","text":""},{"location":"releases/v0.6.4/#whats-changed","title":"What's Changed","text":"
    • update the e2e case list by @wenting-guo in https://github.com/kubean-io/kubean/pull/829
    • optimize check vip by @hangscer8 in https://github.com/kubean-io/kubean/pull/830

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.3...v0.6.4

    "},{"location":"releases/v0.6.5/","title":"V0.6.5","text":""},{"location":"releases/v0.6.5/#whats-changed","title":"What's Changed","text":"
    • fix spray-job endTime when operator crashed And return pkg_mgr info by @hangscer8 in https://github.com/kubean-io/kubean/pull/831

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.4...v0.6.5

    "},{"location":"releases/v0.6.6/","title":"V0.6.6","text":""},{"location":"releases/v0.6.6/#whats-changed","title":"What's Changed","text":"
    • Update deploy script for main CI by @ErikJiang in https://github.com/kubean-io/kubean/pull/840
    • fix helm client-side throttling by @ErikJiang in https://github.com/kubean-io/kubean/pull/842
    • apply for a seat to maintain docs by @windsonsea in https://github.com/kubean-io/kubean/pull/841
    • [docs] fix a term \u6a21\u677f by @windsonsea in https://github.com/kubean-io/kubean/pull/834
    • [docs] fix indentations in theory_of_airgapped_package.md by @windsonsea in https://github.com/kubean-io/kubean/pull/833
    • [docs] update custom_action by @windsonsea in https://github.com/kubean-io/kubean/pull/832
    • fix version parse in manage_version_cr.sh by @ErikJiang in https://github.com/kubean-io/kubean/pull/844
    • doc: install with non-root user by @tu1h in https://github.com/kubean-io/kubean/pull/845

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.5...v0.6.6

    "},{"location":"releases/v0.7.0/","title":"V0.7.0","text":""},{"location":"releases/v0.7.0/#whats-changed","title":"What's Changed","text":"
    • [test] release CI auto to update the 'k8s supported version range list' by @yulng in https://github.com/kubean-io/kubean/pull/849
    • [CI failure]retry to get pod name and state running by @yulng in https://github.com/kubean-io/kubean/pull/846
    • [e2e test] create 3master+vip cluster by @yulng in https://github.com/kubean-io/kubean/pull/848
    • docs: update usage/install by @my-git9 in https://github.com/kubean-io/kubean/pull/847
    • [e2e case ] add runner vm (vipadd) and fix readme by @yulng in https://github.com/kubean-io/kubean/pull/855
    • [docs] resolve documentation issue 824,360,359,250 by @yulng in https://github.com/kubean-io/kubean/pull/850
    • fix kubespray package by @hangscer8 in https://github.com/kubean-io/kubean/pull/859
    • Optimize Reconcile Requeue by @RuliXu in https://github.com/kubean-io/kubean/pull/860
    • refactor network testcase architecture by @tukwila in https://github.com/kubean-io/kubean/pull/861
    • Lock kubespray commit sha by @ErikJiang in https://github.com/kubean-io/kubean/pull/863
    • Fix release created repeatedly by @ErikJiang in https://github.com/kubean-io/kubean/pull/866
    "},{"location":"releases/v0.7.0/#new-contributors","title":"New Contributors","text":"
    • @RuliXu made their first contribution in https://github.com/kubean-io/kubean/pull/860

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.6.6...v0.7.0

    "},{"location":"releases/v0.7.1/","title":"V0.7.1","text":""},{"location":"releases/v0.7.1/#whats-changed","title":"What's Changed","text":"
    • Update spray image by @ErikJiang in https://github.com/kubean-io/kubean/pull/872
    • work with oracle 8 by @hangscer8 in https://github.com/kubean-io/kubean/pull/871

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.0...v0.7.1

    "},{"location":"releases/v0.7.2/","title":"V0.7.2","text":""},{"location":"releases/v0.7.2/#whats-changed","title":"What's Changed","text":"
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/873
    • verify kubespray master head commit id sha pipeline by @tukwila in https://github.com/kubean-io/kubean/pull/870
    • retry more times to download files in e2e schedule testing by @tukwila in https://github.com/kubean-io/kubean/pull/875
    • correct workflow yaml by @tukwila in https://github.com/kubean-io/kubean/pull/876
    • correct verify kubespray yaml errors by @tukwila in https://github.com/kubean-io/kubean/pull/877
    • correct HELM_CHART_VERSION value in verify_kubespray_e2e_test by @tukwila in https://github.com/kubean-io/kubean/pull/879
    • fix some bug in kubespray commit workflow by @tukwila in https://github.com/kubean-io/kubean/pull/882
    • Add renew certs playbook by @ErikJiang in https://github.com/kubean-io/kubean/pull/884

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.1...v0.7.2

    "},{"location":"releases/v0.7.3/","title":"V0.7.3","text":""},{"location":"releases/v0.7.3/#whats-changed","title":"What's Changed","text":"
    • Add sshpass for sync ansible module by @ErikJiang in https://github.com/kubean-io/kubean/pull/886

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.2...v0.7.3

    "},{"location":"releases/v0.7.4/","title":"V0.7.4","text":""},{"location":"releases/v0.7.4/#whats-changed","title":"What's Changed","text":"
    • Set ownReference for clusterOperation releated with cluster by @hangscer8 in https://github.com/kubean-io/kubean/pull/889
    • Update renew certs groups by @ErikJiang in https://github.com/kubean-io/kubean/pull/891

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.3...v0.7.4

    "},{"location":"releases/v0.8.0/","title":"V0.8.0","text":""},{"location":"releases/v0.8.0/#whats-changed","title":"What's Changed","text":"
    • Update release process by @tu1h in https://github.com/kubean-io/kubean/pull/869
    • enable to config max records by @hangscer8 in https://github.com/kubean-io/kubean/pull/893
    • Add license info by @ErikJiang in https://github.com/kubean-io/kubean/pull/892
    • Bump actions/setup-go from 3 to 4 by @dependabot in https://github.com/kubean-io/kubean/pull/838
    • fix static check format by @hangscer8 in https://github.com/kubean-io/kubean/pull/900
    • add cncf to readme by @windsonsea in https://github.com/kubean-io/kubean/pull/897
    • add kubean v0.7.4 version compatible with k8s version by @tukwila in https://github.com/kubean-io/kubean/pull/901
    • docs: add en install_without_root.md by @my-git9 in https://github.com/kubean-io/kubean/pull/902
    • Add killercoda to README by @tu1h in https://github.com/kubean-io/kubean/pull/903
    • make cache for new repo by @ErikJiang in https://github.com/kubean-io/kubean/pull/906
    • Remove backofflimit by @hangscer8 in https://github.com/kubean-io/kubean/pull/905

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.7.4...v0.8.0

    "},{"location":"releases/v0.8.1/","title":"V0.8.1","text":""},{"location":"releases/v0.8.1/#whats-changed","title":"What's Changed","text":"
    • update repo url for tencentos by @ErikJiang in https://github.com/kubean-io/kubean/pull/907

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.0...v0.8.1

    "},{"location":"releases/v0.8.2/","title":"V0.8.2","text":""},{"location":"releases/v0.8.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.2/#new-features","title":"\u2728 New Features","text":"
    • update k8s to v1.26.7 by @hangscer8 in https://github.com/kubean-io/kubean/pull/925
    "},{"location":"releases/v0.8.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Ensure the job pod never run again by @hangscer8 in https://github.com/kubean-io/kubean/pull/911
    • Fix incorrect ansible pkgmgr detection for tencentos by @tu1h in https://github.com/kubean-io/kubean/pull/912
    • fix generate release notes content is empty by @ErikJiang in https://github.com/kubean-io/kubean/pull/915
    • Add labeler action by @ErikJiang in https://github.com/kubean-io/kubean/pull/916
    • add labeler.yml config by @ErikJiang in https://github.com/kubean-io/kubean/pull/919
    • update ci bot by @ErikJiang in https://github.com/kubean-io/kubean/pull/922
    • Ensure Cascade Deletion with Ownreference by @hangscer8 in https://github.com/kubean-io/kubean/pull/918

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.1...v0.8.2

    "},{"location":"releases/v0.8.3/","title":"V0.8.3","text":""},{"location":"releases/v0.8.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.3/#documentation","title":"\ud83d\udcda Documentation","text":"
    • update Q3 roadmap by @ErikJiang in https://github.com/kubean-io/kubean/pull/929
    "},{"location":"releases/v0.8.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • disable CI robot by @ErikJiang in https://github.com/kubean-io/kubean/pull/926
    • Add governance doc by @ErikJiang in https://github.com/kubean-io/kubean/pull/927
    • support rhel9 by @tu1h in https://github.com/kubean-io/kubean/pull/930
    • update docs config by @ErikJiang in https://github.com/kubean-io/kubean/pull/931

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.2...v0.8.3

    "},{"location":"releases/v0.8.4/","title":"V0.8.4","text":""},{"location":"releases/v0.8.4/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.4/#dependencies","title":"\u2b06\ufe0f Dependencies","text":"
    • Bump github.com/spf13/cobra from 1.6.0 to 1.7.0 by @dependabot in https://github.com/kubean-io/kubean/pull/732
    "},{"location":"releases/v0.8.4/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Correct download path by @Rei1010 in https://github.com/kubean-io/kubean/pull/933
    • add ISA field to precheck playbook by @tu1h in https://github.com/kubean-io/kubean/pull/934
    • Bump Kubespray version by @tu1h in https://github.com/kubean-io/kubean/pull/937
    "},{"location":"releases/v0.8.4/#new-contributors","title":"New Contributors","text":"
    • @Rei1010 made their first contribution in https://github.com/kubean-io/kubean/pull/933

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.3...v0.8.4

    "},{"location":"releases/v0.8.5/","title":"V0.8.5","text":""},{"location":"releases/v0.8.5/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.8.5/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • chor: add golanglint --fix flag by @yyzxw in https://github.com/kubean-io/kubean/pull/936
    • Revert \"Bump Kubespray version\" by @tu1h in https://github.com/kubean-io/kubean/pull/938

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.4...v0.8.5

    "},{"location":"releases/v0.9.0/","title":"V0.9.0","text":""},{"location":"releases/v0.9.0/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.0/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Update k8s support version by @Rei1010 in https://github.com/kubean-io/kubean/pull/946
    • add ut Test_TrySuspendPod by @KubeKyrie in https://github.com/kubean-io/kubean/pull/944
    • Update E2E kube version by @Rei1010 in https://github.com/kubean-io/kubean/pull/955
    • webhook for clusterOperations by @hangscer8 in https://github.com/kubean-io/kubean/pull/956
    • fix missing latest release note by @ErikJiang in https://github.com/kubean-io/kubean/pull/953
    • update kubespray by @hangscer8 in https://github.com/kubean-io/kubean/pull/960
    "},{"location":"releases/v0.9.0/#new-contributors","title":"New Contributors","text":"
    • @KubeKyrie made their first contribution in https://github.com/kubean-io/kubean/pull/944

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.8.6...v0.9.0

    "},{"location":"releases/v0.9.1/","title":"V0.9.1","text":""},{"location":"releases/v0.9.1/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.1/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Add compability for kubernetes 1.28.0 by @Rei1010 in https://github.com/kubean-io/kubean/pull/957
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/961
    • Build admission image during schedule CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/962
    • Correct config path by @Rei1010 in https://github.com/kubean-io/kubean/pull/966
    • Adjust env conf by @Rei1010 in https://github.com/kubean-io/kubean/pull/967
    • Add missing param by @Rei1010 in https://github.com/kubean-io/kubean/pull/969
    • Auto bump kubean support kubernetes version with CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/971
    • Update Kubean Support Matrix by @github-actions in https://github.com/kubean-io/kubean/pull/972
    • Optimize CI trigger logic by @Rei1010 in https://github.com/kubean-io/kubean/pull/974
    • update containerd version by @hangscer8 in https://github.com/kubean-io/kubean/pull/977
    "},{"location":"releases/v0.9.1/#new-contributors","title":"New Contributors","text":"
    • @github-actions made their first contribution in https://github.com/kubean-io/kubean/pull/972

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.0...v0.9.1

    "},{"location":"releases/v0.9.2/","title":"V0.9.2","text":""},{"location":"releases/v0.9.2/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.2/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • optimize precheck to avoid losing data by @hangscer8 in https://github.com/kubean-io/kubean/pull/982
    • add unit-test by @hangscer8 in https://github.com/kubean-io/kubean/pull/976
    • Adjust PR CI by @Rei1010 in https://github.com/kubean-io/kubean/pull/984
    • add BackUp Weight for ClusterOperation by @hangscer8 in https://github.com/kubean-io/kubean/pull/983
    • update k8s version by @hangscer8 in https://github.com/kubean-io/kubean/pull/986

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.1...v0.9.2

    "},{"location":"releases/v0.9.3/","title":"V0.9.3","text":""},{"location":"releases/v0.9.3/#whats-changed","title":"What's Changed","text":""},{"location":"releases/v0.9.3/#other-changes","title":"\ud83d\udd28 Other Changes","text":"
    • Use complete execute path in playbook renew_certs by @tu1h in https://github.com/kubean-io/kubean/pull/988

    Full Changelog: https://github.com/kubean-io/kubean/compare/v0.9.2...v0.9.3

    "},{"location":"usage/airgap/","title":"\u79bb\u7ebf\u573a\u666f\u7684\u4f7f\u7528","text":""},{"location":"usage/airgap/#_2","title":"\u63d0\u9192\u4e8b\u9879","text":"
    • \u9488\u5bf9 RHEL 8.4 \u7cfb\u5217\uff0c\u7531\u4e8e\u5305\u4f9d\u8d56\u95ee\u9898\uff0c\u6267\u884c\u8fc7\u7a0b\u4e2d\u4f1a\u5378\u8f7d\u7cfb\u7edf\u9884\u88c5\u7684 fuse \u5305
    "},{"location":"usage/airgap/#_3","title":"\u51c6\u5907\u4e8b\u9879","text":"
    1. \u9700\u8981\u9884\u5148\u90e8\u7f72\u7684\u670d\u52a1:

      • \u6587\u4ef6\u8d44\u6e90\u670d\u52a1 minio
      • \u955c\u50cf\u4ed3\u5e93\u670d\u52a1 docker registry\uff082.7 \u4ee5\u4e0b\uff09\u6216\u8005 harbor
    2. \u9700\u8981\u5b89\u88c5\u7684\u5fc5\u8981\u5de5\u5177:

      • \u7528\u4e8e\u5bfc\u5165\u955c\u50cf\u6587\u4ef6\u7684\u5de5\u5177: skopeo\uff0c\u9700\u8981 >=1.9.2; podman, Required >= 4.4.4
      • \u7528\u4e8e\u5bfc\u5165\u4e8c\u8fdb\u5236\u6587\u4ef6\u7684\u5de5\u5177: minio client
    3. \u901a\u8fc7Helm\u90e8\u7f72kubean

    "},{"location":"usage/airgap/#_4","title":"\u4e0b\u8f7d\u79bb\u7ebf\u8d44\u6e90","text":"

    \u901a\u8fc7 Github Releases \u9875\u9762\u53ef\u4ee5\u4e0b\u8f7d\u6211\u4eec\u60f3\u8981\u7248\u672c\u7684\u79bb\u7ebf\u8d44\u6e90\u3002

    \u79bb\u7ebf\u8d44\u6e90\u7684\u57fa\u672c\u8bf4\u660e:

    \u251c\u2500\u2500 files.list                                  # \u6587\u4ef6\u5185\u5bb9\u7684\u5217\u8868\n\u251c\u2500\u2500 files-${tag}.tar.gz                         # \u6587\u4ef6\u538b\u7f29\u5305, \u5185\u542b\u5bfc\u5165\u811a\u672c\n\u251c\u2500\u2500 images.list                                 # \u955c\u50cf\u5185\u5bb9\u7684\u5217\u8868\n\u251c\u2500\u2500 images-${tag}.tar.gz                        # \u955c\u50cf\u538b\u7f29\u5305, \u5185\u542b\u5bfc\u5165\u811a\u672c\n\u2514\u2500\u2500 os-pkgs-${linux_distribution}-${tag}.tar.gz # \u5404\u7cfb\u7edf\u538b\u7f29\u5305, \u5185\u542b\u5bfc\u5165\u811a\u672c\n
    "},{"location":"usage/airgap/#_5","title":"\u5c06\u79bb\u7ebf\u8d44\u6e90\u5bfc\u5165\u5bf9\u5e94\u670d\u52a1","text":""},{"location":"usage/airgap/#binaries","title":"\u5bfc\u5165 Binaries \u8d44\u6e90","text":"

    \u8bf7\u5148\u89e3\u538b files-${tag}.tar.gz \u6587\u4ef6, \u5176\u5185\u90e8\u5305\u542b:

    files/\n\u251c\u2500\u2500 import_files.sh       # \u8be5\u811a\u672c\u7528\u4e8e\u5bfc\u5165\u4e8c\u8fdb\u5236\u6587\u4ef6\u5230 minio \u6587\u4ef6\u670d\u52a1\n\u2514\u2500\u2500 offline-files.tar.gz  # \u4e8c\u8fdb\u5236\u6587\u4ef6\u7684\u538b\u7f29\u5305\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4, \u5c06\u4e8c\u8fdb\u5236\u6587\u4ef6\u5bfc\u5165\u5230 minio \u670d\u52a1\u4e2d:

    MINIO_USER=${username} MINIO_PASS=${password} ./import_files.sh ${minio_address}\n
    • minio_address \u662f minio API Server\u5730\u5740\uff0c\u7aef\u53e3\u4e00\u822c\u4e3a9000\uff0c\u6bd4\u5982 http://1.2.3.4:9000
    "},{"location":"usage/airgap/#images","title":"\u5bfc\u5165 Images \u8d44\u6e90","text":"

    \u9700\u8981\u89e3\u538b images-${tag}.tar.gz \u6587\u4ef6, \u5176\u5185\u90e8\u5305\u542b:

    images/\n\u251c\u2500\u2500 import_images.sh       # \u8be5\u811a\u672c\u7528\u4e8e\u5bfc\u5165\u955c\u50cf\u6587\u4ef6\u5230 docker registry \u6216 harbor \u955c\u50cf\u4ed3\u5e93\u670d\u52a1, \u53ef\u7528\u4e8e\u5408\u5e76\u4e0d\u540c\u5e73\u53f0\u955c\u50cf\n\u2514\u2500\u2500 offline-images.tar.gz  # \u955c\u50cf\u6587\u4ef6\u7684\u538b\u7f29\u5305\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4, \u5c06\u955c\u50cf\u6587\u4ef6\u5bfc\u5165\u5230 docker registry \u6216 harbor \u955c\u50cf\u4ed3\u5e93\u670d\u52a1\u4e2d:

    # \u514d\u5bc6\u6a21\u5f0f\nREGISTRY_SCHEME=http REGISTRY_ADDR=${registry_address} ./import_images.sh\n\n# \u7528\u6237\u540d\u53e3\u4ee4\u6a21\u5f0f\nREGISTRY_SCHEME=https REGISTRY_ADDR=${registry_address} REGISTRY_USER=${username} REGISTRY_PASS=${password} ./import_images.sh\n
    • REGISTRY_ADDR \u662f\u955c\u50cf\u4ed3\u5e93\u7684\u5730\u5740\uff0c\u6bd4\u59821.2.3.4:5000
    • \u5f53\u955c\u50cf\u4ed3\u5e93\u5b58\u5728\u7528\u6237\u540d\u5bc6\u7801\u9a8c\u8bc1\u65f6\uff0c\u9700\u8981\u8bbe\u7f6e REGISTRY_USER \u548c REGISTRY_PASS
    "},{"location":"usage/airgap/#os-packages","title":"\u5bfc\u5165 OS packages \u8d44\u6e90","text":"

    Note

    • \u76ee\u524d\u652f\u6301 Centos / Redhat / Kylin / Ubuntu \u7b49\u53d1\u884c\u7248\u7684 OS Packages \u8d44\u6e90
    • \u7edf\u4fe1 UnionTech V20 \u7cfb\u5217\u7684 OS Package \u9700\u8981\u624b\u52a8\u6784\u5efa\uff0c\u6784\u5efa\u65b9\u6cd5\u89c1 README

    \u9700\u8981\u89e3\u538b os-pkgs-${linux_distribution}-${tag}.tar.gz \u6587\u4ef6\uff0c\u5176\u5185\u90e8\u5305\u542b:

    os-pkgs\n\u251c\u2500\u2500 import_ospkgs.sh       # \u8be5\u811a\u672c\u7528\u4e8e\u5bfc\u5165 os packages \u5230 minio \u6587\u4ef6\u670d\u52a1\n\u251c\u2500\u2500 os-pkgs-amd64.tar.gz   # amd64 \u67b6\u6784\u7684 os packages \u5305\n\u251c\u2500\u2500 os-pkgs-arm64.tar.gz   # arm64 \u67b6\u6784\u7684 os packages \u5305\n\u2514\u2500\u2500 os-pkgs.sha256sum.txt  # os packages \u5305\u7684 sha256sum \u6548\u9a8c\u6587\u4ef6\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5c06 os packages \u5305\u5230 minio \u6587\u4ef6\u670d\u52a1\u4e2d\uff1a

    MINIO_USER=${username} MINIO_PASS=${password} ./import_ospkgs.sh ${minio_address} os-pkgs-${arch}.tar.gz\n
    "},{"location":"usage/airgap/#_6","title":"\u5efa\u7acb\u79bb\u7ebf\u6e90","text":"

    \u4e0b\u9762\u7684\u3010\u5efa\u7acb\u672c\u5730ISO\u955c\u50cf\u6e90\u3011\u4e0e\u3010\u5efa\u7acb\u5728\u7ebfISO\u955c\u50cf\u6e90\u3011\u53ea\u9700\u8981\u6267\u884c\u5176\u4e2d\u4e00\u4e2a\u5373\u53ef\u3002

    "},{"location":"usage/airgap/#iso","title":"\u5efa\u7acb ISO \u955c\u50cf\u6e90","text":""},{"location":"usage/airgap/#iso_1","title":"\u5efa\u7acb\u672c\u5730 ISO \u955c\u50cf\u6e90","text":"

    OS Packages \u4e3b\u8981\u7528\u4e8e\u89e3\u51b3 docker-ce \u7684\u5b89\u88c5\u4f9d\u8d56\uff0c\u4f46\u5728\u5b9e\u9645\u7684\u79bb\u7ebf\u90e8\u7f72\u8fc7\u7a0b\u4e2d\uff0c\u53ef\u80fd\u8fd8\u9700\u8981\u4f7f\u7528\u5230\u53d1\u884c\u7248\u7cfb\u7edf\u7684\u5176\u4ed6\u5305\uff0c\u6b64\u65f6\u9700\u8981\u5efa\u7acb\u672c\u5730 ISO \u955c\u50cf\u6e90\u3002

    Note

    \u6211\u4eec\u9700\u8981\u63d0\u524d\u4e0b\u8f7d\u4e3b\u673a\u5bf9\u5e94\u7684 ISO \u7cfb\u7edf\u53d1\u884c\u7248\u955c\u50cf, \u5f53\u524d\u652f\u6301 Centos\u3001Redhat\u3001Ubuntu \u53d1\u884c\u7248\u7684 ISO \u955c\u50cf\u6e90\u521b\u5efa\uff1b \u9700\u8981\u5728\u6bcf\u4e2a\u521b\u5efakubernetes\u7684\u96c6\u7fa4\u4e0a\u90fd\u6267\u884c\u672c\u64cd\u4f5c\u3002

    \u8fd9\u91cc\u53ef\u4ee5\u4f7f\u7528\u811a\u672c artifacts/gen_repo_conf.sh, \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5373\u53ef\u6302\u8f7d ISO \u955c\u50cf\u6587\u4ef6, \u5e76\u521b\u5efa Repo \u914d\u7f6e\u6587\u4ef6:

    # \u57fa\u672c\u683c\u5f0f\n./gen_repo_conf.sh --iso-mode ${linux_distribution} ${iso_image_file}\n# linux_distribution \u7684\u503c\u662f centos\u3001redhat\u3001debian \u6216\u8005 ubuntu\n# \u6267\u884c\u811a\u672c\u521b\u5efa ISO \u955c\u50cf\u6e90\n./gen_repo_conf.sh --iso-mode centos CentOS-7-x86_64-Everything-2207-02.iso\n# \u67e5\u770b ISO \u955c\u50cf\u6302\u8f7d\u60c5\u51b5\ndf -h | grep mnt\n/dev/loop0               9.6G  9.6G     0 100% /mnt/centos-iso\n# \u67e5\u770b ISO \u955c\u50cf\u6e90\u914d\u7f6e\ncat /etc/yum.repos.d/Kubean-ISO.repo\n
    [kubean-iso]\nname=Kubean ISO Repo\nbaseurl=file:///mnt/centos-iso\nenabled=1\ngpgcheck=0\nsslverify=0\n

    "},{"location":"usage/airgap/#iso_2","title":"\u5efa\u7acb\u5728\u7ebf ISO \u955c\u50cf\u6e90","text":""},{"location":"usage/airgap/#minio","title":"\u5bfc\u5165\u81f3 MinIO","text":"

    \u5c06 ISO \u4e2d\u7684\u955c\u50cf\u6e90\u5bfc\u5165\u5230 minio server\u4e2d\uff0c\u9700\u8981\u4f7f\u7528\u5230\u811a\u672c artifacts/import_iso.sh\uff0c\u6267\u884c\u5982\u4e0b\u9762\u547d\u4ee4\u5373\u53ef\u5c06 ISO \u955c\u50cf\u4e2d\u8f6f\u4ef6\u6e90\u5bfc\u5165\u5230 minio server \u4e2d\uff1a

    MINIO_USER=${username} MINIO_PASS=${password} ./import_iso.sh ${minio_address} Centos-XXXX.ISO\n

    \u4e3a\u4e3b\u673a\u65b0\u5efa\u5982\u4e0b\u6587\u4ef6 /etc/yum.repos.d/centos-iso-online.repo \u5373\u53ef\u4f7f\u7528\u5728\u7ebf ISO \u955c\u50cf\u6e90:

    [kubean-iso-online]\nname=Kubean ISO Repo Online\nbaseurl=${minio_address}/kubean/centos-iso/$releasever/os/$basearch\nenabled=1\ngpgcheck=0\nsslverify=0\n

    \u6b64\u5916\uff0c\u5982\u679c\u5bfc\u5165\u7684\u662f RHEL ISO\uff0c\u9700\u6ce8\u610f\u6b64 ISO \u63d0\u4f9b\u4e24\u4e2a\u6e90\uff1a

    [kubean-iso-online-BaseOS]\nname=Kubean ISO Repo Online BaseOS\nbaseurl=${minio_address}/kubean/redhat-iso/$releasever/os/$basearch/BaseOS\nenabled=1\ngpgcheck=0\nsslverify=0\n\n\n[kubean-iso-online-AppStream]\nname=Kubean ISO Repo Online AppStream\nbaseurl=${minio_address}/kubean/redhat-iso/$releasever/os/$basearch/AppStream\nenabled=1\ngpgcheck=0\nsslverify=0\n
    • \u9700\u8981\u5c06 ${minio_address} \u66ff\u6362\u4e3a minio API Server \u5730\u5740

    \u8fd9\u4e00\u6b65\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e ClusterOperation \u6587\u4ef6\u4e2d enable-repo.yml \u7684 extraArgs \u7684\u503c\u6765\u5b9e\u73b0\uff0c \u5c06 extraArgs \u7684\u503c\u6dfb\u52a0\u4e3a '{minio_url}/kubean/centos-iso/$releasever/os/$basearch' \u8fd9\u79cd\u683c\u5f0f\uff0c \u53c2\u9605 ClusterOperation \u7ed3\u5408 playbook \u521b\u5efa\u6e90\u914d\u7f6e\u6587\u4ef6\u4e86\u89e3\u66f4\u591a\u4fe1\u606f\u3002

    "},{"location":"usage/airgap/#_7","title":"\u5bfc\u5165\u81f3\u672c\u5730\u76ee\u5f55","text":"

    \u5c06 ISO \u4e2d\u7684\u955c\u50cf\u6e90\u5bfc\u5165\u5230\u672c\u5730\u76ee\u5f55\u4e2d\uff0c\u9700\u8981\u4f7f\u7528\u5230\u811a\u672c artifacts/import_iso.sh \uff0c\u6267\u884c\u5982\u4e0b\u9762\u547d\u4ee4\u5373\u53ef\u5c06 ISO \u955c\u50cf\u4e2d\u8f6f\u4ef6\u6e90\u5bfc\u5165\u5230\u6307\u5b9a\u7684\u672c\u5730\u76ee\u5f55\u4e2d

    ./import_iso.sh ${you_local_path} Centos-XXXX.ISO\n

    repo \u914d\u7f6e\u65b9\u5f0f\u7c7b\u4f3c\u5bfc\u5165\u81f3 MinIO

    [kubean-iso-online]\nname=Kubean ISO Repo Online\nbaseurl=${your_local_path}/centos-iso/$releasever/os/$basearch\nenabled=1\ngpgcheck=0\nsslverify=0\n
    "},{"location":"usage/airgap/#extras","title":"\u5efa\u7acb extras \u8f6f\u4ef6\u6e90","text":"

    \u5f53\u524d\u652f\u6301 Red Hat Linux \u7cfb\u5217

    \u5728\u5b89\u88c5 K8S \u96c6\u7fa4\u65f6, \u8fd8\u4f1a\u4f9d\u8d56\u4e00\u4e9b extras \u8f6f\u4ef6, \u6bd4\u5982 container-selinux, \u8fd9\u4e9b\u8f6f\u4ef6\u5f80\u5f80\u5728 ISO \u955c\u50cf\u6e90\u4e2d\u5e76\u4e0d\u63d0\u4f9b. \u5bf9\u6b64 OS packages \u79bb\u7ebf\u5305\u5df2\u5bf9\u5176\u8fdb\u884c\u4e86\u8865\u5145, \u5176\u5728\u5bfc\u5165 minio \u4e4b\u540e, \u6211\u4eec\u8fd8\u9700\u8981\u5411\u5404\u4e2a\u8282\u70b9\u521b\u5efa extra repo \u914d\u7f6e\u6587\u4ef6.

    \u540c\u6837\u53ef\u4ee5\u4f7f\u7528\u811a\u672c artifacts/gen_repo_conf.sh, \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5373\u53ef\u521b\u5efa Extra Repo:

    ./gen_repo_conf.sh --url-mode ${linux_distribution} ${repo_base_url}\n\n# \u6267\u884c\u811a\u672c\u521b\u5efa URL \u6e90\u914d\u7f6e\u6587\u4ef6\n./gen_repo_conf.sh --url-mode centos ${minio_address}/kubean/centos/\\$releasever/os/\\$basearch\n# \u67e5\u770b URL \u6e90\u914d\u7f6e\u6587\u4ef6\ncat /etc/yum.repos.d/Kubean-URL.repo\n
    [kubean-extra]\nname=Kubean Extra Repo\nbaseurl=http://10.20.30.40:9000/kubean/centos/$releasever/os/$basearch\nenabled=1\ngpgcheck=0\nsslverify=0\n

    Note

    \u82e5 repo_base_url \u53c2\u6570\u4e2d\u5e26\u6709 $ \u7b26\u53f7\uff0c\u9700\u8981\u5bf9\u5176\u8fdb\u884c\u8f6c\u4e49 \\$\u3002

    \u9700\u8981\u5c06 ${minio_address} \u66ff\u6362\u4e3a\u5b9e\u9645 minio API Server \u7684\u5730\u5740\u3002

    "},{"location":"usage/airgap/#clusteroperation-playbook","title":"ClusterOperation \u7ed3\u5408 playbook \u521b\u5efa\u6e90\u914d\u7f6e\u6587\u4ef6","text":"

    \u7531\u4e8e\u521b\u5efa\u6e90\u7684\u8fc7\u7a0b\u6d89\u53ca\u5230\u96c6\u7fa4\u7684\u6240\u6709\u8282\u70b9, \u624b\u52a8\u811a\u672c\u64cd\u4f5c\u76f8\u5bf9\u7e41\u7410, \u8fd9\u91cc\u63d0\u4f9b\u4e86\u4e00\u79cd playbook \u7684\u89e3\u51b3\u65b9\u5f0f.

    centos yum repo \u7684\u914d\u7f6e\u793a\u4f8b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-ops-01\nspec:\n  cluster: sample\n  image: ghcr.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: enable-repo.yml  # \u5728\u90e8\u7f72\u96c6\u7fa4\u524d, \u5148\u6267\u884c enable-repo \u7684 playbook, \u4e3a\u6bcf\u4e2a\u8282\u70b9\u521b\u5efa\u6307\u5b9a url \u7684\u6e90\u914d\u7f6e\n      extraArgs: |\n        -e \"{repo_list: ['http://10.20.30.40:9000/kubean/centos/\\$releasever/os/\\$basearch']}\"\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: cluster-info.yml\n    - actionType: playbook\n      action: enable-repo.yml  # \u5728\u90e8\u7f72\u96c6\u7fa4\u540e, \u8fd8\u539f\u5404\u8282\u70b9 yum repo \u914d\u7f6e. (\u6ce8\uff1a\u6b64\u6b65\u9aa4, \u53ef\u89c6\u60c5\u51b5\u6dfb\u52a0.)\n      extraArgs: |\n        -e undo=true\n

    ubuntu20.04 apt repo \u7684\u914d\u7f6e\u793a\u4f8b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-ops-01\nspec:\n  cluster: sample\n  image: ghcr.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: enable-repo.yml  # \u5728\u90e8\u7f72\u96c6\u7fa4\u524d, \u5148\u6267\u884c enable-repo \u7684 playbook, \u4e3a\u6bcf\u4e2a\u8282\u70b9\u521b\u5efa\u6307\u5b9a url \u7684\u6e90\u914d\u7f6e\n                               # \u6ce8\uff1aubuntu \u662f os package \u79bb\u7ebf\u8d44\u6e90\uff0cubuntu-iso \u662f iso \u5b89\u88c5\u5305\u8d44\u6e90\n      extraArgs: |\n        -e \"{repo_list: ['deb [trusted=yes] http://MINIO_ADDR:9000/kubean/ubuntu/amd64 focal/', 'deb [trusted=yes] http://MINIO_ADDR:9000/kubean/ubuntu-iso focal main restricted']}\"\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: cluster-info.yml\n    - actionType: playbook\n      action: enable-repo.yml  # \u5728\u90e8\u7f72\u96c6\u7fa4\u540e, \u8fd8\u539f\u5404\u8282\u70b9 apt repo \u914d\u7f6e. (\u6ce8\uff1a\u6b64\u6b65\u9aa4, \u53ef\u89c6\u60c5\u51b5\u6dfb\u52a0.)\n      extraArgs: |\n        -e undo=true\n
    "},{"location":"usage/airgap/#_8","title":"\u90e8\u7f72\u96c6\u7fa4\u524d\u7684\u914d\u7f6e","text":"

    \u79bb\u7ebf\u8bbe\u7f6e\u9700\u8981\u53c2\u8003 kubespray \u4f4d\u4e8e kubespray/inventory/sample/group_vars/all/offline.yml \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

    ---\n## \u5168\u5c40\u7684\u79bb\u7ebf\u914d\u7f6e\n### \u914d\u7f6e\u79c1\u6709\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93\u670d\u52a1\u7684\u5730\u5740\nregistry_host: \"{{ registry_address }}\"\n\n### \u914d\u7f6e\u4e8c\u8fdb\u5236\u6587\u4ef6\u670d\u52a1\u7684\u5730\u5740\ngithub_url: https://files.m.daocloud.io/github.com\ndl_k8s_io_url: https://files.m.daocloud.io/dl.k8s.io\nstorage_googleapis_url: https://files.m.daocloud.io/storage.googleapis.com\nget_helm_url: https://files.m.daocloud.io/get.helm.sh\n\n### \u5982\u679c\u4f7f\u7528 CentOS / RedHat / AlmaLinux / Fedora, \u9700\u8981\u914d\u7f6e yum \u6e90\u6587\u4ef6\u670d\u52a1\u5730\u5740:\nyum_repo: \"{{ minio_address }}\"\n\n### \u5982\u679c\u4f7f\u7528 Debian, \u5219\u914d\u7f6e:\ndebian_repo: \"{{ minio_address }}\"\n\n### \u5982\u679c\u4f7f\u7528 Ubuntu, \u5219\u914d\u7f6e:\nubuntu_repo: \"{{ minio_address }}\"\n\n### \u5982\u679c containerd \u91c7\u7528\u975e\u5b89\u5168 HTTP \u514d\u8ba4\u8bc1\u65b9\u5f0f, \u5219\u9700\u8981\u914d\u7f6e:\ncontainerd_registries_mirrors:\n  - prefix: \"{{ registry_address }}\"\n    mirrors:\n      - host: \"http://{{ registry_address }}\"\n        capabilities: [\"pull\", \"resolve\"]\n        skip_verify: true\n\n### \u5982\u679c docker \u91c7\u7528\u975e\u5b89\u5168 HTTP \u514d\u8ba4\u8bc1\u65b9\u5f0f, \u5219\u9700\u8981\u914d\u7f6e:\ndocker_insecure_registries:\n  - {{ registry_address }}\n

    \u989d\u5916\u8bf4\u660e\uff1a

    \u9488\u5bf9\u4e00\u4e9b\u7279\u6b8a\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5728\u79bb\u7ebf\u90e8\u7f72\u65f6\uff0c\u8fd8\u9700\u8981\u6dfb\u52a0\u4e00\u4e9b\u989d\u5916\u53c2\u6570\uff1a

    \u64cd\u4f5c\u7cfb\u7edf \u989d\u5916\u53c2\u6570 RHEL \u7cfb\u5217 rhel_enable_repos: false Oracle Linux \u7cfb\u5217 use_oracle_public_repo: false

    \u6211\u4eec\u4ee5 examples/install/3.airgap \u4f5c\u4e3a\u6a21\u677f\u3002

    \u5c06\u5982\u4e0a\u79bb\u7ebf\u914d\u7f6e\u6309\u7167\u5177\u4f53\u60c5\u51b5\u8fdb\u884c\u8c03\u6574\uff0c\u7279\u522b\u9700\u8981\u66ff\u6362<registry_address> \u548c <minio_address>\u3002

    \u6700\u7ec8\u5c06\u914d\u7f6e\u6dfb\u52a0\u66f4\u65b0\u5230 examples/install/3.airgap/VarsConfCM.yml \u6587\u4ef6\u4e2d\u3002

    \u540c\u65f6\u6211\u4eec\u8fd8\u9700\u8981\u4fee\u6539 examples/install/3.airgap/HostsConfCM.yml \u4e2d\u7684\u96c6\u7fa4\u8282\u70b9 IP \u53ca\u7528\u6237\u540d\u5bc6\u7801\u3002

    \u6700\u7ec8\uff0c\u901a\u8fc7 kubectl apply -f examples/install/3.airgap \u542f\u52a8 ClusterOperation \u4efb\u52a1\u6765\u5b89\u88c5 k8s \u96c6\u7fa4\u3002

    "},{"location":"usage/airgap/#_9","title":"\u589e\u91cf\u79bb\u7ebf\u5305\u7684\u751f\u6210\u548c\u4f7f\u7528","text":"

    \u8be6\u7ec6\u6587\u6863\u89c1 Air gap patch usage\u3002

    "},{"location":"usage/airgap_patch_usage/","title":"\u589e\u91cf\u79bb\u7ebf\u5305\u7684\u751f\u6210\u548c\u4f7f\u7528","text":"

    \u4e3a\u4e86\u6ee1\u8db3\u7528\u6237\u5bf9\u4e8e\u67d0\u4e9b\u8f6f\u4ef6\u7279\u5b9a\u7248\u672c\u7684\u9700\u8981\uff0cKubean \u63d0\u4f9b\u811a\u672c artifacts/airgap_patch.py \u6839\u636e\u914d\u7f6e\u6587\u4ef6 manifest.yml \u6765\u751f\u6210\u5bf9\u5e94\u7248\u672c\u7684\u79bb\u7ebf\u5305\u3002

    "},{"location":"usage/airgap_patch_usage/#_2","title":"\u751f\u6210\u589e\u91cf\u79bb\u7ebf\u5305","text":"
    1. \u5728\u5f53\u524d\u6587\u4ef6\u5939\u65b0\u5efa manifest.yml \u6587\u4ef6\uff0c\u5185\u5bb9\u4e3e\u4f8b\u5982\u4e0b\uff1a

      image_arch:\n  - \"amd64\"\n  - \"arm64\"\nkube_version:\n  - \"v1.24.6\"\n  - \"v1.24.4\"\ncalico_version:\n  - \"v3.23.3\"\ncni_version:\n  - \"v1.1.1\"\ncontainerd_version:\n  - \"1.6.8\"\ncilium_version:\n  - \"v1.12.1\"\netcd_version:\n  - \"v3.5.3\"\n
    2. \u5728\u5f53\u524d\u6587\u4ef6\u5939\u65b0\u5efa data \u6587\u4ef6\u5939

    3. \u4f7f\u7528\u955c\u50cf\uff0c\u7b49\u5f85\u8fd0\u884c\u9000\u51fa\u540e\uff0c\u5728 data \u6587\u4ef6\u5939\u4e2d\u751f\u6210\u589e\u91cf\u79bb\u7ebf\u5305

      docker run \\\n    -v $(pwd)/data:/data \\\n    -v $(pwd)/manifest.yml:/manifest.yml \\\n    -e ZONE=CN \\\n    ghcr.io/kubean-io/airgap-patch:v0.11.1\n
      \u73af\u5883\u53d8\u91cf \u53ef\u9009\u503c\u63cf\u8ff0 \uff08 :\u8868\u793a\u9ed8\u8ba4\u503c\uff09 ZONE DEFAULT: \u91c7\u7528\u9ed8\u8ba4\u539f\u59cb\u5730\u5740\u4e0b\u8f7d\u79bb\u7ebf\u8d44\u6e90 CN: \u91c7\u7528\u56fd\u5185 DaoCloud \u52a0\u901f\u5668\u5730\u5740\u4e0b\u8f7d\u79bb\u7ebf\u8d44\u6e90 MODE INCR: \u4ec5\u6784\u5efa\u914d\u7f6e\u4e2d\u6307\u5b9a\u7ec4\u4ef6\u7684\u79bb\u7ebf\u8d44\u6e90\uff08\u5373\uff1a\u589e\u91cf\u5305\uff09 FULL: \u5c06\u6784\u5efa\u914d\u7f6e\u4e2d\u6307\u5b9a\u7684\u7ec4\u4ef6\u4ee5\u53ca\u96c6\u7fa4\u90e8\u7f72\u5fc5\u8981\u5176\u4ed6\u7ec4\u4ef6\u7684\u79bb\u7ebf\u8d44\u6e90\uff08\u5373\uff1a\u5168\u91cf\u5305\uff09
    "},{"location":"usage/airgap_patch_usage/#_3","title":"\u4f7f\u7528\u589e\u91cf\u79bb\u7ebf\u5305","text":"

    \u589e\u91cf\u5305\u7684\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b:

    data\n\u2514\u2500\u2500 airgap_patch\n    \u251c\u2500\u2500 amd64\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 files\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 import_files.sh\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 offline-files.tar.gz\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 images\n    \u2502\u00a0\u00a0     \u251c\u2500\u2500 import_images.sh\n    \u2502\u00a0\u00a0     \u2514\u2500\u2500 offline-images.tar.gz\n    \u251c\u2500\u2500 arm64\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 files\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 import_files.sh\n    \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 offline-files.tar.gz\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 images\n    \u2502\u00a0\u00a0     \u251c\u2500\u2500 import_images.sh\n    \u2502\u00a0\u00a0     \u2514\u2500\u2500 offline-images.tar.gz\n    \u2514\u2500\u2500 localartifactset.cr.yaml\n
    1. \u5411 MinIO \u4e2d\u5199\u5165\u6587\u4ef6\u6570\u636e

      cd data/airgap_patch/amd64/files\n\nMINIO_USER=${username} MINIO_PASS=${password} ./import_files.sh ${minio_address}\n

      minio_address \u662f minio API Server \u5730\u5740\uff0c\u7aef\u53e3\u4e00\u822c\u4e3a 9000\uff0c\u6bd4\u5982 http://1.2.3.4:9000\u3002

    2. \u5411 Docker Registry\uff08\u63a8\u8350\u4f7f\u7528 2.6.2 \u7248\u672c\uff09\u6216\u8005 Harbor \u5199\u5165\u955c\u50cf\u6570\u636e

      cd data/airgap_patch/amd64/images\n\n# 1. \u514d\u5bc6\u6a21\u5f0f\nREGISTRY_SCHEME=http REGISTRY_ADDR=${registry_address} ./import_images.sh\n\n# 2. \u7528\u6237\u540d\u53e3\u4ee4\u6a21\u5f0f\nREGISTRY_SCHEME=https REGISTRY_ADDR=${registry_address} REGISTRY_USER=${username} REGISTRY_PASS=${password} ./import_images.sh\n
      • REGISTRY_ADDR \u662f\u955c\u50cf\u4ed3\u5e93\u7684\u5730\u5740\uff0c\u6bd4\u59821.2.3.4:5000
      • \u5f53\u955c\u50cf\u4ed3\u5e93\u5b58\u5728\u7528\u6237\u540d\u5bc6\u7801\u9a8c\u8bc1\u65f6\uff0c\u9700\u8981\u8bbe\u7f6e REGISTRY_USER \u548c REGISTRY_PASS
    3. \u5c06 localartifactset.cr.yaml \u5199\u5165\u5230 K8s \u96c6\u7fa4

      cd data/airgap_patch\nkubectl apply -f localartifactset.cr.yaml\n

      \u8fd9\u4e00\u6b65\u662f\u4e3a\u4e86\u5c06\u65b0\u7684\u53ef\u79bb\u7ebf\u4f7f\u7528\u7684\u8f6f\u4ef6\u7248\u672c\u4fe1\u606f\u544a\u77e5 kubean-operator\u3002

    "},{"location":"usage/all_in_one_install/","title":"\u591a\u5408\u4e00\u6a21\u5f0f\u6700\u5c0f\u5316\u90e8\u7f72\u96c6\u7fa4","text":""},{"location":"usage/all_in_one_install/#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    1. \u60a8\u5df2\u62e5\u6709\u4e00\u4e2a\u6807\u51c6 kubernetes \u96c6\u7fa4\u6216\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3002
    2. \u96c6\u7fa4\u63a7\u5236\u8282\u70b9\u6216\u4e91\u7ec8\u7aef\u5df2\u5c06\u5b89\u88c5\u4e86 kubectl \u5de5\u5177\u3002
    3. kubean helm chart \u5df2\u5728\u60a8\u7684\u96c6\u7fa4\u4e0a\u90e8\u7f72\u3002
    4. kubean \u9879\u76ee\u5df2\u7ecf\u514b\u9686\u81f3\u60a8\u672c\u5730\uff0c\u5982\u679c\u60a8\u8fd8\u672a\u514b\u9686 kubean\uff0c\u53ef\u4ee5\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u514b\u9686\uff1a
    git clone https://github.com/kubean-io/kubean.git\n
    "},{"location":"usage/all_in_one_install/#_3","title":"\u5f00\u59cb\u90e8\u7f72","text":"

    \u672c\u6559\u7a0b\u5c06\u4f7f\u7528\u60a8\u514b\u9686\u81f3\u672c\u5730\u7684 kubean/example \u6587\u4ef6\u4f5c\u4e3a\u8303\u4f8b\u6a21\u677f\uff0c\u8fdb\u884c\u96c6\u7fa4\u90e8\u7f72\u6f14\u793a\u3002

    \u501f\u52a9\u6848\u4f8b\u6a21\u677f\uff0c\u4ec5\u9700\u4e24\u6b65\u6211\u4eec\u5c31\u80fd\u4f7f\u7528 kubean \u5b8c\u6210\u4e00\u4e2a\u5355\u8282\u70b9\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/all_in_one_install/#1-allinoneyml","title":"1. \u914d\u7f6e AllInOne.yml \u53c2\u6570","text":"

    \u8fdb\u5165 kubean/examples/install/1.minimal \u6587\u4ef6\u8def\u5f84\u4e0b\uff0c\u7f16\u8f91\u5355\u8282\u70b9\u6a21\u5f0f\u90e8\u7f72\u6a21\u677f AllInOne.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\u3002

    • <IP1>\uff1a\u8282\u70b9 IP\u3002
    • <USERNAME>\uff1a\u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\uff0c\u5efa\u8bae\u4f7f\u7528 root \u6216\u5177\u6709 root \u6743\u9650\u7684\u7528\u6237\u767b\u9646\u3002
    • <PASSWORD>\uff1a\u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\u3002
    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    \u4f8b\u5982\uff0c\u4e0b\u9762\u5c55\u793a\u4e86\u4e00\u4e2a AllInOne.yml \u793a\u4f8b\uff1a

    AllInOne.yml \u793a\u4f8b
    ---\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: mini-hosts-conf\nnamespace: kubean-system\ndata:\nhosts.yml: |\n  all:\n    hosts:\n      node1:\n        ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n        access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n        ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n        ansible_connection: ssh\n        ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n        ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n    children:\n      kube_control_plane:\n        hosts:\n          node1:\n      kube_node:\n        hosts:\n          node1:\n      etcd:\n        hosts:\n          node1:\n      k8s_cluster:\n        children:\n          kube_control_plane:\n          kube_node:\n      calico_rr:\n        hosts: {}\n\n---\napiVersion: v1\nkind: ConfigMap\nmetadata:\nname: mini-vars-conf\nnamespace: kubean-system\ndata:\ngroup_vars.yml: |\n  container_manager: containerd\n  kube_network_plugin: calico\n  etcd_deployment_type: kubeadm\n\n---\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\nname: cluster-mini\nlabels:\n  clusterName: cluster-mini\nspec:\nhostsConfRef:\n  namespace: kubean-system\n  name: mini-hosts-conf\nvarsConfRef:\n  namespace: kubean-system\n  name:  mini-vars-conf\n\n---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\nname: cluster-mini-install-ops\nspec:\ncluster: cluster-mini\nimage: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2 # kubean \u955c\u50cf\u7248\u672c\nactionType: playbook\naction: cluster.yml\npreHook:\n  - actionType: playbook\n    action: disable-firewalld.yml\npostHook:\n  - actionType: playbook\n    action: cluster-info.yml\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u7f16\u8f91 AllInOne.yml \u914d\u7f6e\u6a21\u677f\uff1a

    vi kubean/examples/install/1.minimal/AllInOne.yml\n
    "},{"location":"usage/all_in_one_install/#2-allinoneyml","title":"2. \u5e94\u7528 AllInOne.yml \u914d\u7f6e","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 AllInOne.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    kubectl apply -f examples/install/1.minimal/AllInOne.yml\n

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u5b8c\u6210\u4e86\u4e00\u4e2a\u7b80\u5355\u7684\u5355\u8282\u70b9\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/helm_install_kubean/","title":"\u5b89\u88c5 kubean helm \u5e94\u7528","text":""},{"location":"usage/helm_install_kubean/#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    1. \u60a8\u5df2\u62e5\u6709\u4e00\u4e2a\u6807\u51c6 kubernetes \u96c6\u7fa4\u6216\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3002
    2. \u5728\u60a8\u7684\u96c6\u7fa4\u63a7\u5236\u8282\u70b9\u6216\u4e91\u7ec8\u7aef\u4e0a\u5df2\u5b8c\u6210 Helm \u5de5\u5177\u7684\u5b89\u88c5\u3002\u5982\u4f55\u5b89\u88c5 Helm \u5de5\u5177\u3002
    "},{"location":"usage/helm_install_kubean/#_2","title":"\u5f00\u59cb\u90e8\u7f72","text":""},{"location":"usage/helm_install_kubean/#1-kubean-helm","title":"1. \u6dfb\u52a0 kubean Helm \u4ed3\u5e93","text":"

    \u5c06 kubean Helm \u4ed3\u5e93\u6dfb\u52a0\u5230\u672c\u5730 Helm \u4ed3\u5e93\uff0c\u5728\u73b0\u6709\u96c6\u7fa4\u63a7\u5236\u8282\u70b9\u6216\u4e91\u7ec8\u7aef\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u3002

    helm repo add kubean-io https://kubean-io.github.io/kubean-helm-chart/\n

    \u5b8c\u6210\u4e0a\u4e00\u6b65\u540e\u68c0\u67e5 kubean \u4ed3\u5e93\u662f\u5426\u5df2\u7ecf\u6b63\u786e\u6dfb\u52a0\u81f3\u672c\u5730 Helm \u4ed3\u5e93\u3002

    $ helm repo list\n\nNAME            URL\nkubean-io       https://kubean-io.github.io/kubean-helm-chart/\n
    "},{"location":"usage/helm_install_kubean/#2-kubean","title":"2. \u5b89\u88c5 kubean","text":"

    \u68c0\u67e5 kubean Helm \u4ed3\u5e93\u4e2d\u53ef\u7528\u7684 Chart \u53ca\u5176\u7248\u672c\uff0c\u6267\u884c\u4e0b\u9762\u547d\u4ee4\u5c06\u5217\u51fa kubean Helm \u4ed3\u5e93\u5185\u6240\u6709\u7684 Chart \u5217\u8868\u3002

    $ helm search repo kubean\n\nNAME                CHART VERSION   APP VERSION DESCRIPTION\nkubean-io/kubean    v0.5.2          v0.5.2      A Helm chart for kubean\n

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5b89\u88c5 kubean\u3002

    helm install kubean kubean-io/kubean --create-namespace -n kubean-system\n

    Note

    \u60a8\u8fd8\u53ef\u4ee5\u4f7f\u7528 \"--version\" \u53c2\u6570\u6765\u6307\u5b9a kubean \u7684\u7248\u672c\u3002

    "},{"location":"usage/helm_install_kubean/#3-kubean-release","title":"3. \u67e5\u770b\u5df2\u5b89\u88c5\u7684 kubean release","text":"

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u5b8c\u6210\u4e86 kubean helm chart \u7684\u90e8\u7f72\uff0c\u60a8\u53ef\u4ee5\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u67e5\u770b kubean-system \u547d\u540d\u7a7a\u95f4\u4e0b\u7684 helm release\u3002

    $ helm ls -n kubean-system\n\nNAME    NAMESPACE       REVISION    UPDATED                                     STATUS      CHART               APP VERSION\nkubean  kubean-system   1           2023-05-15 00:24:32.719770617 -0400 -0400   deployed    kubean-v0.4.9-rc1   v0.4.9-rc1\n
    "},{"location":"usage/install/","title":"\u96c6\u7fa4\u90e8\u7f72","text":"

    \u524d\u7f6e\u6761\u4ef6\uff1a\u901a\u8fc7 helm \u5b89\u88c5 kubean charts\u3002

    "},{"location":"usage/install/#_2","title":"\u5355\u8282\u70b9\u96c6\u7fa4\u90e8\u7f72","text":"

    \u53c2\u8003 minimal \u6837\u4f8b\u6a21\u677f

    \u53c2\u7167\u6a21\u677f\uff0c\u6211\u4eec\u5c06\u521b\u5efa\u4e00\u4e2a\u591a\u5408\u4e00\u7684\u5355\u8282\u70b9\u96c6\u7fa4\uff1a

    "},{"location":"usage/install/#1-allinoneyml","title":"1. \u66f4\u65b0 AllInOne.yml \u4e2d\u7684\u5360\u4f4d\u7b26\u4e3a\u771f\u5b9e\u503c","text":"
    • <IP1>
    • <USERNAME>
    • <PASSWORD>
    • <TAG>
    "},{"location":"usage/install/#2-allinoneyml","title":"2. \u5e94\u7528 AllInOne.yml","text":"
    $ kubectl apply -f examples/install/1.minimal/\n
    "},{"location":"usage/install/#_3","title":"\u52a0\u901f\u5668\u6a21\u5f0f\u90e8\u7f72","text":"

    \u53c2\u8003 mirror \u6837\u4f8b\u6a21\u677f

    "},{"location":"usage/install/#1-2mirror-yaml","title":"1. \u66f4\u65b0 2.mirror \u76ee\u5f55\u4e2d yaml \u6e05\u5355\u7684\u5360\u4f4d\u7b26\u4e3a\u771f\u5b9e\u503c","text":"
    • <IP1> / <IP2> ...
    • <USERNAME>
    • <PASSWORD>
    • <TAG>
    "},{"location":"usage/install/#2-2mirror-yaml","title":"2. \u5e94\u7528 2.mirror \u4e2d\u7684 yaml \u6e05\u5355","text":"
    $ kubectl apply -f examples/install/2.mirror/\n
    "},{"location":"usage/install/#3-varsconfcm","title":"3. \u52a0\u901f\u5668\u955c\u50cf\u8bbe\u7f6e\u8bf7\u89c1 VarsConfCM","text":"

    \u672c\u4f8b\u4e2d\u4f7f\u7528\u5230\u7684\u52a0\u901f\u5668: * \u4e8c\u8fdb\u5236\u52a0\u901f\uff1apublic binary files mirror * \u955c\u50cf\u52a0\u901f\uff1apublic image mirror

    "},{"location":"usage/install/#_4","title":"\u7eaf\u79bb\u7ebf\u6a21\u5f0f\u90e8\u7f72","text":"

    \u53c2\u8003 airgap \u6837\u4f8b\u6a21\u677f

    \u8be6\u7ec6\u8bf7\u6d4f\u89c8\u79bb\u7ebf\u573a\u666f\u7684\u4f7f\u7528

    "},{"location":"usage/install/#ssh","title":"SSH \u79d8\u94a5\u6a21\u5f0f\u90e8\u7f72","text":"

    \u8be6\u7ec6\u8bf7\u6d4f\u89c8\u4f7f\u7528 SSH \u79d8\u94a5\u65b9\u5f0f\u90e8\u7f72 K8S \u96c6\u7fa4

    "},{"location":"usage/install_without_root/","title":"\u4ee5\u975e root \u7528\u6237\u90e8\u7f72\u96c6\u7fa4","text":""},{"location":"usage/install_without_root/#_1","title":"\u5185\u5bb9","text":"
    • \u2713 1. sudo \u6743\u9650\u6821\u9a8c
    • \u2713 2. \u521b\u5efa\u4e3b\u673a\u6e05\u5355\u914d\u7f6e
    • \u2713 3. \u5236\u5907\u90e8\u7f72\u96c6\u7fa4\u7684\u914d\u7f6e\u53c2\u6570
    • \u2713 4. \u51c6\u5907 Kubean \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90
    • \u2713 5. \u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4
    "},{"location":"usage/install_without_root/#sudo","title":"sudo \u6743\u9650\u6821\u9a8c","text":"

    \u5b89\u88c5\u8fc7\u7a0b\u4e2d\u6d89\u53ca\u7cfb\u7edf\u7279\u6743\u64cd\u4f5c\uff0c\u6545\u7528\u6237\u9700\u8981\u5177\u5907 sudo \u6743\u9650\uff0c\u53ef\u8fdb\u884c\u5982\u4e0b\u68c0\u67e5\uff1a

    1. \u4f7f\u7528\u975e root \u7528\u6237\u767b\u5f55\u5230\u76ee\u6807\u8282\u70b9

    2. \u68c0\u67e5\u662f\u5426\u5b58\u5728 sudo \u547d\u4ee4\uff0c\u4e0d\u5b58\u5728\u5219\u901a\u8fc7\u7cfb\u7edf\u5305\u7ba1\u7406\u5668\u8fdb\u884c\u5b89\u88c5

      which sudo

    3. \u5728\u7ec8\u7aef\u6267\u884c echo | sudo -S -v

      \u82e5\u7ed3\u679c\u8f93\u51fa xxx is not in the sudoers file. This incident will be reported \u6216 User xxx do not have sudo privilege \u7b49\u7c7b\u4f3c\u4fe1\u606f\uff0c\u5373\u8bf4\u660e\u5f53\u524d\u7528\u6237\u4e0d\u5177\u5907 sudo \u6743\u9650\uff0c\u53cd\u4e4b\u8bf4\u660e\u5f53\u524d\u7528\u6237\u5177\u6709 sudo \u6743\u9650\u3002

    "},{"location":"usage/install_without_root/#_2","title":"\u914d\u7f6e\u4e3b\u673a\u6e05\u5355","text":"

    \u793a\u4f8b\uff1a\u4e3b\u673a\u6e05\u5355 HostsConfCM.yml \u5185\u5bb9\u5927\u81f4\u5982\u4e0b\uff0c\u5c06\u4e0b\u65b9 \u548c \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\uff1a

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        master:\n          ip: 192.168.10.11\n          access_ip: 192.168.10.11\n          ansible_host: 192.168.10.11\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n          ansible_become_password: <PASSWORD>\n        worker:\n          ip: 192.168.10.12\n          access_ip: 192.168.10.12\n          ansible_host: 192.168.10.12\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n          ansible_become_password: <PASSWORD>\n      children:\n        kube_control_plane:\n          hosts:\n            master:\n        kube_node:\n          hosts:\n            master:\n            worker:\n        etcd:\n          hosts:\n            master:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    \u6ce8\uff1a\u5982\u679c\u5728 /etc/sudoers \u6587\u4ef6\u5185\u8be5\u7528\u6237\u914d\u7f6e\u4e3a NOPASSWD\uff08\u5373\u65e0\u5bc6\u7801\u63d0\u6743\uff09\uff0c\u53ef\u5c06 ansible_become_password \u6240\u5728\u884c\u6ce8\u91ca

    "},{"location":"usage/install_without_root/#_3","title":"\u5236\u5907\u90e8\u7f72\u96c6\u7fa4\u7684\u914d\u7f6e\u53c2\u6570","text":"

    \u96c6\u7fa4\u914d\u7f6e\u53c2\u6570 VarsConfCM.yml\u7684\u5185\u5bb9\uff0c\u53ef\u4ee5\u53c2\u8003 demo vars conf\u3002

    # VarsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    container_manager: containerd\n    kube_network_plugin: calico\n    kube_network_plugin_multus: false\n    kube_proxy_mode: iptables\n    enable_nodelocaldns: false\n    etcd_deployment_type: kubeadm\n    ntp_enabled: true\n    ...\n
    "},{"location":"usage/install_without_root/#kubean","title":"\u51c6\u5907 Kubean \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90","text":"
    • Cluster \u81ea\u5b9a\u4e49\u8d44\u6e90\u5185\u5bb9\u793a\u4f8b

      # Cluster.yml\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: sample\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: sample-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: sample-vars-conf\n  sshAuthRef: # \u5173\u952e\u5c5e\u6027\uff0c\u6307\u5b9a\u96c6\u7fa4\u90e8\u7f72\u671f\u95f4\u7684 ssh \u79c1\u94a5 secret\n    namespace: kubean-system\n    name: sample-ssh-auth\n
    • ClusterOperation \u81ea\u5b9a\u4e49\u8d44\u6e90\u5185\u5bb9\u793a\u4f8b

      # ClusterOperation.yml\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: sample-create-cluster\nspec:\n  cluster: sample\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n
    "},{"location":"usage/install_without_root/#_4","title":"\u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4","text":"

    \u5047\u8bbe\u6240\u6709 YAML \u6e05\u5355\u90fd\u5b58\u653e\u5728 create_cluster \u76ee\u5f55\uff1a

    $ tree create_cluster/\ncreate_cluster\n\u251c\u2500\u2500 HostsConfCM.yml       # \u4e3b\u673a\u6e05\u5355\n\u251c\u2500\u2500 SSHAuthSec.yml        # SSH\u79c1\u94a5\n\u251c\u2500\u2500 VarsConfCM.yml        # \u96c6\u7fa4\u53c2\u6570\n\u251c\u2500\u2500 Cluster.yml           # Cluster CR\n\u2514\u2500\u2500 ClusterOperation.yml  # ClusterOperation CR\n

    \u901a\u8fc7 kubectl apply \u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4:

    kubectl apply -f create_cluster/\n
    "},{"location":"usage/mirror_install/","title":"\u4f7f\u7528\u52a0\u901f\u6a21\u5f0f\u90e8\u7f72\u96c6\u7fa4","text":""},{"location":"usage/mirror_install/#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    1. \u60a8\u5df2\u62e5\u6709\u4e00\u4e2a\u6807\u51c6 kubernetes \u96c6\u7fa4\u6216\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3002
    2. \u96c6\u7fa4\u63a7\u5236\u8282\u70b9\u6216\u4e91\u7ec8\u7aef\u5df2\u5c06\u5b89\u88c5\u4e86 kubectl \u5de5\u5177\u3002
    3. kubean helm chart \u5df2\u5728\u60a8\u7684\u96c6\u7fa4\u4e0a\u90e8\u7f72\u3002
    4. kubean \u9879\u76ee\u5df2\u7ecf\u514b\u9686\u81f3\u60a8\u672c\u5730\uff0c\u5982\u679c\u60a8\u8fd8\u672a\u514b\u9686 kubean\uff0c\u53ef\u4ee5\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u514b\u9686\uff1a
    $ git clone https://github.com/kubean-io/kubean.git\n
    "},{"location":"usage/mirror_install/#_3","title":"\u5f00\u59cb\u90e8\u7f72","text":"

    \u672c\u6559\u7a0b\u5c06\u4f7f\u7528\u60a8\u514b\u9686\u81f3\u672c\u5730\u7684 kubean/example/2.mirror \u6587\u4ef6\u4f5c\u4e3a\u8303\u4f8b\u6a21\u677f\uff0c\u8fdb\u884c\u96c6\u7fa4\u52a0\u901f\u90e8\u7f72\u6f14\u793a\u3002

    \u5728\u52a0\u901f\u90e8\u7f72\u6a21\u677f 2.mirror \u5185\u5df2\u7ecf\u5185\u7f6e\u4e86\u52a0\u901f\u53c2\u6570\u914d\u7f6e\uff0c\u60a8\u53ea\u9700\u8981\u5c06 /2.mirror\u6587\u4ef6\u8def\u5f84\u4e0b\u7684 HostsConfCM.yml ** \u548c ClusterOperation.yml** \u4e24\u4e2a\u914d\u7f6e\u6a21\u677f\u6587\u4ef6\u5185\u7684\u4e3b\u673a\u7b49\u4fe1\u606f\u6539\u6210\u60a8\u7684\u771f\u5b9e\u53c2\u6570\u3002

    2.mirror` \u6587\u4ef6\u5185\u4e3b\u8981\u7684\u914d\u7f6e\u6587\u4ef6\u53ca\u7528\u9014\u5982\u4e0b\uff1a
        .2.mirror\n    \u251c\u2500\u2500 Cluster.yml                        # \u5f85\u5efa\u96c6\u7fa4\u4fe1\u606f\u7684\u62bd\u8c61\n    \u251c\u2500\u2500 ClusterOperation.yml        # kubean \u7248\u672c\u53ca\u4efb\u52a1\u914d\u7f6e\n    \u251c\u2500\u2500 HostsConfCM.yml              # \u5f85\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u4fe1\u606f\u914d\u7f6e\n    \u2514\u2500\u2500 VarsConfCM.yml                # \u52a0\u901f\u7b49\u5b83\u7279\u6027\u914d\u7f6e\n
    "},{"location":"usage/mirror_install/#1-hostsconfcmyml","title":"1. \u914d\u7f6e\u4e3b\u673a\u914d\u7f6e\u53c2\u6570 HostsConfCM.yml","text":"

    \u8fdb\u5165 kubean/examples/install/2.mirror/ \u8def\u5f84\uff0c\u7f16\u8f91\u5f85\u5efa\u96c6\u7fa4\u8282\u70b9\u914d\u7f6e\u4fe1\u606f\u6a21\u677f HostsConfCM.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <IP1>\uff1a\u8282\u70b9 IP\u3002
    • <USERNAME>\uff1a\u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\uff0c\u5efa\u8bae\u4f7f\u7528 root \u6216\u5177\u6709 root \u6743\u9650\u7684\u7528\u6237\u767b\u9646\u3002
    • <PASSWORD>\uff1a\u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\u3002

    \u4f8b\u5982\uff0c\u4e0b\u9762\u5c55\u793a\u4e86\u4e00\u4e2a HostsConfCM.yml \u793a\u4f8b\uff1a

    HostsConfCM.yml \u793a\u4f8b
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: online-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n        node2:\n          ip: 10.6.175.20 # \u8282\u70b9 2 \u7684 IP\n          access_ip: 10.6.175.20 # \u8282\u70b9 2 IP\n          ansible_host: 10.6.175.20 # \u8282\u70b9\u7684 2 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9 2 \u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9 2 \u7684\u5bc6\u7801\n      children:\n        kube_control_plane: # \u914d\u7f6e\u96c6\u7fa4\u63a7\u5236\u8282\u70b9\n          hosts:\n            node1:\n        kube_node: # \u914d\u7f6e\u96c6\u7fa4\u5de5\u4f5c\u8282\u70b9\n          hosts:\n            node1:\n            node2:\n        etcd: # \u914d\u7f6e\u96c6\u7fa4 ETCD \u8282\u70b9\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u7f16\u8f91 HostsConfCM.yml \u914d\u7f6e\u6a21\u677f\uff1a

    $ vi kubean/examples/install/2.mirror/HostsConfCM.yml\n
    "},{"location":"usage/mirror_install/#2-kubean-clusteroperationyml","title":"2. \u914d\u7f6e kubean \u4efb\u52a1\u914d\u7f6e\u53c2\u6570 ClusterOperation.yml","text":"

    \u8fdb\u5165 kubean/examples/install/2.mirror/ \u8def\u5f84\uff0c\u7f16\u8f91\u5f85\u5efa\u96c6\u7fa4\u8282\u70b9\u914d\u7f6e\u4fe1\u606f\u6a21\u677f ClusterOperation.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    \u4f8b\u5982\uff0c\u4e0b\u9762\u5c55\u793a\u4e86\u4e00\u4e2a ClusterOperation.yml \u793a\u4f8b\uff1a

    ClusterOperation.yml \u793a\u4f8b
    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster1-online-install-ops\nspec:\n  cluster: cluster1-online\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2 # kubean \u955c\u50cf\u7248\u672c\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n

    \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u7f16\u8f91 ClusterOperation.yml \u914d\u7f6e\u6a21\u677f\uff1a

    $ vi kubean/examples/install/2.mirror/ClusterOperation.yml\n
    "},{"location":"usage/mirror_install/#3-2mirror","title":"3.\u5e94\u7528 2.mirror \u6587\u4ef6\u4e0b\u6240\u6709\u7684\u914d\u7f6e","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 HostsConfCM.yml \u548c ClusterOperation.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/install/2.mirror\n

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u4f7f\u7528\u52a0\u901f\u6a21\u5f0f\u5b8c\u6210\u4e86\u4e00\u4e2a\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/scale_worknode/","title":"\u96c6\u7fa4\u5de5\u4f5c\u8282\u70b9\u6269\u7f29\u5bb9","text":"

    \u5728\u8f6f\u4ef6\u5f00\u53d1\u8fd0\u7ef4\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u7684\u53d1\u5c55\u5f80\u5f80\u9700\u8981\u6dfb\u52a0\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u4ee5\u6ee1\u8db3\u4e1a\u52a1\u589e\u957f\uff0c\u5bf9\u4e8e\u4f7f\u7528 kubean \u90e8\u7f72\u7684\u96c6\u7fa4\uff0c\u5728 kubean \u4e2d\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u58f0\u660e\u5f0f\u7684\u65b9\u5f0f\uff0c\u5feb\u901f\u6269\u7f29\u5bb9\u96c6\u7fa4\u5de5\u4f5c\u8282\u70b9\u3002

    \u5728\u60a8\u514b\u9686\u81f3\u672c\u5730\u7684 kubean/example/scale \u6587\u4ef6\u5185\uff0c\u540c\u6837\u63d0\u4f9b\u4e86\u5de5\u4f5c\u8282\u70b9\u6269\u7f29\u5bb9\u7684\u6837\u4f8b\u6a21\u677f\uff1a

    sacle \u6587\u4ef6\u5185\u4e3b\u8981\u7684\u914d\u7f6e\u6587\u4ef6\u53ca\u7528\u9014\u5982\u4e0b\uff1a
        scale\n    \u251c\u2500\u2500 1.addWorkNode                             # \u589e\u52a0\u5de5\u4f5c\u8282\u70b9\u6a21\u677f\n    \u2502   \u251c\u2500\u2500 ClusterOperation.yml                       # kubean \u7248\u672c\u53ca\u4efb\u52a1\u914d\u7f6e\n    \u2502   \u2514\u2500\u2500 HostsConfCM.yml                            #\u5f53\u524d\u96c6\u7fa4\u7684\u8282\u70b9\u4fe1\u606f\u914d\u7f6e\n    \u2514\u2500\u2500 2.delWorkNode                             # \u5220\u9664\u5de5\u4f5c\u8282\u70b9\u6a21\u677f\n    \u2502   \u251c\u2500\u2500 ClusterOperation.yml                       # kubean \u7248\u672c\u53ca\u4efb\u52a1\u914d\u7f6e\n    \u2502   \u2514\u2500\u2500 HostsConfCM.yml                             #\u5f53\u524d\u96c6\u7fa4\u7684\u8282\u70b9\u4fe1\u606f\u914d\u7f6e\n

    \u89c2\u5bdf\u4f38\u7f29\u914d\u7f6e\u6a21\u677f scale \u6587\u4ef6\u53ef\u4ee5\u53d1\u73b0\uff0c\u5bf9\u96c6\u7fa4\u5de5\u4f5c\u8282\u70b9\u8fdb\u884c\u6269\u7f29\u5bb9\u53ea\u9700\u6267\u884c HostsConfCM.yml \u548c ClusterOperation.yml \u4e24\u4e2a\u914d\u7f6e\u6587\u4ef6\uff0c\u5e76\u5c06\u65b0\u589e\u8282\u70b9\u4fe1\u606f\u7b49\u53c2\u6570\u6539\u6210\u66ff\u6362\u6210\u60a8\u7684\u771f\u5b9e\u53c2\u6570\u3002

    \u4e0b\u9762\u4ee5\u4f7f\u7528 all-in-one \u6a21\u5f0f\u90e8\u7f72\u7684\u5355\u8282\u70b9\u96c6\u7fa4\u4e3a\u4f8b\uff0c\u6765\u6f14\u793a\u96c6\u7fa4\u8282\u70b9\u7684\u6269\u7f29\u5bb9\u64cd\u4f5c\u3002

    \u6ce8\u610f\uff1a\u6267\u884c\u96c6\u7fa4\u6269\u7f29\u5bb9\u524d\uff0c\u60a8\u5fc5\u987b\u5df2\u7ecf\u4f7f\u7528 kubean \u5b8c\u6210\u4e86\u4e00\u5957\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/scale_worknode/#_2","title":"\u6269\u5bb9\u5de5\u4f5c\u8282\u70b9","text":""},{"location":"usage/scale_worknode/#1-hostsconfcmyml","title":"1. \u5411 HostsConfCM.yml \u589e\u52a0\u65b0\u8282\u70b9\u4e3b\u673a\u53c2\u6570","text":"

    \u6211\u4eec\u8981\u5728\u539f\u6709\u7684 all-in-one \u6a21\u5f0f\u4e2d\uff0c\u5bf9\u540d\u4e3a mini-hosts-conf \u7684 ConfigMap \u8fdb\u884c\u65b0\u589e\u8282\u70b9\u914d\u7f6e\uff0c\u5728\u539f\u6765 node1 \u4e3b\u8282\u70b9\u7684\u57fa\u7840\u4e0a, \u65b0\u589e node2 \u5de5\u4f5c\u8282\u70b9\uff1b

    \u5177\u4f53\u5730\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165 kubean/examples/scale/1.addWorkNode/ \u8def\u5f84\uff0c\u7f16\u8f91\u5df2\u51c6\u5907\u597d\u7684\u8282\u70b9\u914d\u7f6e ConfigMap \u6a21\u677f HostsConfCM.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <IP2>\uff1a\u8282\u70b9 IP\u3002
    • <USERNAME>\uff1a\u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\uff0c\u5efa\u8bae\u4f7f\u7528 root \u6216\u5177\u6709 root \u6743\u9650\u7684\u7528\u6237\u767b\u9646\u3002
    • <PASSWORD>\uff1a\u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\u3002

    kubean/examples/scale/1.addWorkNode/ \u8def\u5f84\u4e0b HostsConfCM.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    HostsConfCM.yml \u6a21\u677f
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: <IP1>\n          access_ip: <IP1>\n          ansible_host: <IP1>\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n        node2:\n          ip: <IP2>\n          access_ip: <IP2>\n          ansible_host: <IP2>\n          ansible_connection: ssh\n          ansible_user: <USERNAME>\n          ansible_password: <PASSWORD>\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    \u91cd\u8981\u53c2\u6570\uff1a

    • all.hosts.node1: \u539f\u96c6\u7fa4\u4e2d\u5df2\u5b58\u5728\u7684\u4e3b\u8282\u70b9
    • all.hosts.node2: \u96c6\u7fa4\u6269\u5bb9\u5f85\u65b0\u589e\u7684\u5de5\u4f5c\u8282\u70b9
    • all.children.kube_node.hosts: \u96c6\u7fa4\u4e2d\u7684\u5de5\u4f5c\u8282\u70b9\u7ec4

    \u65b0\u589e\u5de5\u4f5c\u8282\u70b9\u4e3b\u673a\u53c2\u6570\u7684\u793a\u4f8b

    \u65b0\u589e\u8282\u70b9\u524d\u65b0\u589e\u8282\u70b9\u540e
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n        node2:\n          ip: 10.6.175.20 # \u65b0\u589e\u8282\u70b9 2 \u7684 IP\n          access_ip: 10.6.175.20 # \u65b0\u589e\u8282\u70b9 2 \u7684 IP\n          ansible_host: 10.6.175.20 # \u65b0\u589e\u8282\u70b9\u7684 2 \u7684 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9 2 \u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9 2 \u7684\u5bc6\u7801\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    "},{"location":"usage/scale_worknode/#2-clusteroperationyml","title":"2. \u901a\u8fc7 ClusterOperation.yml \u65b0\u589e\u6269\u5bb9\u4efb\u52a1","text":"

    \u8fdb\u5165 kubean/examples/scale/1.addWorkNode/ \u8def\u5f84\uff0c\u7f16\u8f91\u6a21\u677f ClusterOperation.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    kubean/examples/scale/1.addWorkNode/ \u8def\u5f84\u4e0b ClusterOperation.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-awn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: scale.yml\n  extraArgs: --limit=node2\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • spec.cluster: \u6307\u5b9a\u9700\u8981\u6269\u5bb9\u8282\u70b9\u7684\u96c6\u7fa4\u540d\u79f0\uff0c\u4e0a\u8ff0\u6307\u5b9a\u7684\u662f\u540d\u4e3a cluster-mini \u7684\u96c6\u7fa4\u4e3a\u6269\u5bb9\u76ee\u6807\u3002
    • spec.action: \u6307\u5b9a\u6269\u5bb9\u8282\u70b9\u7684 kubespray \u5267\u672c, \u8fd9\u91cc\u8bbe\u7f6e\u4e3a scale.yml.
    • spec.extraArgs: \u6307\u5b9a\u6269\u5bb9\u7684\u8282\u70b9\u9650\u5236\uff0c\u8fd9\u91cc\u901a\u8fc7 --limit= \u53c2\u6570\u9650\u5b9a\u6269\u5bb9 node2 \u8282\u70b9

    \u4f8b\u5982\uff0c\u4e0b\u9762\u5c55\u793a\u4e86\u4e00\u4e2a ClusterOperation.yml \u793a\u4f8b\uff1a

    ClusterOperation.yml \u793a\u4f8b
    ---\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-awn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2\n  actionType: playbook\n  action: scale.yml\n  extraArgs: --limit=node2\n
    "},{"location":"usage/scale_worknode/#3-scale1addworknode","title":"3.\u5e94\u7528 scale/1.addWorkNode \u6587\u4ef6\u4e0b\u6240\u6709\u7684\u914d\u7f6e","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 HostsConfCM.yml \u548c ClusterOperation.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/install/scale/1.addWorkNode/\n

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u4f7f\u5b8c\u6210\u4e86\u4e00\u4e2a\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u6269\u5bb9\u3002

    "},{"location":"usage/scale_worknode/#_3","title":"\u7f29\u5bb9\u5de5\u4f5c\u8282\u70b9","text":""},{"location":"usage/scale_worknode/#1-clusteroperationyml","title":"1. \u901a\u8fc7 ClusterOperation.yml \u65b0\u589e\u7f29\u5bb9\u4efb\u52a1","text":"

    \u8fdb\u5165 kubean/examples/scale/2.delWorkNode/ \u8def\u5f84\uff0c\u7f16\u8f91\u6a21\u677f ClusterOperation.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    kubean/examples/scale/2.delWorkNode/ \u8def\u5f84\u4e0b ClusterOperation.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-dwn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: remove-node.yml\n  extraArgs: -e node=node2\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • spec.cluster: \u6307\u5b9a\u9700\u8981\u7f29\u5bb9\u8282\u70b9\u7684\u96c6\u7fa4\u540d\u79f0, \u4e0a\u8ff0\u6307\u5b9a\u7684\u662f\u540d\u4e3a cluster-mini \u7684\u96c6\u7fa4\u4e3a\u7f29\u5bb9\u76ee\u6807\u3002
    • spec.action: \u6307\u5b9a\u7f29\u5bb9\u8282\u70b9\u7684 kubespray \u5267\u672c, \u8fd9\u91cc\u8bbe\u7f6e\u4e3a remove-node.yml\u3002
    • spec.extraArgs: \u6307\u5b9a\u7f29\u5bb9\u7684\u8282\u70b9\uff0c\u8fd9\u91cc\u901a\u8fc7 -e \u53c2\u6570\u6307\u5b9a\u7f29\u5bb9 node2 \u8282\u70b9

    \u4f8b\u5982\uff0c\u4e0b\u9762\u5c55\u793a\u4e86\u4e00\u4e2a ClusterOperation.yml \u793a\u4f8b\uff1a

    ClusterOperation.yml \u793a\u4f8b
    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-dwn-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2\n  actionType: playbook\n  action: remove-node.yml\n  extraArgs: -e node=node2\n
    "},{"location":"usage/scale_worknode/#2-scale2delworknode-clusteroperation","title":"2.\u5e94\u7528 scale/2.delWorkNode \u76ee\u5f55\u4e0b\u7684 ClusterOperation \u7f29\u5bb9\u4efb\u52a1\u6e05\u5355","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 ClusterOperation.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/install/scale/2.delWorkNode/ClusterOperation.yml\n

    \u9ed8\u8ba4\u8fdb\u5165 kubean-system \u547d\u540d\u7a7a\u95f4\uff0c\u67e5\u770b\u7f29\u5bb9\u4efb\u52a1\u6267\u884c\u72b6\u6001\uff1a

    $ kubectl -n kubean-system get pod | grep cluster-mini-dwn-ops\n
    \u4e86\u89e3\u7f29\u5bb9\u4efb\u52a1\u6267\u884c\u8fdb\u5ea6\uff0c\u53ef\u67e5\u770b\u8be5 pod \u65e5\u5fd7\uff1b

    "},{"location":"usage/scale_worknode/#3-hostsconfcmyml","title":"3. \u901a\u8fc7 HostsConfCM.yml \u5220\u9664\u5de5\u4f5c\u8282\u70b9\u4e3b\u673a\u53c2\u6570","text":"

    \u6211\u4eec\u5df2\u7ecf\u901a\u8fc7\u5982\u4e0a\u4e24\u6b65\u64cd\u4f5c\u6267\u884c\u4e86\u7f29\u5bb9\u4efb\u52a1\uff0c\u5f85\u7f29\u5bb9\u4efb\u52a1\u6267\u884c\u5b8c\u6210\u540e\uff0cnode2 \u5c06\u4ece\u73b0\u6709\u96c6\u7fa4\u4e2d\u6c38\u4e45\u79fb\u9664\uff0c\u5219\u6b64\u65f6\u6211\u4eec\u8fd8\u9700\u8981\u5b8c\u6210\u6700\u540e\u4e00\u6b65\uff0c\u5c06\u8282\u70b9\u914d\u7f6e\u76f8\u5173 Configmap \u4e2d\u7684 node2 \u4fe1\u606f\u79fb\u9664;

    \u8fdb\u5165 kubean/examples/scale/2.delWorkNode/ \u8def\u5f84\uff0c\u7f16\u8f91\u5df2\u51c6\u5907\u597d\u7684\u8282\u70b9\u914d\u7f6e\u6a21\u677f HostsConfCM.yml\uff0c\u5220\u9664\u9700\u8981\u79fb\u9664\u7684\u5de5\u4f5c\u8282\u70b9\u914d\u7f6e\u3002

    \u5220\u9664\u53c2\u6570\u5982\u4e0b\uff1a

    • all.hosts \u4e0b\u7684 node2 \u8282\u70b9\u63a5\u5165\u53c2\u6570\u3002
    • all.children.kube_node.hosts \u5185\u7684\u4e3b\u673a\u540d\u79f0 node2 \u3002

    \u79fb\u9664\u5de5\u4f5c\u8282\u70b9\u4e3b\u673a\u53c2\u6570\u7684\u793a\u4f8b

    \u79fb\u9664\u8282\u70b9\u524d\u79fb\u9664\u8282\u70b9\u540e
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n        node2:\n          ip: 10.6.175.20 # \u65b0\u589e\u8282\u70b9 2 \u7684 IP\n          access_ip: 10.6.175.20 # \u65b0\u589e\u8282\u70b9 2 IP\n          ansible_host: 10.6.175.20 # \u65b0\u589e\u8282\u70b9\u7684 2 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9 2 \u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9 2 \u7684\u5bc6\u7801\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n            node2:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        node1:\n          ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          access_ip: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_host: 10.6.175.10 # \u4f60\u7684\u8282\u70b9 IP\n          ansible_connection: ssh\n          ansible_user: root # \u767b\u9646\u8282\u70b9\u7684\u7528\u6237\u540d\n          ansible_password: password01 # \u767b\u9646\u8282\u70b9\u7684\u5bc6\u7801\n      children:\n        kube_control_plane:\n          hosts:\n            node1:\n        kube_node:\n          hosts:\n            node1:\n        etcd:\n          hosts:\n            node1:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 HostsConfCM.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/install/scale/2.delWorkNode/HostsConfCM.yml\n

    \u6b64\u65f6\uff0c\u6211\u4eec\u5df2\u5c06 node2 \u5de5\u4f5c\u8282\u70b9\u4ece\u96c6\u7fa4\u4e2d\u79fb\u9664\uff0c\u5e76\u4e14\u6e05\u7406\u6389\u4e86\u6709\u5173 node2 \u7684\u4e3b\u673a\u4fe1\u606f\uff0c\u6574\u4e2a\u7f29\u5bb9\u64cd\u4f5c\u5c31\u6b64\u7ed3\u675f\uff1b

    "},{"location":"usage/sshkey_deploy_cluster/","title":"\u4ee5 SSH \u5bc6\u94a5\u65b9\u5f0f\u90e8\u7f72\u96c6\u7fa4","text":""},{"location":"usage/sshkey_deploy_cluster/#_1","title":"\u5185\u5bb9","text":"
    • \u2713 1. SSH \u5bc6\u94a5\u7684\u751f\u6210\u4e0e\u5206\u53d1
    • \u2713 2. \u4f7f\u7528\u79c1\u94a5\u5236\u4f5c Secret
    • \u2713 3. \u521b\u5efa\u4e3b\u673a\u6e05\u5355\u914d\u7f6e
    • \u2713 4. \u5236\u5907\u90e8\u7f72\u96c6\u7fa4\u7684\u914d\u7f6e\u53c2\u6570
    • \u2713 5. \u51c6\u5907 Kubean \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90
    • \u2713 6. \u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4
    "},{"location":"usage/sshkey_deploy_cluster/#ssh_1","title":"SSH \u5bc6\u94a5\u7684\u751f\u6210\u4e0e\u5206\u53d1","text":"
    1. \u901a\u8fc7 ssh-keygen \u547d\u4ee4\u751f\u6210\u516c\u79c1\u94a5\u5bf9\uff0c\u6bd4\u5982\uff1a

      $ ssh-keygen -t rsa -b 4096 -C \"your_email@example.com\" -f $HOME/.ssh/id_rsa\nGenerating public/private rsa key pair.\nCreated directory '/root/.ssh'.\nEnter passphrase (empty for no passphrase):\nEnter same passphrase again:\nYour identification has been saved in /root/.ssh/id_rsa.\nYour public key has been saved in /root/.ssh/id_rsa.pub.\nThe key fingerprint is:\nSHA256:oMqlhL8wLuYycOkUNXyiDso62C+ryNYc9k3LMDltQZs your_email@example.com\nThe keys randomart image is:\n+---[RSA 4096]----+\n|   .             |\n|    = ..         |\n|   o +o o        |\n|..o  . E         |\n|+o.oo o S        |\n|o==* = +         |\n|*=O o O .        |\n|@=++ . +         |\n|OBo+.            |\n+----[SHA256]-----+\n\n$ ls /root/.ssh/id_rsa* -lh\n-rw-------. 1 root root 1.7K Nov 10 03:47 /root/.ssh/id_rsa         # \u79c1\u94a5\n-rw-r--r--. 1 root root  408 Nov 10 03:47 /root/.ssh/id_rsa.pub     # \u516c\u94a5\n
    2. \u5206\u53d1\u516c\u94a5\u5230\u96c6\u7fa4\u7684\u5404\u4e2a\u8282\u70b9\uff1a

      # \u6bd4\u5982\u6307\u5b9a\u5c06\u516c\u94a5\u5206\u53d1\u81f3 `192.168.10.11` `192.168.10.12` \u4e24\u4e2a\u8282\u70b9\n$ declare -a IPS=(192.168.10.11 192.168.10.12)\n\n# \u904d\u5386\u8282\u70b9 IP \u5206\u53d1\u516c\u94a5(/root/.ssh/id_rsa.pub)\uff0c\u5047\u8bbe\u7528\u6237\u540d\u4e3a: root, \u5bc6\u7801\u4e3a: kubean\n$ for ip in ${IPS[@]}; do sshpass -p \"kubean\" ssh-copy-id -i /root/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@$ip; done\n
    "},{"location":"usage/sshkey_deploy_cluster/#secret","title":"\u4f7f\u7528\u79c1\u94a5\u5236\u4f5c Secret","text":"

    \u901a\u8fc7 kubectl \u547d\u4ee4\u751f\u6210\u79c1\u94a5\u7684 Secret\uff1a

    $ kubectl -n kubean-system \\                            # \u6307\u5b9a\u547d\u540d\u7a7a\u95f4 kubean-system\n    create secret generic sample-ssh-auth \\             # \u6307\u5b9a secret \u540d\u79f0\u4e3a sample-ssh-auth\n    --type='kubernetes.io/ssh-auth' \\                   # \u6307\u5b9a secret \u7c7b\u578b\u4e3a kubernetes.io/ssh-auth\n    --from-file=ssh-privatekey=/root/.ssh/id_rsa \\      # \u6307\u5b9a ssh \u79c1\u94a5\u6587\u4ef6\u8def\u5f84\n    --dry-run=client -o yaml > SSHAuthSec.yml           # \u6307\u5b9a secret yaml \u6587\u4ef6\u751f\u6210\u8def\u5f84\n

    \u751f\u6210\u7684 SSHAuthSec.yml \u5185\u5bb9\u5927\u81f4\u5982\u4e0b\u6240\u793a\uff1a

    # SSHAuthSec.yml\napiVersion: v1\nkind: Secret\nmetadata:\n  creationTimestamp: null\n  name: sample-ssh-auth\n  namespace: kubean-system\ntype: kubernetes.io/ssh-auth\ndata:\n  ssh-privatekey: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdWVDbC8rSng1b0RT...\n
    "},{"location":"usage/sshkey_deploy_cluster/#_2","title":"\u521b\u5efa\u4e3b\u673a\u6e05\u5355\u914d\u7f6e","text":"

    \u793a\u4f8b\uff1a\u4e3b\u673a\u6e05\u5355 HostsConfCM.yml \u5185\u5bb9\u5927\u81f4\u5982\u4e0b\uff0c\u5e76\u5c06\u4e0b\u65b9 \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7528\u6237\u540d\uff1a

    # HostsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-hosts-conf\n  namespace: kubean-system\ndata:\n  hosts.yml: |\n    all:\n      hosts:\n        master:\n          ip: 192.168.10.11\n          access_ip: 192.168.10.11\n          ansible_host: 192.168.10.11\n          ansible_user: <USRENAME>\n        worker:\n          ip: 192.168.10.12\n          access_ip: 192.168.10.12\n          ansible_host: 192.168.10.12\n          ansible_user: <USRENAME>\n      children:\n        kube_control_plane:\n          hosts:\n            master:\n        kube_node:\n          hosts:\n            master:\n            worker:\n        etcd:\n          hosts:\n            master:\n        k8s_cluster:\n          children:\n            kube_control_plane:\n            kube_node:\n        calico_rr:\n          hosts: {}\n

    \u6ce8\uff1a\u7531\u4e8e\u91c7\u7528\u79c1\u94a5\u767b\u5f55\uff0c\u6240\u4ee5\u4e3b\u673a\u4fe1\u606f\u4e2d\u4e0d\u9700\u8981\u586b\u5199\u5bc6\u7801\uff08\u5373\uff1aansible_password\uff09

    "},{"location":"usage/sshkey_deploy_cluster/#_3","title":"\u5236\u5907\u90e8\u7f72\u96c6\u7fa4\u7684\u914d\u7f6e\u53c2\u6570","text":"

    \u96c6\u7fa4\u914d\u7f6e\u53c2\u6570 VarsConfCM.yml\u7684\u5185\u5bb9\uff0c\u53ef\u4ee5\u53c2\u8003 demo vars conf\u3002

    # VarsConfCM.yml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: sample-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    container_manager: containerd\n    kube_network_plugin: calico\n    kube_network_plugin_multus: false\n    kube_proxy_mode: iptables\n    enable_nodelocaldns: false\n    etcd_deployment_type: kubeadm\n    ntp_enabled: true\n    ...\n
    "},{"location":"usage/sshkey_deploy_cluster/#kubean","title":"\u51c6\u5907 Kubean \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90","text":"
    • Cluster \u81ea\u5b9a\u4e49\u8d44\u6e90\u5185\u5bb9\u793a\u4f8b

      # Cluster.yml\napiVersion: kubean.io/v1alpha1\nkind: Cluster\nmetadata:\n  name: sample\nspec:\n  hostsConfRef:\n    namespace: kubean-system\n    name: sample-hosts-conf\n  varsConfRef:\n    namespace: kubean-system\n    name: sample-vars-conf\n  sshAuthRef: # \u5173\u952e\u5c5e\u6027\uff0c\u6307\u5b9a\u96c6\u7fa4\u90e8\u7f72\u671f\u95f4\u7684 ssh \u79c1\u94a5 secret\n    namespace: kubean-system\n    name: sample-ssh-auth\n
    • ClusterOperation \u81ea\u5b9a\u4e49\u8d44\u6e90\u5185\u5bb9\u793a\u4f8b

      # ClusterOperation.yml\napiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: sample-create-cluster\nspec:\n  cluster: sample\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:latest\n  actionType: playbook\n  action: cluster.yml\n  preHook:\n    - actionType: playbook\n      action: ping.yml\n    - actionType: playbook\n      action: disable-firewalld.yml\n  postHook:\n    - actionType: playbook\n      action: kubeconfig.yml\n    - actionType: playbook\n      action: cluster-info.yml\n
    "},{"location":"usage/sshkey_deploy_cluster/#_4","title":"\u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4","text":"

    \u5047\u8bbe\u6240\u6709 YAML \u6e05\u5355\u90fd\u5b58\u653e\u5728 create_cluster \u76ee\u5f55\uff1a

    $ tree create_cluster/\ncreate_cluster\n\u251c\u2500\u2500 HostsConfCM.yml       # \u4e3b\u673a\u6e05\u5355\n\u251c\u2500\u2500 SSHAuthSec.yml        # SSH\u79c1\u94a5\n\u251c\u2500\u2500 VarsConfCM.yml        # \u96c6\u7fa4\u53c2\u6570\n\u251c\u2500\u2500 Cluster.yml           # Cluster CR\n\u2514\u2500\u2500 ClusterOperation.yml  # ClusterOperation CR\n

    \u901a\u8fc7 kubectl apply \u5f00\u59cb\u90e8\u7f72\u96c6\u7fa4:

    kubectl apply -f create_cluster/\n
    "},{"location":"usage/support_k8s_version/","title":"Support k8s version","text":"kubean Version Default Kubernetes Version Supported Kubernetes Version Range v0.8.6 v1.26.7 - \"v1.27.4\" - \"v1.27.3\" - \"v1.27.2\" - \"v1.27.1\" - \"v1.27.0\" - \"v1.26.7\" - \"v1.26.6\" - \"v1.26.5\" - \"v1.26.4\" - \"v1.26.3\" - \"v1.26.2\" - \"v1.26.1\" - \"v1.26.0\" - \"v1.25.11\" - \"v1.25.10\" - \"v1.25.9\" - \"v1.25.8\" - \"v1.25.7\" - \"v1.25.6\" - \"v1.25.5\" - \"v1.25.4\" - \"v1.25.3\" - \"v1.25.2\" - \"v1.25.1\" - \"v1.25.0\" - \"v1.24.15\" - \"v1.24.14\" v0.9.0 v1.26.7 - 'v1.28.1' - 'v1.28.0' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' - 'v1.26.8' - 'v1.26.7' - 'v1.26.6' - 'v1.26.5' - 'v1.26.4' - 'v1.26.3' - 'v1.26.2' - 'v1.26.1' - 'v1.26.0' v0.11.1 v1.27.5 - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' - 'v1.26.11' - 'v1.26.10' - 'v1.26.9' - 'v1.26.8' - 'v1.26.7' - 'v1.26.6' - 'v1.26.5' - 'v1.26.4' - 'v1.26.3' - 'v1.26.2' - 'v1.26.1' - 'v1.26.0' v0.11.2 v1.27.5 - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' - 'v1.26.11' - 'v1.26.10' - 'v1.26.9' - 'v1.26.8' - 'v1.26.7' - 'v1.26.6' - 'v1.26.5' - 'v1.26.4' - 'v1.26.3' - 'v1.26.2' - 'v1.26.1' - 'v1.26.0' v0.12.1 v1.27.5 - 'v1.29.0' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' - 'v1.26.12' - 'v1.26.11' - 'v1.26.10' - 'v1.26.9' - 'v1.26.8' - 'v1.26.7' - 'v1.26.6' - 'v1.26.5' - 'v1.26.4' - 'v1.26.3' - 'v1.26.2' - 'v1.26.1' - 'v1.26.0' v0.13.0 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.1 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.3 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.4 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.5 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.8 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.9 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.14.0 v1.27.5 - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.12' - 'v1.27.11' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.10 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.13.11 v1.27.5 - 'v1.29.1' - 'v1.29.0' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.15.0 v1.27.5 - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.12' - 'v1.27.11' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.15.1 v1.27.5 - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.13' - 'v1.27.12' - 'v1.27.11' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.15.3 v1.28.9 - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' - 'v1.27.13' - 'v1.27.12' - 'v1.27.11' - 'v1.27.10' - 'v1.27.9' - 'v1.27.8' - 'v1.27.7' - 'v1.27.6' - 'v1.27.5' - 'v1.27.4' - 'v1.27.3' - 'v1.27.2' - 'v1.27.1' - 'v1.27.0' v0.16.0 v1.29.5 - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.16.1 v1.29.5 - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.16.3 v1.29.5 - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.17.0 v1.29.5 - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.17.1 v1.29.5 - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.17.2 v1.29.5 - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.17.4 v1.29.5 - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.18.1 v1.29.5 - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.18.5 v1.29.5 - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.12' - 'v1.28.11' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.19.0 v1.30.4 - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' - 'v1.28.12' - 'v1.28.11' - 'v1.28.10' - 'v1.28.9' - 'v1.28.8' - 'v1.28.7' - 'v1.28.6' - 'v1.28.5' - 'v1.28.4' - 'v1.28.3' - 'v1.28.2' - 'v1.28.1' - 'v1.28.0' v0.20.0 v1.30.4 - 'v1.31.2' - 'v1.31.1' - 'v1.31.0' - 'v1.30.6' - 'v1.30.5' - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.10' - 'v1.29.9' - 'v1.29.8' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' v0.21.0 v1.30.5 - 'v1.31.2' - 'v1.31.1' - 'v1.31.0' - 'v1.30.6' - 'v1.30.5' - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.10' - 'v1.29.9' - 'v1.29.8' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' v0.21.1 v1.30.5 - 'v1.31.2' - 'v1.31.1' - 'v1.31.0' - 'v1.30.6' - 'v1.30.5' - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.10' - 'v1.29.9' - 'v1.29.8' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' v0.22.1 v1.30.5 - 'v1.31.3' - 'v1.31.2' - 'v1.31.1' - 'v1.31.0' - 'v1.30.7' - 'v1.30.6' - 'v1.30.5' - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.11' - 'v1.29.10' - 'v1.29.9' - 'v1.29.8' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0' v0.22.2 v1.30.5 - 'v1.31.3' - 'v1.31.2' - 'v1.31.1' - 'v1.31.0' - 'v1.30.7' - 'v1.30.6' - 'v1.30.5' - 'v1.30.4' - 'v1.30.3' - 'v1.30.2' - 'v1.30.1' - 'v1.30.0' - 'v1.29.11' - 'v1.29.10' - 'v1.29.9' - 'v1.29.8' - 'v1.29.7' - 'v1.29.6' - 'v1.29.5' - 'v1.29.4' - 'v1.29.3' - 'v1.29.2' - 'v1.29.1' - 'v1.29.0'"},{"location":"usage/uninstall/","title":"\u96c6\u7fa4\u5378\u8f7d","text":"

    \u672c\u8282\u5c06\u5411\u60a8\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 kubean \u5378\u8f7d\u96c6\u7fa4\u3002\u5728\u60a8\u514b\u9686\u81f3\u672c\u5730\u7684 kubean/example/uninstall \u6587\u4ef6\u5185\uff0c\u540c\u6837\u63d0\u4f9b\u4e86\u5378\u8f7d\u96c6\u7fa4\u7684\u6837\u4f8b\u6a21\u677f\uff1a

    uninsatall \u6587\u4ef6\u5185\u4e3b\u8981\u7684\u914d\u7f6e\u6587\u4ef6\u53ca\u7528\u9014\u5982\u4e0b\uff1a
        uninstall\n    \u251c\u2500\u2500 ClusterOperation.yml                # \u5378\u8f7d\u96c6\u7fa4\u4efb\u52a1\n

    \u4e0b\u9762\u4ee5\u4f7f\u7528 all-in-one \u6a21\u5f0f\u90e8\u7f72\u7684\u5355\u8282\u70b9\u96c6\u7fa4\u4e3a\u4f8b\uff0c\u6765\u6f14\u793a\u96c6\u7fa4\u7248\u672c\u5347\u7ea7\u64cd\u4f5c\u3002

    \u6ce8\u610f\uff1a\u6267\u884c\u96c6\u7fa4\u5378\u8f7d\u524d\uff0c\u60a8\u5fc5\u987b\u5df2\u7ecf\u4f7f\u7528 kubean \u5b8c\u6210\u4e86\u4e00\u5957\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/uninstall/#1","title":"1. \u65b0\u589e\u5378\u8f7d\u4efb\u52a1","text":"

    \u8fdb\u5165 kubean/examples/uninstall/ \u8def\u5f84\uff0c\u7f16\u8f91\u6a21\u677f ClusterOperation.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    kubean/examples/uninstall/ \u8def\u5f84\u4e0b ClusterOperation.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-uninstall-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: reset.yml\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • spec.cluster\uff1a\u6307\u5b9a\u9700\u8981\u5378\u8f7d\u7684\u96c6\u7fa4\u540d\u79f0, \u4e0a\u8ff0\u6307\u5b9a\u7684\u662f\u540d\u4e3a cluster-mini \u7684\u96c6\u7fa4\u4e3a\u5378\u8f7d\u76ee\u6807\u3002
    • spec.action:\uff1a\u6307\u5b9a\u5378\u8f7d\u76f8\u5173\u7684 kubespray \u5267\u672c, \u8fd9\u91cc\u8bbe\u7f6e\u4e3a reset.yml\u3002
    "},{"location":"usage/uninstall/#2-uninstall","title":"2.\u5e94\u7528 uninstall \u6587\u4ef6\u4e0b\u7684\u914d\u7f6e","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 ClusterOperation.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/uninstall/\n

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u4f7f\u5b8c\u6210\u4e86\u4e00\u4e2a\u96c6\u7fa4\u7684\u5378\u8f7d\u3002

    "},{"location":"usage/upgrade/","title":"\u96c6\u7fa4\u7248\u672c\u5347\u7ea7","text":"

    \u672c\u8282\u5c06\u5411\u60a8\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 kubean \u5347\u7ea7\u96c6\u7fa4\u7684 kubernnetes \u7248\u672c\u3002\u5728\u60a8\u514b\u9686\u81f3\u672c\u5730\u7684 kubean/example/upgrade \u6587\u4ef6\u5185\uff0c\u540c\u6837\u63d0\u4f9b\u4e86\u96c6\u7fa4\u7248\u672c\u5347\u7ea7\u7684\u6837\u4f8b\u6a21\u677f\uff1a

    upgrade \u6587\u4ef6\u5185\u4e3b\u8981\u7684\u914d\u7f6e\u6587\u4ef6\u53ca\u7528\u9014\u5982\u4e0b\uff1a
        upgrade\n    \u251c\u2500\u2500 ClusterOperation.yml                  # \u5347\u7ea7\u96c6\u7fa4\u4efb\u52a1\n    \u2514\u2500\u2500 VarsConfCM.yml                        # \u96c6\u7fa4\u5347\u7ea7\u7248\u672c\u7b49\u53c2\u6570\u914d\u7f6e\n

    \u4e0b\u9762\u4ee5\u4f7f\u7528 all-in-one \u6a21\u5f0f\u90e8\u7f72\u7684\u5355\u8282\u70b9\u96c6\u7fa4\u4e3a\u4f8b\uff0c\u6765\u6f14\u793a\u96c6\u7fa4\u7248\u672c\u5347\u7ea7\u64cd\u4f5c\u3002

    \u6ce8\u610f\uff1a\u6267\u884c\u96c6\u7fa4\u7248\u672c\u5347\u7ea7\u524d\uff0c\u60a8\u5fc5\u987b\u5df2\u7ecf\u4f7f\u7528 kubean \u5b8c\u6210\u4e86\u4e00\u5957\u96c6\u7fa4\u7684\u90e8\u7f72\u3002

    "},{"location":"usage/upgrade/#1","title":"1. \u65b0\u589e\u5347\u7ea7\u4efb\u52a1","text":"

    \u8fdb\u5165 kubean/examples/upgrade/ \u8def\u5f84\uff0c\u7f16\u8f91\u6a21\u677f ClusterOperation.yml\uff0c\u5c06\u4e0b\u5217\u53c2\u6570\u66ff\u6362\u4e3a\u60a8\u7684\u771f\u5b9e\u53c2\u6570\uff1a

    • <TAG>\uff1akubean \u955c\u50cf\u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\uff0c\u53c2\u9605 kubean \u7248\u672c\u5217\u8868\u3002

    kubean/examples/upgrade/ \u8def\u5f84\u4e0b ClusterOperation.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: kubean.io/v1alpha1\nkind: ClusterOperation\nmetadata:\n  name: cluster-mini-upgrade-ops\nspec:\n  cluster: cluster-mini\n  image: ghcr.m.daocloud.io/kubean-io/spray-job:<TAG> # Please replace <TAG> with the specified version, such as v0.4.9\n  actionType: playbook\n  action: upgrade-cluster.yml\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • spec.cluster: \u6307\u5b9a\u9700\u8981\u5347\u7ea7\u7684\u96c6\u7fa4\u540d\u79f0\uff0c\u4e0a\u8ff0\u6307\u5b9a\u7684\u662f\u540d\u4e3a cluster-mini \u7684\u96c6\u7fa4\u4e3a\u5347\u7ea7\u76ee\u6807\u3002
    • spec.action: \u6307\u5b9a\u5347\u7ea7\u76f8\u5173\u7684 kubespray \u5267\u672c, \u8fd9\u91cc\u8bbe\u7f6e\u4e3a upgrade-cluster.yml\u3002
    "},{"location":"usage/upgrade/#2","title":"2. \u6307\u5b9a\u96c6\u7fa4\u5347\u7ea7\u7248\u672c","text":"

    \u8fdb\u5165 kubean/examples/upgrade/ \u8def\u5f84\uff0c\u7f16\u8f91\u6a21\u677f VarsConfCM.yml\uff0c\u901a\u8fc7\u914d\u7f6e kube_version \u53c2\u6570\uff0c\u6307\u5b9a\u96c6\u7fa4\u5347\u7ea7\u7684\u7248\u672c\u3002

    kubean/examples/upgrade/ \u8def\u5f84\u4e0b VarsConfCM.yml \u7684\u6a21\u677f\u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.8\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n
    \u91cd\u8981\u53c2\u6570\uff1a

    • kube_version: \u6307\u5b9a\u9700\u8981\u5347\u7ea7\u7684\u96c6\u7fa4\u7248\u672c, \u4e0a\u8ff0\u6307\u5b9a\u4e86\u8981\u5347\u7ea7\u5230 k8s v1.25.8 \u7248\u672c\u3002

    \u5347\u7ea7\u96c6\u7fa4\u7248\u672c\u53c2\u6570\u7684\u793a\u4f8b

    \u5347\u7ea7\u7248\u672c\u524d\u5347\u7ea7\u7248\u672c\u540e
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.0\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: mini-vars-conf\n  namespace: kubean-system\ndata:\n  group_vars.yml: |\n    kube_version: v1.25.8\n    # upgrade_cluster_setup: true\n    # upgrade_node_confirm: true\n    # upgrade_node_pause_seconds: 60\n\n    container_manager: containerd\n    kube_network_plugin: calico\n    etcd_deployment_type: kubeadm\n

    \u9644\uff1akubean \u96c6\u7fa4\u7248\u672c\u652f\u6301\u673a\u5236\uff1a

    kubean \u7248\u672c \u63a8\u8350\u7684 kubernetes \u7248\u672c \u652f\u6301\u7684 kubernetes \u7248\u672c\u8303\u56f4 v0.5.2 v1.25.4 - \"v1.27.2\" - \"v1.26.5\" - \"v1.26.4\" - \"v1.26.3\" - \"v1.26.2\" - \"v1.26.1\" - \"v1.26.0\" - \"v1.25.10\" - \"v1.25.9\" - \"v1.25.8\" - \"v1.25.7\" - \"v1.25.6\" - \"v1.25.5\" - \"v1.25.4\" - \"v1.25.3\" - \"v1.25.2\" - \"v1.25.1\" - \"v1.25.0\"

    \u66f4\u591a\u5347\u7ea7\u64cd\u4f5c\u53c2\u6570\u7684\u8be6\u7ec6\u8bf4\u660e\uff0c\u8bf7\u53c2\u8003 kubespray \u6587\u6863\uff1a\u901a\u8fc7Kubespray \u66f4\u65b0 kubernetes\u3002

    "},{"location":"usage/upgrade/#3-upgrade","title":"3.\u5e94\u7528 upgrade \u6587\u4ef6\u4e0b\u6240\u6709\u7684\u914d\u7f6e","text":"

    \u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u5e76\u4fdd\u5b58 ClusterOperation.yml \u548c VarsConfCM.yml \u6587\u4ef6\u540e\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    $ kubectl apply -f examples/upgrade/\n

    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u4f7f\u5b8c\u6210\u4e86\u4e00\u4e2a\u96c6\u7fa4\u7684 kuberntes \u7248\u672c\u7684\u5347\u7ea7\u3002

    "}]} \ No newline at end of file diff --git a/zh/sitemap.xml b/zh/sitemap.xml index 4c7a2ac2e..3c2344d8b 100644 --- a/zh/sitemap.xml +++ b/zh/sitemap.xml @@ -2,426 +2,430 @@ https://kubean-io.github.io/kubean/zh/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/concepts/architecture/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/concepts/comparisons/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/concepts/crds/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/concepts/custom_action/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/concepts/theory_of_airgapped_package/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/develop/roadmap/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/artifacts/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.10.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.11.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.11.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.11.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.12.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.12.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.12.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.12.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.10/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.11/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.6/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.7/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.8/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.13.9/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.14.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.15.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.15.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.15.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.15.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.16.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.16.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.16.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.16.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.17.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.17.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.17.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.17.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.17.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.17.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.18.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.18.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.18.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.18.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.18.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.18.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.19.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.20.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.21.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.21.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.22.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.22.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.22.2/ - 2024-12-22 + 2024-12-23 + + + https://kubean-io.github.io/kubean/zh/releases/v0.22.3/ + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.10/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.6/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.7/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.8/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.4.9/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.5.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.5.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.5.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.5.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.5.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.6.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.6.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.6.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.6.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.6.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.6.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.6.6/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.7.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.7.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.7.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.7.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.7.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.8.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.8.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.8.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.8.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.8.4/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.8.5/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.9.0/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.9.1/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.9.2/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/releases/v0.9.3/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/airgap/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/airgap_patch_usage/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/all_in_one_install/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/helm_install_kubean/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/install/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/install_without_root/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/mirror_install/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/scale_worknode/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/sshkey_deploy_cluster/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/support_k8s_version/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/uninstall/ - 2024-12-22 + 2024-12-23 https://kubean-io.github.io/kubean/zh/usage/upgrade/ - 2024-12-22 + 2024-12-23 \ No newline at end of file diff --git a/zh/sitemap.xml.gz b/zh/sitemap.xml.gz index 4f71f9a3a3e5763f18908d8f91e7246a324156bd..3c36e16cb68a14141267e95d9747476784f5babb 100644 GIT binary patch delta 432 zcmV;h0Z;y?1*!!HABzYG0H|n@2fu%@4^^IJkG`@$o&9^anr3aR=S(@>hmWKE;!JcH zO_Nn_V468Ti)#TO7WOnrrG3zEbQ<3qa(77|QVp(C)|ysYr7xwFM9}%J&1ok_8|HQ z954fdG9m(m1H~}~2*&}0qXgloKsag;js}9G0NG&jC_(g5 zg6N|H(MJWMj|xN|6^uR#5Dtv*g*Av@Y7oEFAbzPq{8EGXr3Ud!gW(qek|>KDh67^# z5Fkme5HRB*KsX@QQ;?t81%`h*3XmALzz}JHqR|2acnOB9J7FfbrCdXNAcB)<{D8!xuk`^}@PH8Zl(!_Jh!s{dYkB9aV7^GER_wrE`muDR1FiVp_0!thM#sykt a2-z&QbLxNe@_Az8&%XhfqhVxbIRF623$W?{ delta 432 zcmV;h0Z;y_1*ZiEABzYGfL3Rb2fu$ILX~IPqp$2wXaC-7Ia5ye;p1q(I1?R4 z(`1z!m}ZX8;#vTRg*{DDX&>|(oyPZu++EU#RD5J;3NvAbeGm_05sdlww zBn)Rpqu8u=^20}%E{;xe-KF_1-9d2VFdR7uhk)P^AoC(X=0(8F%N~Mb52AmMJ%~O6 z2h4z=jEDf?Kygd~!f^oMC_y+X5RMvzqk-TkKz5h|3`Y*aAwW1V*7XuZA0>!BN)UaN zAo{34^ihH6qXN-K1*4AwgahMyVGZJ!8pJO(h+k?DztkXpsX_eGVE9FVB+4R(;ec2_ z1W1xA1k89qtfwG9ZwriBDL{YX(*i{tdkl;M1LJ^!QDR_J7#KAM21Hs35)y)BgdhH~;{Knz_ON diff --git a/zh/usage/airgap/index.html b/zh/usage/airgap/index.html index 633148ebf..a5d095108 100644 --- a/zh/usage/airgap/index.html +++ b/zh/usage/airgap/index.html @@ -1067,6 +1067,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/airgap_patch_usage/index.html b/zh/usage/airgap_patch_usage/index.html index 313e35954..4b746d2c8 100644 --- a/zh/usage/airgap_patch_usage/index.html +++ b/zh/usage/airgap_patch_usage/index.html @@ -908,6 +908,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/all_in_one_install/index.html b/zh/usage/all_in_one_install/index.html index 119cd9f5a..991c71652 100644 --- a/zh/usage/all_in_one_install/index.html +++ b/zh/usage/all_in_one_install/index.html @@ -932,6 +932,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/helm_install_kubean/index.html b/zh/usage/helm_install_kubean/index.html index c7610b3af..f8eb8b14a 100644 --- a/zh/usage/helm_install_kubean/index.html +++ b/zh/usage/helm_install_kubean/index.html @@ -941,6 +941,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/install/index.html b/zh/usage/install/index.html index 63a16bc49..ae4a0eacd 100644 --- a/zh/usage/install/index.html +++ b/zh/usage/install/index.html @@ -848,6 +848,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/install_without_root/index.html b/zh/usage/install_without_root/index.html index b2e7abda7..04625c083 100644 --- a/zh/usage/install_without_root/index.html +++ b/zh/usage/install_without_root/index.html @@ -944,6 +944,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/mirror_install/index.html b/zh/usage/mirror_install/index.html index 6d65b0722..de7cdba16 100644 --- a/zh/usage/mirror_install/index.html +++ b/zh/usage/mirror_install/index.html @@ -941,6 +941,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/scale_worknode/index.html b/zh/usage/scale_worknode/index.html index 75bbc3ba5..13b227afb 100644 --- a/zh/usage/scale_worknode/index.html +++ b/zh/usage/scale_worknode/index.html @@ -974,6 +974,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/sshkey_deploy_cluster/index.html b/zh/usage/sshkey_deploy_cluster/index.html index b6fcba263..98101b023 100644 --- a/zh/usage/sshkey_deploy_cluster/index.html +++ b/zh/usage/sshkey_deploy_cluster/index.html @@ -953,6 +953,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/support_k8s_version/index.html b/zh/usage/support_k8s_version/index.html index ee3c56208..e12af3ad4 100644 --- a/zh/usage/support_k8s_version/index.html +++ b/zh/usage/support_k8s_version/index.html @@ -843,6 +843,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/uninstall/index.html b/zh/usage/uninstall/index.html index 53692acfd..0bef35e37 100644 --- a/zh/usage/uninstall/index.html +++ b/zh/usage/uninstall/index.html @@ -908,6 +908,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +
  • diff --git a/zh/usage/upgrade/index.html b/zh/usage/upgrade/index.html index 80a808282..49d400b77 100644 --- a/zh/usage/upgrade/index.html +++ b/zh/usage/upgrade/index.html @@ -917,6 +917,27 @@ +
  • + + + + + V0.22.3 + + + + +
  • + + + + + + + + + +