本文へスキップ
BecomeCoder

Kubernetesコース · 第6章 運用と実践 ― 現場で使うために · レッスン34

実践ワークフローと次の一歩

ブラウザで完結

導入

最後に、ここまでの部品が実際の開発からデプロイまででどうつながるのかを一枚の流れにまとめ、現場で毎日使う kubectl コマンドを手元に置ける形で整理します。そして、この先さらに学ぶための道しるべを示して締めくくります。

説明

典型的な「コードを書いてから本番で動くまで」の流れはこうです。

flowchart LR
    Code["コードを書く"] --> Img["コンテナイメージを<br/>ビルド"]
    Img --> Push["レジストリへ<br/>push(保管)"]
    Push --> Apply["マニフェスト/Helmを<br/>apply(適用)"]
    Apply --> Run["クラスタでPodが稼働"]
    Run -.->|CI/CDが自動化| Img
  • レジストリ(registry) … ビルドしたイメージを保管する倉庫(Docker Hub や各クラウドのレジストリ)。
  • CI/CDテスト・ビルド・デプロイを自動で回す仕組み。人手の apply を自動化します。
  • GitOps … 「クラスタのあるべき状態」を Git リポジトリに書き、それに実際のクラスタを自動で一致させる運用手法。Argo CD などのツールが、Git の内容を見て自動で apply します。

日々の運用で最も使う kubectl コマンドを一覧にしておきます。

コマンド何をするか
kubectl get <種類>リソース一覧を見る(例 get pods
kubectl describe <種類> <名前>詳細と最近のイベントを見る(原因調査の起点)
kubectl logs <Pod名>コンテナのログを見る
kubectl apply -f <ファイル>マニフェストを適用する(作成・更新)
kubectl rollout status/undo <種類>更新の進捗確認・切り戻し
kubectl exec -it <Pod名> -- sh動いているコンテナの中に入る
kubectl top <種類>CPU/メモリ使用量を見る(metrics-serverが必要)

多くの現場では、クラスタの土台を自前で運用せず、クラウドのマネージド k8s を使います。AWS の EKS、Google Cloud の GKE、Azure の AKS が代表で、コントロールプレーン(クラスタの頭脳)の面倒をクラウドが見てくれるため、私たちはアプリに集中できます。

これでこのリファレンスの一巡は完了です。Pod から始まり、Deployment・Service・Ingress・ConfigMap・Secret・Volume・RBAC・Helm まで、k8s の主要な部品とその「なぜ」を通しで見てきました。

次の一歩 手を動かすなら、まずローカルで軽量な k8s(minikubekind、Docker Desktop の Kubernetes)を立て、この教材の YAML を kubectl apply して観察するのが近道です。体系的に深めたいときは Kubernetes 公式ドキュメント が最も確かな一次資料です。実力を証明したい・仕事で使うなら、認定資格 CKA(Certified Kubernetes Administrator)CKAD(アプリ開発者向け) を目標に据えると、学ぶ範囲の地図になります。

実際に動かしてみよう

上がマニフェスト(YAML)エディタ、下が kubectl の端末です。エディタの内容は `manifest.yaml` として保存され、下で `kubectl apply -f manifest.yaml` を実行するとクラスタに反映されます(pod.yaml / deploy.yaml / service.yaml も最初から置いてあります)。`kubectl get pods` / `describe` / `scale` / `rollout` などで結果を確かめましょう(本物のKubernetesではなく、動きを再現した軽量なシミュレータです)。各レッスンは毎回まっさらな状態から始まり、「最初からやり直す」で戻せます。

kubectl(シミュレート)

マニフェスト(YAML)を書いて kubectl コマンドを試せる学習用クラスタを読み込みます(本物のKubernetesではなく、apply/get/describe/scale/rollout などの動きを再現した軽量な自作シミュレータです)。
スクロールして表示された時点でも自動で読み込まれます。