いいえ使えますよ(にっこり😇)
結論これまで通り、本番環境の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を使う事ができるので、心配はいりません!