Docker Desktop で Kubernetes 環境を構築する方法について、IT担当者の皆さんに向けてご紹介します。近年、コンテナ技術の普及に伴い、多くの企業がDocker とKubernetes を活用したアプリケーション開発・運用に取り組んでいます。しかし、これらの技術を導入する際には、適切な環境構築が不可欠です。そこで今回は、Docker Desktop を使ってKubernetes 環境を簡単に構築する方法をステップバイステップでお伝えします。
まず、Docker Desktop のインストールから始めましょう。公式サイトからお使いのOSに合わせたバージョンをダウンロードし、インストールします。インストールが完了したら、Docker Desktop を起動し、設定画面を開きます。ここで重要なのが、Kubernetes の有効化です。設定画面の「Kubernetes」タブを選択し、「Enable Kubernetes」にチェックを入れます。その後、「Apply & Restart」をクリックすると、Kubernetes のインストールが始まります。
Kubernetes のインストールには少し時間がかかりますが、完了すると Docker Desktop の下部に Kubernetes アイコンが表示され、緑色になります。これで、ローカル環境に Kubernetes クラスターが構築されました。
次に、kubectl コマンドラインツールの設定を行います。kubectl は Kubernetes クラスターを操作するための主要なツールです。Docker Desktop をインストールすると、自動的に kubectl もインストールされますが、念のため以下のコマンドでバージョンを確認しておきましょう。
kubectl version --client
バージョンが表示されれば、kubectl のインストールは完了しています。
ここからは、実際に Kubernetes 上でアプリケーションを動かしてみましょう。例として、簡単な Nginx ウェブサーバーをデプロイします。まず、以下の内容で deployment.yaml ファイルを作成します。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
このファイルを保存したら、以下のコマンドでデプロイメントを作成します。
kubectl apply -f deployment.yaml
デプロイメントが作成されたら、以下のコマンドでポッドの状態を確認できます。
kubectl get pods
3つの Nginx ポッドが Running 状態になっていれば成功です。
最後に、これらのポッドにアクセスするためのサービスを作成します。以下の内容で service.yaml ファイルを作成します。
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
type: LoadBalancer
ports:
- protocol: TCP
port: 80
targetPort: 80
このファイルを保存し、以下のコマンドでサービスを作成します。
kubectl apply -f service.yaml
サービスが作成されたら、以下のコマンドで確認できます。
kubectl get services
EXTERNAL-IP 列に localhost が表示されていれば、ブラウザから http://localhost にアクセスすることで、Nginx のウェルカムページが表示されるはずです。
以上が Docker Desktop を使った Kubernetes 環境の構築手順です。この環境を使えば、本番環境に近い形でアプリケーションのテストや開発を行うことができます。チーム内で統一された環境を簡単に共有できるため、「自分の環境では動くのに…」といったトラブルも減らすことができるでしょう。
Kubernetes の学習曲線は決して緩やかではありませんが、Docker Desktop を使えば、比較的簡単に始められます。この記事で解説した Docker Desktop を使用した Kubernetes 環境の構築方法は、IT担当者にとって非常に有用です。この環境構築により、本番環境に近いテストや開発が可能になり、チーム内での統一された環境共有も容易になります。ぜひ、この機会に Kubernetes 環境の構築にチャレンジしてみてください。