• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

terraform + minikube

date: 2024-01-12 excerpt: terraform + minikubeの基本的な使い方

tag: terraformminikubekubernetes


terraform + minikubeの基本的な使い方

概要

  • terraformでminikube上にnginxをデプロイする

インストール

nix

$ nix-env -iA nixpkgs.terraform
$ nix-env -iA nixpkgs.minikube
$ nix-env -iA nixpkgs.kubectl

minikubeの起動

$ minikube start

nginxのデプロイ

provider.tf

provider "kubernetes" {
  config_path = "~/.kube/config"
}

main.tf

resource "kubernetes_namespace" "example" {
  metadata {
    name = "example"
  }
}

resource "kubernetes_deployment" "nginx" {
  metadata {
    name = "nginx-deployment"
    namespace = kubernetes_namespace.example.metadata[0].name
  }

  spec {
    replicas = 2

    selector {
      match_labels = {
        app = "nginx"
      }
    }

    template {
      metadata {
        labels = {
          app = "nginx"
        }
      }

      spec {
        container {
          image = "nginx:1.14.2"
          name  = "nginx"
        }
      }
    }
  }
}

apply

$ terraform init
$ terraform apply

デプロイメントの確認

$ kubectl get deployment -n example

ポッドの状態確認

$ kubectl get pods -n example

nginx サーバへのアクセス

$ kubectl port-forward <pod-name> 8080:80 -n example
$ curl localhost:8080


terraformminikubekubernetes Share Tweet