terraform + minikube
date: 2024-01-12 excerpt: terraform + minikubeの基本的な使い方
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