Kubernetes(k8s) Dockerイメージ デプロイ方法【完全ガイド】
Kubernetes上でDockerイメージをデプロイする手順は以下の通りです:
- 最初に、Kubernetesクラスターがインストールおよび構成されていることを確認してください。
- Deploymentオブジェクトを作成し、そこには展開するアプリケーションに関する情報が記載されています。spec内にPodテンプレートを定義し、その中にコンテナイメージやコンテナポートなどの関連情報を記述します。
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: your-docker-image
ports:
- containerPort: 80
- kubectlコマンドを使って、そのDeploymentオブジェクトをKubernetesクラスターにデプロイします。
kubectl apply -f deployment.yaml
- Podが起動して実行されるのを待つ場合は、次のコマンドを使用してPodの状態を確認できます:
kubectl get pods
- Deploymentのサービスを外部からアクセス可能にする必要がある場合、Serviceオブジェクトを作成し、Deploymentに関連付けることができます。Serviceオブジェクトのspec内にあるselectorをDeploymentのlabelsと一致させてください。
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 80
type: NodePort
- kubectlコマンドを使用して、そのServiceオブジェクトをKubernetesクラスターにデプロイします。
kubectl apply -f service.yaml
- Serviceの作成が完了した後、以下のコマンドを使用してNodePortポートを確認できます。
kubectl get svc my-service
今、あなたはDockerイメージをKubernetesクラスターにデプロイし、NodePortポートを使用してそのサービスにアクセスできるようになりました。