ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で入手できます。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Cloud Native EnvironmentでのKubernetesバージョンのアップグレード
イントロダクション
ベスト・プラクティスでは、新しいリリース後すぐにKubernetesクラスタをアップグレードすることをお薦めします。できるだけ早くアップグレードする理由は次のとおりです。
- 最新のセキュリティ修正の適用
- アクセスの安定性とパフォーマンスの向上
- 新機能、API、機能にアクセス
このチュートリアルでは、Oracle CNEクラスタで使用されるKubernetesバージョンをアップグレードする方法を示します。
Oracle CNEの詳細は、現在のリリース・ドキュメント・サイトを参照してください。
目的
このチュートリアルでは、次のことを学習します。
- クラスタ全体にデプロイされたKubernetesバージョンのアップグレード
前提条件
-
最小1つのOracle Linuxインスタンス
-
各システムには、次のものを使用してOracle Linuxがインストールおよび構成されている必要があります。
- sudoアクセスを使用するOracleユーザー・アカウント(インストール中に使用)
- ホスト間の鍵ベースのSSH (パスワードなしSSHとも呼ばれます)
- 動作中のKVM libvirt環境。
Oracle Cloud Native Environmentのデプロイ
ノート:独自のテナンシで実行している場合は、linux-virt-labs
GitHubプロジェクトREADME.mdを読み、演習環境をデプロイする前に前提条件を完了してください。
-
Lunaデスクトップでターミナルを開きます。
-
linux-virt-labs
GitHubプロジェクトをクローニングします。git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
作業ディレクトリに移動します。
cd linux-virt-labs/ocne2
-
必要なコレクションをインストールします。
ansible-galaxy collection install -r requirements.yml
-
演習環境をデプロイします。
ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e install_ocne_rpm=true
無料の演習環境では、追加変数
local_python_interpreter
が必要です。この変数は、localhostで実行されている再生用にansible_python_interpreter
を設定します。この変数は、python3.6モジュールの下にあるOracle Cloud Infrastructure SDK for PythonのRPMパッケージが環境によってインストールされるため必要です。デフォルトのデプロイメント・シェイプでは、AMD CPUおよびOracle Linux 8が使用されます。Intel CPUまたはOracle Linux 9を使用するには、デプロイメント・コマンドに
-e instance_shape="VM.Standard3.Flex"
または-e os_version="9"
を追加します。重要:プレイブックが正常に実行されるまで待機し、一時停止タスクに到達します。プレイブックのこの段階で、Oracle CNEのインストールが完了し、インスタンスの準備ができました。前の再生に注意してください。これは、デプロイするノードのパブリックIPアドレスとプライベートIPアドレス、および演習の実行中に必要なその他のデプロイメント情報を出力します。
Kubernetesクラスタの起動
Kubernetes v1.30に基づく単一のコントロール・プレーンおよびワーカー・ノード・クラスタを、1.31にアップグレードする計画で使用します。
-
ターミナルを開き、SSHを介してocneインスタンスに接続します。
ssh oracle@<ip_address_of_node>
-
クラスタを起動します。
ocne cluster start --version 1.30 -n 1 -w 1 -u false
-
新しいクラスタのkubeconfig環境変数を設定します。
export KUBECONFIG=$(ocne cluster show -C ocne)
ここで、ocneは、指定しないかぎりクラスタのデフォルト名です。その後、
kubectl get nodes
を使用して2つのノードを表示し、それらがバージョン1.30を実行していることを確認できます。
Kubernetesの更新
Kubernetesでは、一度に1つのバージョンを更新する必要があるため、複数のバージョンをアップグレードする必要がある場合は、バージョンごとにこれらのステップを繰り返す必要があります。
-
次のKubernetesバージョンをステージングします。
ocne cluster stage -v 1.31
-
クラスタ・ノードのリストを取得します。
kubectl get nodes
-
使用可能な更新があるかどうかを確認します。
watch ocne cluster info
出力に使用可能な更新があるノード: 2が報告されるまで監視します。監視コマンドを終了するには、
Ctrl-c
と入力します。 -
コントロール・プレーン・ノードを更新します。
まず、クラスタ内のすべてのコントロール・プレーン・ノードを更新する必要があります。
ocne node update -N ocne-control-plane-1
コマンドの終了後、更新が完了するまでに数分かかる場合があります。
kubectl get nodes
を使用して、コントロール・プレーン・ノードのバージョンを確認できます。 -
ワーカー・ノードを更新します。
ocne node update -N ocne-worker-1 --delete-emptydir-data
アップグレードが使用できない、またはクラスタが実行できないという警告が表示された場合は、コマンドを繰り返します。ワーカー・ノードを更新する前に、この小規模なクラスタの安定化に数分かかる場合があります。
ワーカー・ノードでは、
ui
ポッドがemptyDir
ボリュームを使用して実行中のコンテナ間でコンテンツを共有するため、--delete-emptydir-data
オプションが必要です。 -
クラスタ・ノードのバージョンを確認します。
kubectl get nodes
出力に各ノードが予期したバージョンであることが表示されるまで、コマンドを繰り返します。
次のステップ
Oracle CNEクラスタにデプロイされた最新のKubernetesバージョンを維持する方法を理解することで、クラスタが最新のセキュリティおよび安定性の修正で確実に更新されます。
関連リンク
- Oracle Cloud Native Environmentのドキュメント
- Oracle Cloud Native Environmentトラック
- Oracle Linuxトレーニング・ステーション
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Upgrade the Kubernetes Version on Oracle Cloud Native Environment
G32060-01
Copyright ©2025, Oracle and/or its affiliates.