バージョン管理とは
ソフトウェア リリースでは、開発チームが更新プログラムや修正プログラムを適用する必要があるエラー、バグ、またはセキュリティ上の欠陥が発生することがよくあります。 ソフトウェアの進化に伴い、新しい機能が追加されます。 これらの更新プログラムと修正プログラムは、ソフトウェアの新しいバージョンとしてリリースされます。 バージョン管理は、ソフトウェア バージョン リリースの追跡と管理が行われる制御されたプロセスです。 ソフトウェアのバージョンは通常、一定の期間サポートされたままであるため、その間にユーザーはソフトウェアを最新バージョンにアップグレードすることができます。
セマンティック バージョニングとは
セマンティック バージョニングは、次のバージョン コンポーネントで構成されるバージョン管理スキームです。
- メジャー バージョンは、ソフトウェアがバージョン 1.0.0 から 2.0.0 に進化するときにリリースされます。 これらのバージョンには通常、以前のバージョンと下位互換性のない破壊的変更が含まれます。
- マイナー バージョンは、ソフトウェアがバージョン 1.0.0 から 1.1.0 に進化するときにリリースされます。 これらのバージョンには通常、新機能が含まれます。
- パッチ バージョンは、ソフトウェアがバージョン 1.0.0 から 1.0.1 に進化するときにリリースされます。 これらのバージョンには通常、バグ修正とセキュリティ更新プログラムが含まれます。
Kubernetes のバージョン管理
Kubernetes では、セマンティック バージョニング スキームが使用されます。 新しい Kubernetes バージョンのリリースは、クラスター内の Kubernetes ランタイムのコンポーネントのみを対象としています。 Kubernetes ランタイムには、次のコンポーネントが含まれています。
- kube-apiserver
- kubelet
- kube-controller-manager
- kube-scheduler
- kube-proxy
Kubernetes ランタイム コンポーネントには、Kubernetes クラスターが実行されているノードのオペレーティング システムの更新やイメージのアップグレードといった、ノードのアップグレードは含まれません。 つまり、個別のアップグレードとパッチを、Kubernetes クラスター コンポーネントと、クラスターをサポートする基盤となる計算ノードに適用する必要があります。