⑥Docker・コンテナ

Kubernetesの基礎を学ぶ【Dockerの次のステップ・k8s入門】

⑥Docker・コンテナ
記事内に広告が含まれています。

KubernetesはOCIコンテナ(Dockerイメージを含む)の大規模管理・自動化のデファクトスタンダードです。この記事ではk8sの基礎概念とminikubeでのローカル学習環境を解説します。

Kubernetesの主要リソース

リソース 役割
Pod コンテナの最小単位(1つ以上のコンテナをまとめる)
Deployment Podの管理・スケーリング・ローリングアップデート
Service Podへのネットワークアクセスを管理・負荷分散
ConfigMap 設定情報を管理(環境変数など)
Secret パスワードなど機密情報を管理
Namespace リソースを論理的に分離する

minikubeでローカルk8sを試す

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start
kubectl get nodes
kubectl get pods
kubectl apply -f deployment.yaml

Docker SwarmとKubernetesの比較

比較項目 Docker Swarm Kubernetes
学習コスト 低い 高い
機能の豊富さ 基本的 非常に豊富
採用実績 中小規模 大規模・企業向け
エコシステム 限定的 非常に充実

まとめ

  • KubernetesはOCIコンテナ(Dockerイメージを含む)の大規模管理・自動化のデファクトスタンダード
  • Pod・Deployment・Serviceの3リソースを理解することが入門の第一歩
  • minikubeでローカル環境でk8sを学べる
  • 補足:KubernetesはDockerエンジン自体をランタイムとして使う前提ではなく、v1.24以降はdockershimが削除されています。実行時には主に containerdCRI-O などのCRI(コンテナランタイムインターフェース)が使われます。

コメント

タイトルとURLをコピーしました