<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: kubesphere.io</title>
    <description>The latest articles on DEV Community by kubesphere.io (@palapala).</description>
    <link>https://dev.to/palapala</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2984167%2F0d03c9ee-08f0-4be8-a2ac-b55c6c397166.png</url>
      <title>DEV Community: kubesphere.io</title>
      <link>https://dev.to/palapala</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/palapala"/>
    <language>en</language>
    <item>
      <title>How to Seamlessly Upgrade KubeSphere from v4.1.x to v4.1.3</title>
      <dc:creator>kubesphere.io</dc:creator>
      <pubDate>Fri, 13 Jun 2025 08:14:02 +0000</pubDate>
      <link>https://dev.to/palapala/how-to-seamlessly-upgrade-kubesphere-from-v41x-to-v413-31k8</link>
      <guid>https://dev.to/palapala/how-to-seamlessly-upgrade-kubesphere-from-v41x-to-v413-31k8</guid>
      <description>&lt;h1&gt;
  
  
  How to Seamlessly Upgrade KubeSphere from v4.1.x to v4.1.3
&lt;/h1&gt;

&lt;p&gt;Upgrading your KubeSphere platform is essential to benefit from the latest enhancements and fixes. Here's a comprehensive step-by-step guide to safely upgrade from v4.1.x to v4.1.3 while preserving your current Kubernetes version (v1.21.x–v1.30.x).&lt;/p&gt;

&lt;h3&gt;
  
  
  Prerequisites Before the Upgrade
&lt;/h3&gt;

&lt;p&gt;1.Confirm your current KubeSphere version is v4.1.x.&lt;/p&gt;

&lt;p&gt;2.Kubernetes cluster must be within v1.21.x to v1.30.x.&lt;/p&gt;

&lt;p&gt;3.Backup custom configurations of any installed extensions via Extension Config.&lt;/p&gt;

&lt;p&gt;4.Take full backups of critical data to avoid loss. &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Upgrade the Host Cluster
&lt;/h3&gt;

&lt;p&gt;KubeSphere now utilizes Helm for &lt;code&gt;ks-core&lt;/code&gt;upgrades.&lt;/p&gt;

&lt;p&gt;a. Verify the target cluster&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl get node -o wide&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;b. Export current values&lt;/p&gt;

&lt;p&gt;&lt;code&gt;helm get values -n kubesphere-system ks-core -o yaml &amp;gt; host-cluster-custom-values.yaml&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;c. Edit values file&lt;/p&gt;

&lt;p&gt;Update key sections, for example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;global:
  imageRegistry: docker.io
extension:
  imageRegistry: docker.io

multicluster:
  role: host
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;d. Execute the upgrade&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm -n kubesphere-system upgrade ks-core \
  https://charts.kubesphere.io/main/ks-core-1.1.4.tgz \
  -f host-cluster-custom-values.yaml \
  --wait --debug
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;e. Verify success&lt;/p&gt;

&lt;p&gt;&lt;code&gt;helm -n kubesphere-system get metadata ks-core&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Ensure output shows &lt;code&gt;APP_VERSION: v4.1.3&lt;/code&gt; and a healthy &lt;code&gt;STATUS: deployed&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Upgrade Member Clusters
&lt;/h3&gt;

&lt;p&gt;For multi-cluster setups, the member clusters follow a similar workflow.&lt;/p&gt;

&lt;p&gt;a. Check the cluster&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl get node -o wide&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;b. Export member-specific config&lt;/p&gt;

&lt;p&gt;&lt;code&gt;helm get values -n kubesphere-system ks-core -o yaml &amp;gt; member-cluster-custom-values.yaml&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;c. Edit values file&lt;/p&gt;

&lt;p&gt;Adjust the role and JWT secret:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;global:
  imageRegistry: docker.io
authentication:
  issuer:
    jwtSecret: &amp;lt;REDACTED&amp;gt;

multicluster:
  role: member
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;d. Apply the upgrade&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm -n kubesphere-system upgrade ks-core \
  https://charts.kubesphere.io/main/ks-core-1.1.4.tgz \
  -f member-cluster-custom-values.yaml \
  --wait --debug
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;e. Validate deployment&lt;/p&gt;

&lt;p&gt;Run the same &lt;code&gt;helm get metadata&lt;/code&gt; check and confirm deployment status.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Upgrade Extensions
&lt;/h3&gt;

&lt;p&gt;After &lt;code&gt;ks-core&lt;/code&gt; is updated, upgrade your extensions via the console:&lt;/p&gt;

&lt;p&gt;1.Open &lt;strong&gt;Extensions Center&lt;/strong&gt;, navigate to your extension details.&lt;/p&gt;

&lt;p&gt;2.Click &lt;strong&gt;More → Extension Config&lt;/strong&gt;, restore recommended defaults, then reapply your custom settings.&lt;/p&gt;

&lt;p&gt;3.Click &lt;strong&gt;More → Update&lt;/strong&gt;, then &lt;strong&gt;Start Update&lt;/strong&gt; and wait for it to complete&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Thoughts &amp;amp; Tips
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Always backup your configuration and data before upgrading.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Track your KubeSphere core chart version: &lt;code&gt;ks-core-1.1.4.tgz&lt;/code&gt; corresponds to v4.1.3.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use &lt;code&gt;--wait --debug&lt;/code&gt; to monitor the Helm upgrade process.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Validating via &lt;code&gt;helm get metadata&lt;/code&gt; ensures deployment health and version integrity.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With these steps, your KubeSphere platform should be running the latest &lt;strong&gt;v4.1.3&lt;/strong&gt;, taking full advantage of platform enhancements and bug fixes. Let us know if you run into any issues or need help—our community and Slack are just a ping away!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Quick Deployment of High Availability Kubernetes 1.33.0 Cluster Based on KubeKey 3.1.9</title>
      <dc:creator>kubesphere.io</dc:creator>
      <pubDate>Fri, 30 May 2025 10:43:02 +0000</pubDate>
      <link>https://dev.to/palapala/quick-deployment-of-high-availability-kubernetes-1330-cluster-based-on-kubekey-319-1jn8</link>
      <guid>https://dev.to/palapala/quick-deployment-of-high-availability-kubernetes-1330-cluster-based-on-kubekey-319-1jn8</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Author: Ding Xinlei, Cloud-Native Operations Engineer &lt;br&gt;
Focused on deep integration of KubeSphere and Kubernetes (K8s), passionate about simplifying Kubernetes operations and enabling enterprise cloud-native transformation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🌍 Compatibility Notice
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This guide is optimized for &lt;strong&gt;global users&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Default deployment uses &lt;strong&gt;public registries&lt;/strong&gt; (&lt;code&gt;docker.io&lt;/code&gt;, &lt;code&gt;quay.io&lt;/code&gt;, &lt;code&gt;ghcr.io&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Harbor (private registry) is &lt;strong&gt;optional&lt;/strong&gt;, only needed for &lt;strong&gt;offline / air-gapped&lt;/strong&gt; environments.&lt;/li&gt;
&lt;li&gt;Timezone is set to &lt;code&gt;UTC&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;NTP server is &lt;code&gt;pool.ntp.org&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
Background &lt;/li&gt;
&lt;li&gt;
Software Versions &lt;/li&gt;
&lt;li&gt;
Server Planning &lt;/li&gt;
&lt;li&gt;
Host Initialization &lt;/li&gt;
&lt;li&gt;
Package Preparation &lt;/li&gt;
&lt;li&gt;
Optional: Harbor Setup (Offline) &lt;/li&gt;
&lt;li&gt;
Kubernetes Cluster Installation &lt;/li&gt;
&lt;li&gt;
KubeSphere Installation &lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  1. Background
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.1 KubeKey 3.1.9 Updates
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Support for Kubernetes 1.33.0&lt;/li&gt;
&lt;li&gt;Bug fixes:

&lt;ul&gt;
&lt;li&gt;kubelet cgroup configuration&lt;/li&gt;
&lt;li&gt;UFW and IPVS issues&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  1.2 Kubernetes 1.33.0 Highlights
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In-place vertical scaling&lt;/li&gt;
&lt;li&gt;Sidecar GA&lt;/li&gt;
&lt;li&gt;Indexed Jobs GA&lt;/li&gt;
&lt;li&gt;Improved ServiceAccount token security&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;kubectl&lt;/code&gt; subresource support&lt;/li&gt;
&lt;li&gt;Dynamic Service CIDR expansion&lt;/li&gt;
&lt;li&gt;Enhanced User Namespaces&lt;/li&gt;
&lt;li&gt;OCI image mounting&lt;/li&gt;
&lt;li&gt;Ordered namespace deletion&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2. Software Versions
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OS&lt;/td&gt;
&lt;td&gt;openEuler 22.03 (LTS-SP3) amd64&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Docker&lt;/td&gt;
&lt;td&gt;24.0.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kubernetes&lt;/td&gt;
&lt;td&gt;v1.33.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;KubeSphere&lt;/td&gt;
&lt;td&gt;v4.1.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;KubeKey&lt;/td&gt;
&lt;td&gt;v3.1.9&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  3. Server Planning
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;IP Address&lt;/th&gt;
&lt;th&gt;Hostname&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;192.168.118.180&lt;/td&gt;
&lt;td&gt;k8s-master1&lt;/td&gt;
&lt;td&gt;master&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;192.168.118.181&lt;/td&gt;
&lt;td&gt;k8s-node01&lt;/td&gt;
&lt;td&gt;worker&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;192.168.118.182&lt;/td&gt;
&lt;td&gt;k8s-node02&lt;/td&gt;
&lt;td&gt;worker&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  4. Host Initialization
&lt;/h2&gt;

&lt;h3&gt;
  
  
  4.1 Configure Static IP
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vim /etc/sysconfig/network-scripts/ifcfg-ens33
&lt;span class="nv"&gt;TYPE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;Ethernet
&lt;span class="nv"&gt;PROXY_METHOD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;none
&lt;span class="nv"&gt;BROWSER_ONLY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;no
&lt;span class="nv"&gt;BOOTPROTO&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;static
&lt;span class="nv"&gt;IPADDR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;192.168.118.180
&lt;span class="nv"&gt;NETMASK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;255.255.255.0
&lt;span class="nv"&gt;GATEWAY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;192.168.118.2
&lt;span class="nv"&gt;DNS1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;192.168.118.2
&lt;span class="nv"&gt;DEFROUTE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;yes
&lt;/span&gt;&lt;span class="nv"&gt;IPV4_FAILURE_FATAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;no
&lt;span class="nv"&gt;IPV6INIT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;yes
&lt;/span&gt;&lt;span class="nv"&gt;IPV6_AUTOCONF&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;yes
&lt;/span&gt;&lt;span class="nv"&gt;IPV6_DEFROUTE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;yes
&lt;/span&gt;&lt;span class="nv"&gt;IPV6_FAILURE_FATAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;no
&lt;span class="nv"&gt;IPV6_ADDR_GEN_MODE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;stable-privacy
&lt;span class="nv"&gt;NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;ens33
&lt;span class="nv"&gt;DEVICE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;ens33
&lt;span class="nv"&gt;ONBOOT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;yes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4.2 Disable SELinux
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4.3 Set Hostname
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
hostnamectl set-hostname &amp;lt;hostname&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4.4 Disable Swap for Performance Improvement
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;swapoff -a
vim /etc/fstab
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4.5 Disable Firewalld
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;systemctl stop firewalld
systemctl disable firewalld
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4.6 Install Basic Packages
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yum &lt;span class="nb"&gt;install &lt;/span&gt;curl socat conntrack ebtables ipset ipvsadm &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4.7  Create Data Directories
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;timezone: "UTC"
ntpServers:
  - pool.ntp.org
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  5. Package Preparation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  5.1 Download KubeKey
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;curl -sSL https://get-kk.kubesphere.io | sh -&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5.2 Prepare &lt;code&gt;manifest.yaml&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./kk create manifest --with-kubernetes v1.33.0 --with-registry
vim manifest-sample.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example image sources (use public registries):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;images:
  - docker.io/library/pause:3.9
  - k8s.gcr.io/kube-apiserver:v1.33.0
  - k8s.gcr.io/kube-controller-manager:v1.33.0
  - k8s.gcr.io/kube-scheduler:v1.33.0
  - docker.io/coredns/coredns:1.9.3
  ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5.3 Optional: Export Images (Offline Only)
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;./kk artifact export -m manifest-sample.yaml -o kubesphere.tar.gz&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Optional: Harbor Setup (Offline)
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: Harbor is required only for offline or air-gapped environments.&lt;br&gt;
Online users can skip this section.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  6.1 Create Harbor Config (Optional)
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;./kk create config --with-kubernetes v1.33.0 -f config-sample.yaml&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;registry:
  type: "harbor"
  privateRegistry: "your.harbor.domain"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6.2 Push Images (Optional)
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;./kk artifact image push -f config-sample.yaml -a kubesphere.tar.gz&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Kubernetes Cluster Installation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  7.1 Create Cluster
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;./kk create cluster -f config-sample.yaml --with-local-storage&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  7.2 Verify Cluster
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;kubectl get nodes&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8. KubeSphere Installation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  8.1 Install KubeSphere via Helm
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm upgrade --install -n kubesphere-system --create-namespace ks-core ks-core-1.1.5.tgz \
  --set global.imageRegistry=docker.io/ks \
  --set extension.imageRegistry=docker.io/ks \
  --set ksExtensionRepository.image.tag=v1.1.6 \
  --debug \
  --wait
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  8.2 Verify Deployment
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;kubectl get pods -n kubesphere-system&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Access KubeSphere:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;http://&amp;lt;master-ip&amp;gt;:30880&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Default credentials:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Username: admin
Password: P@88w0rd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  9. Conclusion
&lt;/h2&gt;

&lt;p&gt;You have successfully deployed a high-availability Kubernetes 1.33.0 cluster with KubeKey 3.1.9 and KubeSphere 4.1.3.&lt;/p&gt;

&lt;p&gt;✅ For online deployments, public registries (&lt;code&gt;docker.io&lt;/code&gt;, etc.) are used by default.&lt;br&gt;
✅ For offline deployments, Harbor is supported (optional).&lt;/p&gt;

&lt;p&gt;You can now customize your cluster with advanced storage, networking, and observability as needed.&lt;/p&gt;

&lt;p&gt;Enjoy your cloud-native journey! 🚀&lt;/p&gt;

</description>
      <category>kubekey</category>
      <category>kubesphere</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Upgrade Gateway to v1.0.4</title>
      <dc:creator>kubesphere.io</dc:creator>
      <pubDate>Mon, 07 Apr 2025 06:06:34 +0000</pubDate>
      <link>https://dev.to/palapala/upgrade-gateway-to-v104-fie</link>
      <guid>https://dev.to/palapala/upgrade-gateway-to-v104-fie</guid>
      <description>&lt;h2&gt;
  
  
  Instructions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Important Notes
&lt;/h3&gt;

&lt;p&gt;If custom parameters were set during installation, make sure to back up and reset them during the upgrade:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;helm get values &lt;span class="nt"&gt;-n&lt;/span&gt; kubesphere-system ks-core | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="s1"&gt;'USER-SUPPLIED VALUES'&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; bak-values.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Step 1: Update the Extension Component Repository
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Without custom parameters&lt;/span&gt;
helm upgrade &lt;span class="nt"&gt;--install&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; kubesphere-system &lt;span class="nt"&gt;--create-namespace&lt;/span&gt; ks-core https://charts.kubesphere.io/main/ks-core-1.1.4.tgz &lt;span class="nt"&gt;--debug&lt;/span&gt; &lt;span class="nt"&gt;--wait&lt;/span&gt; &lt;span class="nt"&gt;--set&lt;/span&gt; ksExtensionRepository.image.tag&lt;span class="o"&gt;=&lt;/span&gt;v1.1.4

&lt;span class="c"&gt;# With custom parameters&lt;/span&gt;
helm upgrade &lt;span class="nt"&gt;--install&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; kubesphere-system &lt;span class="nt"&gt;--create-namespace&lt;/span&gt; ks-core https://charts.kubesphere.io/main/ks-core-1.1.4.tgz &lt;span class="nt"&gt;--debug&lt;/span&gt; &lt;span class="nt"&gt;--wait&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; bak-values.yaml &lt;span class="nt"&gt;--set&lt;/span&gt; ksExtensionRepository.image.tag&lt;span class="o"&gt;=&lt;/span&gt;v1.1.4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Step 2: Trigger the Extension Component Repository Update
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl patch repository extensions-museum &lt;span class="nt"&gt;--type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;json &lt;span class="nt"&gt;-p&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'[{"op": "replace", "path": "/status", "value": {}}]'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Update Gateway version to v1.0.4&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fffhrc8x63c2b2n3n40vr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fffhrc8x63c2b2n3n40vr.png" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Update the extension component configuration&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F36bvy9ny5hhpzi49v8qm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F36bvy9ny5hhpzi49v8qm.png" width="800" height="419"&gt;&lt;/a&gt;&lt;br&gt;
Paste the configuration from the Overview -&amp;gt; Upgrade section into the extension component configuration update box&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F615iexoiaq0t4at8j40w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F615iexoiaq0t4at8j40w.png" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwzxm02c2vkz2sbhvhxd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwzxm02c2vkz2sbhvhxd.png" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 3: Upgrade Gateway to Version v1.0.4
&lt;/h3&gt;

&lt;p&gt;After the upgrade, update the Gateway extension component configuration according to the "Upgrade" section on the extension component page.&lt;/p&gt;
&lt;h3&gt;
  
  
  Restart Gateway API Server
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl rollout restart deploy &lt;span class="nt"&gt;-n&lt;/span&gt; extension-gateway gateway-agent-backend-apiserver
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Update Existing Gateway
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;If the Gateway is already enabled in the cluster, the update will cause service interruptions. Please schedule an update window in advance.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  1. Backup Gateway Configuration
&lt;/h3&gt;

&lt;p&gt;Go to the Gateway details page, click Edit, and record the current custom configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4had8ishkfbli3emem6z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4had8ishkfbli3emem6z.png" width="800" height="604"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Record the nodePort (If Port Consistency is Needed)
&lt;/h3&gt;

&lt;p&gt;In Application Load &amp;gt; Services, locate the Gateway service under &lt;code&gt;kubesphere-controls-system&lt;/code&gt;, and record the &lt;code&gt;nodePort&lt;/code&gt; port.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmy4z4kfvlkaq6azm5cgo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmy4z4kfvlkaq6azm5cgo.png" width="800" height="368"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Disable the Gateway
&lt;/h3&gt;

&lt;p&gt;Click Disable on the Gateway details page.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: This step will cause service interruptions.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  4. Re-enable the Gateway
&lt;/h3&gt;

&lt;p&gt;If custom configurations exist, please reset them to ensure that the &lt;code&gt;nodePort&lt;/code&gt; remains consistent (use the "Edit YAML" option to configure if necessary).&lt;/p&gt;
&lt;h2&gt;
  
  
  Check Nginx Ingress Version
&lt;/h2&gt;

&lt;p&gt;Make sure the version is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubesphere-nginx-ingress-4.12.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favdiqig5p152j5ike158.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favdiqig5p152j5ike158.png" width="800" height="604"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>KubeSphere v4.1.3 Open Source Edition Released</title>
      <dc:creator>kubesphere.io</dc:creator>
      <pubDate>Fri, 28 Mar 2025 03:47:58 +0000</pubDate>
      <link>https://dev.to/palapala/kubesphere-v413-open-source-edition-released-4gd4</link>
      <guid>https://dev.to/palapala/kubesphere-v413-open-source-edition-released-4gd4</guid>
      <description>&lt;p&gt;KubeSphere 4.1.3 Open Source Edition is officially released, featuring multiple functionality optimizations and bug fixes to further enhance security and usability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature Optimizations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Optimized the cascading delete logic for enterprise spaces&lt;/strong&gt;
The cascading delete strategy for enterprise spaces has been changed from passive to active to avoid accidental operations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adjusted authorization rules for platform roles and enterprise space roles&lt;/strong&gt;
Further refined RBAC (Role-Based Access Control) authorization rules to improve security.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimized data display on the Pod list page&lt;/strong&gt;
Resource status information is displayed more intuitively, improving usability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Allow users to associate multiple identity providers&lt;/strong&gt;
Users can now bind multiple identity providers (IdP) at the same time, improving flexibility and compatibility.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Support for manually triggering application repository updates&lt;/strong&gt;
Users can now manually refresh the application repository to ensure the latest application version information is retrieved.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New “Access Denied” page&lt;/strong&gt;
Invalid page requests are redirected to an "Access Denied" page.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Bug Fixes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an issue where application instances could not be upgraded.&lt;/li&gt;
&lt;li&gt;Fixed compatibility issues with pre-release Kubernetes versions.&lt;/li&gt;
&lt;li&gt;Fixed configuration issues with LDAP identity providers.&lt;/li&gt;
&lt;li&gt;Fixed issues where images could not be searched from Docker Hub and Harbor.&lt;/li&gt;
&lt;li&gt;Fixed issues with handling special characters in application versions.&lt;/li&gt;
&lt;li&gt;Fixed issues preventing the creation of Ingress when the gateway extension is not installed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation and Upgrade
&lt;/h2&gt;

&lt;p&gt;We welcome all users to download and experience this release, and provide valuable feedback.&lt;/p&gt;

&lt;h3&gt;
  
  
  Important Notes
&lt;/h3&gt;

&lt;p&gt;For more update details, please refer to the &lt;br&gt;
&lt;a href="https://kubesphere.io/docs/v4.1/20-release-notes/release-v413/" rel="noopener noreferrer"&gt;KubeSphere 4.1.3 Release &lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For installation and upgrade instructions, refer to the  &lt;a href="https://kubesphere.io/docs/v4.1/03-installation-and-upgrade/" rel="noopener noreferrer"&gt;Installation Guide&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Direct upgrades from v3.x to v4.x are not yet supported but are planned to be available in the version update later in April.&lt;/p&gt;

&lt;h3&gt;
  
  
  Feedback Channels:
&lt;/h3&gt;

&lt;p&gt;Submit Issues: &lt;a href="https://github.com/kubesphere/kubesphere/issues/new/choose" rel="noopener noreferrer"&gt;GitHub Issues&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Future Outlook
&lt;/h2&gt;

&lt;p&gt;In future version updates, the KubeSphere team will continue to focus on the needs and feedback from the open-source community. We are committed to staying true to our original vision and providing a more stable, secure, and efficient product experience for open-source users. As KubeSphere evolves, we will continue to optimize the platform’s performance and features, especially in terms of usability, security, and multi-cloud environment support, ensuring that users stay ahead in the rapidly changing technological landscape.&lt;/p&gt;

&lt;p&gt;We are grateful for the support and contributions of every KubeSphere user, and we will keep working hard to bring you more surprises and useful features. We look forward to growing and progressing with you in future versions.&lt;/p&gt;

&lt;h1&gt;
  
  
  KubeSphere #Kubernetes #CloudNative #OpenSource #DevOps
&lt;/h1&gt;

</description>
    </item>
  </channel>
</rss>
