各社の Kubernetes Service のサポートやメンテナンスに関する現状整理


#はじめに


Kubernetes は約3ヵ月ごとにマイナーバージョンがリリースされていますが、
それに対する各社のクラウドサービスでのサポートやメンテナンスに関する現状を確認します。

2019/01/09 時点のスナップショットをとって、明記されている、確認できたものを抜粋します。

# 一覧

Kubernetes のバージョンは、以下のようにカテゴリされます。
バージョンアップという意味では、マイナーバージョンのアップグレードという意図で書きました。

- Major : 1.x.x
- Minor : x.9.x
- Patch : x.x.4...


「-」は、記述が見つけられなかった部分です。
また、表の中の「最新」は、「各サービス内で直近に GA された」を意図しています。

| 項目                                                         | IBM Cloud Kubernetes Service (IKS)                           | Google Kubernetes Engine (GKE)                                                          | Amazon Elastic Container Service for Kubernetes (EKS)                                                   | Azure Kubernetes Service (AKS)                               |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| バージョンサポートポリシー                                   | N-2（最新から3つ）まで                                       | N-1（最新から2つ）まで                                       | -<br />（現状をみると N-1 まで）                             | N-3（最新から4つ）まで                                       |
| 移行期間                                                     | 最新ver導入後、30日                                          | -                                                            | -                                                            | 最新ver通知後、15 日                                         |
| Master Node のマイナーバージョン更新タイミング               | 手動で更新開始                                               | 最新ver導入のたびに順次自動更新<br />（手動で更新開始も可）  | 最新ver導入のたびに順次自動更新<br />（手動で更新開始も可）  | 手動で更新開始<br />（N-4 になると N-3 に自動更新）          |
| Worker Node のマイナーバージョン更新タイミング               | 手動で更新開始                                               | ・定期的な自動更新<br />（ウインドウ設定が可能）<br />Or<br />・手動で更新開始<br />（定期的な自動更新は無効化） | 手動で更新開始                                               | 手動で更新開始                                               |
| Worker Node のマイナーバージョン更新処理                     | ユーザーが設定したノード数内でローリングアップグレード       | ユーザーが設定したノード数内でローリングアップグレード                                                          | ユーザーが設定したノード数内でローリングアップグレード       | Azure 側で新しいノードを追加され、一度に 1 ノードずつ処理を実行 |
| **Version Support**                                          | **IKS**                                                      | **GKE**                                                      | **EKS**                                                      | **AKS**                                                      |
| ~[v1.9](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md#19-release-notes)<br />2017年12年16日<br />リリース | X<br />2018年1年22日サポート開始<br />2018年12月7日サポート終了<br />(v1.12 サポート開始後、約30日間でサポート終了) | O<br />2018年2月5日サポート開始<br />2019年1月中にサポート終了予定 | -                                                            | O                                                            |
| [v1.10](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.10.md#downloads-for-v1100)<br />2018年3月27日<br />リリース | O<br />2018年5月3日サポート開始                              | O<br />2018年5月15日サポート開始                             | O                                                            | O                                                            |
| [v1.11](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#kubernetes-111-release-notes)<br />2018年6月28日リリース | O<br />2018年8月14日サポート開始                             | O<br />2018年10月30日サポート開始                            | O                                                            | O                                                            |
| [v1.12](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.12.md#downloads-for-v1120)<br />2018年9月28日リリース | O<br />2018年11月7日サポート開始                             | -                                                            | -                                                            | -                                                            |
| [v1.13](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.13.md#kubernetes-113-release-notes)<br />2018年12月4日<br />リリース | -                                                            | -                                                            | -                                                            | -                                                            |
| 参考リンク1                                                  | [Version information and update actions](https://console.bluemix.net/docs/containers/cs_versions.html#cs_versions) | [Versioning and Upgrades](https://cloud.google.com/kubernetes-engine/versioning-and-upgrades#available_versions) | [Platform Versions](https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html) | [Azure Kubernetes Service でサポートされている Kubernetes のバージョン](https://docs.microsoft.com/ja-jp/azure/aks/supported-kubernetes-versions) |
| 参考リンク2                                                  | [Updating clusters, worker nodes, and add-ons](https://console.bluemix.net/docs/containers/cs_cluster_update.html#update) | [Upgrading a Cluster](https://cloud.google.com/kubernetes-engine/docs/how-to/upgrading-a-cluster) | [Updating an Amazon EKS Cluster - Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html) | [Azure Kubernetes Service (AKS) クラスターのアップグレード](https://docs.microsoft.com/ja-jp/azure/aks/upgrade-cluster) |
| 参考リンク3                                                  |                                                              | [Auto-upgrading nodes](https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-upgrades) | [Worker Node Updates - Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/update-workers.html) | [kured を使用して Azure Kubernetes Service (AKS) のノードを更新および再起動する](https://docs.microsoft.com/ja-jp/azure/aks/node-updates-kured) |


#さいごに
一覧にしてみると、サポートやメンテナンスポリシーに各社の特色が顕れている気がしました。
GKE の「Worker node auto-upgrades」は便利そうですが、設定に気をつけないとアプリが落ちることになりそうです。

>[なぜGKEのノード自動アップグレードでアプリケーションサービスが停止するのか - Qiita](https://qiita.com/watawuwu/items/b975d4354807b35797dd)

Kubernetes クラスタを運用していくにも、やはり最低でも本番とテストの2クラスタは用意して、稼働確認をすることは必須だと感じました。