k8s/archive_1

20.EC2 - (k3s) Nginxの起動

YOOANT 2026. 3. 18. 22:04

✅ DeploymentとServiceを活用したWebサーバー(Nginx)の起動

1.Manifestファイルの作成

deployment.yaml

apiVersion: apps/v1
kind: Deployment

# Deploymentの基本情報
metadata:
  name: nginx-deployment # Deployment名

# Deploymentの詳細情報
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx # 以下で定義したPodのうち、「app: nginx」という値を持つPodを選択
      
  # デプロイするPodの定義
  template:
    metadata:
      labels: # ラベル(=カテゴリ)
        app: nginx
    spec:
      containers:
      - name: nginx-container # コンテナ名
        image: nginx # コンテナ作成時に使用するイメージ
        ports:
        - containerPort: 80 # コンテナで使用するポートを明示的に指定

 

service.yaml

apiVersion: v1
kind: Service

# Serviceの基本情報
metadata:
  name: nginx-service # Service名
  
# Serviceの詳細情報
spec:
  type: NodePort # Serviceの種類
  selector:
    app: nginx # 実行中のPodのうち、「app: nginx」という値を持つPodとServiceを紐付け
  ports:
    - protocol: TCP # サービスに接続するためのプロトコル
      port: 80 # Kubernetes内部からServiceに接続するためのポート番号
      targetPort: 80 # マッピングするPodのポート番号
      nodePort: 30000 # 外部からユーザーがアクセスするポート番号

2.Manifestファイルの実行

$ kubectl apply -f deployment.yaml
$ kubectl apply -f service.yaml

3.オブジェクトが正常に作成されたか確認

$ kubectl get pods
$ kubectl get deployment
$ kubectl get service

4.正常に接続できるか確認する

k3sインスタンスの[パブリック IPv4 アドレス:30000]

日本語