Tech Blog

プログラミングと技術の情報サイト

KubernetesでコンテナをOrchestrate入門

KubernetesでコンテナをOrchestrate入門

Kubernetes(K8s)は複数のコンテナを自動でデプロイ・スケーリング・管理するオーケストレーションツールです。 Dockerで作ったコンテナを本番環境で安定稼働させるためのデファクトスタンダードとなっています。

主要なリソース

  • Pod: コンテナの最小実行単位
  • Deployment: Podの宣言的管理・ローリングアップデート
  • Service: Podへのネットワークアクセスを提供
  • ConfigMap / Secret: 設定値や機密情報の管理
  • Ingress: 外部からのHTTPルーティング

Deploymentのマニフェスト例

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web-app
  template:
    metadata:
      labels:
        app: web-app
    spec:
      containers:
      - name: web
        image: myapp:latest
        ports:
        - containerPort: 8080
        resources:
          requests:
            memory: "64Mi"
            cpu: "250m"
          limits:
            memory: "128Mi"
            cpu: "500m"

基本的なkubectlコマンド

# リソースの適用
kubectl apply -f deployment.yaml

# Podの状態確認
kubectl get pods

# ログの確認
kubectl logs <pod-name>

# Podに入る
kubectl exec -it <pod-name> -- /bin/sh

まとめ

Kubernetesは学習コストが高いですが、スケーラブルなサービス運用には強力なツールです。 まずminikubeやkindでローカル環境を構築し、基本概念を手を動かして学ぶのが効果的です。

← 記事一覧に戻る