Kubernetes1.20以降dockerは使えないのか?

いいえ使えますよ(にっこり😇)

結論これまで通り、本番環境のkubernetesからコンテナレジストリにあるDockerイメージをpullしましょう!

Kubernetes1.20以降で変わる事

詳しい技術やアーキテクチャーはこちらのブログで詳しく解説されているので、打田は実際の運用などについて書きます。

kubernetesが各ノードの中にあるコンテナに命令を出す際に使うランライム( アプリの実行機能部分)にdockerを使わないようにするとの事です。

理由としてはセキュリティ等らしく、実際に本番ノードで使うdocker APIはごく一部なので、余計なAPIを本番ノードに残すのは危険という見方ですね👀

おすすめの開発環境運用方法

  • ローカル環境 → これまで通りdocker-composeとDockerfileを組み合わせる
  • 本番環境 → 諸々の準備を簡単にやってくれるGKEなどのマネージメントサービス
  • 本番環境に対応できるdockerイメージの作成(これ重要)

本番環境に対応できるdockerイメージとは

色々な方法がありますが、本番環境に対応できる環境変数を持ったdockerイメージを設計する事が重要になってきます。

具体的にはAPIサーバーだと、DBのアクセス情報などをDockerfileのARGで設定して、ビルド時の引数で変化させられると、そのまま本番環境のkubernetesで使用できるdockerイメージを作る事ができれば、kubernetes1.20以降も継続してdockerを使う事ができるので、心配はいりません!

英語圏アプリで会社や嫌な取引先に依存しない収入を作りませんか?
その裏側を紹介するメールマガジンを配信しているので、ご興味あれば覗いてみてくださいね。