變更 Kubernetes 套件儲存庫

此頁面說明在升級叢集時,如何為所需的 Kubernetes 次要版本啟用套件儲存庫。這僅適用於使用託管在 `pkgs.k8s.io` 的社群擁有套件儲存庫的使用者。與舊版套件儲存庫不同,社群擁有套件儲存庫的結構方式是每個 Kubernetes 次要版本都有一個專用的套件儲存庫。

開始之前

本文件假設您已在使用社群擁有的套件儲存庫 (`pkgs.k8s.io`)。如果不是這種情況,強烈建議遷移到社群擁有的套件儲存庫,如官方公告中所述。

驗證是否使用 Kubernetes 套件儲存庫

如果您不確定您使用的是社群擁有的套件儲存庫還是舊版套件儲存庫,請按照以下步驟進行驗證:

印出定義 Kubernetes `apt` 儲存庫的檔案內容

# On your system, this configuration file could have a different name
pager /etc/apt/sources.list.d/kubernetes.list

如果您看到類似於以下的行:

deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /

您正在使用 Kubernetes 套件儲存庫,本指南適用於您。 否則,強烈建議遷移到 Kubernetes 套件儲存庫,如官方公告中所述。

印出定義 Kubernetes `yum` 儲存庫的檔案內容

# On your system, this configuration file could have a different name
cat /etc/yum.repos.d/kubernetes.repo

如果您看到類似於以下輸出中 `baseurl` 的 `baseurl`:

[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl

您正在使用 Kubernetes 套件儲存庫,本指南適用於您。 否則,強烈建議遷移到 Kubernetes 套件儲存庫,如官方公告中所述。

印出定義 Kubernetes `zypper` 儲存庫的檔案內容

# On your system, this configuration file could have a different name
cat /etc/zypp/repos.d/kubernetes.repo

如果您看到類似於以下輸出中 `baseurl` 的 `baseurl`:

[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl

您正在使用 Kubernetes 套件儲存庫,本指南適用於您。 否則,強烈建議遷移到 Kubernetes 套件儲存庫,如官方公告中所述。

切換到另一個 Kubernetes 套件儲存庫

應該在從一個 Kubernetes 次要版本升級到另一個次要版本時執行此步驟,以便存取所需 Kubernetes 次要版本的套件。

  1. 使用您選擇的文字編輯器開啟定義 Kubernetes `apt` 儲存庫的檔案

    nano /etc/apt/sources.list.d/kubernetes.list
    

    您應該看到一行包含 URL,其中包含您目前的 Kubernetes 次要版本。例如,如果您使用 v1.31,您應該看到這個:

    deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /
    
  2. 將 URL 中的版本變更為下一個可用的次要版本,例如:

    deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /
    
  3. 儲存檔案並退出文字編輯器。繼續依照相關的升級指示進行。

  1. 使用您選擇的文字編輯器開啟定義 Kubernetes `yum` 儲存庫的檔案

    nano /etc/yum.repos.d/kubernetes.repo
    

    您應該看到一個檔案,其中包含兩個 URL,其中包含您目前的 Kubernetes 次要版本。例如,如果您使用 v1.31,您應該看到這個:

    [kubernetes]
    name=Kubernetes
    baseurl=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/
    enabled=1
    gpgcheck=1
    gpgkey=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/repodata/repomd.xml.key
    exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
    
  2. 將這些 URL 中的版本變更為下一個可用的次要版本,例如:

    [kubernetes]
    name=Kubernetes
    baseurl=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/
    enabled=1
    gpgcheck=1
    gpgkey=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/repodata/repomd.xml.key
    exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
    
  3. 儲存檔案並退出文字編輯器。繼續依照相關的升級指示進行。

接下來的步驟

上次修改於 2024 年 9 月 13 日下午 4:59 PST: Reorganize kubeadm node tasks (c8bb00db5d)