【Kubernetes初めの一歩】Kubernetesって何?

2021.10.02
2024.03.24
Kubernetes
nginx

本ページはAmazonアフィリエイトのリンクを含みます。

はじめに

Kubernetesについて、これから勉強を始める人向けに「Kubernetesって何?」や「そもそもなんて読むの?k8sは?」みたいな基本的なことを簡単にまとめます。

Kubernetesとは

Kubernetesとは、コンテナの運用を自動化するためのコンテナオーケストレーションシステムです。コンテナでの運用をいろいろ楽にしてくれるプラットフォームになります。

Googleが社内向けコンテナオーケストレーションシステムとして開発・利用していたものを2014年にオープンソース化しました。

プロダクショングレードのコンテナ管理基盤

プロダクショングレードのコンテナ管理基盤

プロダクショングレードのコンテナ管理基盤

読み方・書き方

まず最初に戸惑うのが読み方です。

以下のように読まれます。

  • クーバネティス
  • クバネテス

また、Kubernetesと長いので、k8sと略されることもあります。

どんなことができるか

Kubernetesのドキュメントより、Kubernetesでは以下のようなことができます。

  • サービスディスカバリーと負荷分散
  • ストレージ オーケストレーション
  • 自動化されたロールアウトとロールバック
  • 自動ビンパッキング
  • 自己修復
  • 機密情報と構成管理

これからもわかるようにKubernetesでは、コンテナを利用してサービスを公開・負荷分散し、コンテナを自動的に再起動して修復したりと、コンテナ運用上で楽になる機能が備わっています。

クラウドサービスのKubernetes

KubernetesはOSSなので自前で環境を構築することもできますが、GCP/AWS/AzureなどのパブリッククラウドでもKubernetesのマネージドサービスが提供されています。

  • GCP: GKE
  • AWS: Amozon EKS
  • Azure: AKS

何はともあれ動かしてみる

まずはとにかくローカルでKubernetesを動かしてみたいと思います。

Kubernetesの機能は多岐に渡るので、今回はコンテナを1つだけ実行してみることにします。

準備

ローカルでKubernetesを動かすために、Docker DesktopでKubernetes環境を構築します。

Docker Desktopのインストールについては、下記で説明しています。

いまさらDocker入門

いまさらDocker入門

:::affiliate-message 本ページはAmazonアフィリエイトのリンクを含みます。

以下のようにDockerの設定画面からKubernetesを有効化します。

次に、Kubernetesのコマンドラインツールであるkubectlをインストールします。

1❯ brew install kubectl

Pod(コンテナ)の実行

Podと呼ばれるコンテナの集合体を実行します。 ここではnginxのイメージを利用しています。

1❯ kubectl run demo --image=nginx --labels app=demo
2pod/demo created

正常に実行できたか確認します。

1❯ kubectl get pods --selector app=demo
2NAME   READY   STATUS    RESTARTS   AGE
3demo   1/1     Running   0          8s

ローカルマシンの8080ポートからコンテナの80ポートに転送します。

1❯ kubectl port-forward demo 8080:80
2Forwarding from 127.0.0.1:8080 -> 80
3Forwarding from [::1]:8080 -> 80
4Handling connection for 8080
5Handling connection for 8080

ブラウザからhttp://localhost:8080/にアクセスするとnginxの画面が確認できます。

まとめ

  • Kubernetesはコンテナの運用を自動化するためのコンテナオーケストレーションシステム

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee