[meta] use a deployment instead of a pod for babybuddy

pull/37/head
Alpha Chen 3 years ago
parent 8efd305e54
commit 57fbe3418b

@ -5,7 +5,7 @@
``` ```
# Install tooling # Install tooling
brew install helm kubernetes-cli terraform brew install kubernetes-cli terraform
# Bootstrapping # Bootstrapping
(cd bootstrap && terraform init && terraform apply) (cd bootstrap && terraform init && terraform apply)
@ -20,6 +20,16 @@ terraform destroy
- https://learnk8s.io/terraform-lke - https://learnk8s.io/terraform-lke
- https://cert-manager.io/docs/tutorials/acme/ingress/ - https://cert-manager.io/docs/tutorials/acme/ingress/
- https://www.linode.com/community/questions/20215/how-to-re-attach-persistent-volume-to-pod-when-claim-is-deleted
> At first I get new PVC uid by command:
> `kubectl get pvc my-pvc-0 -o yaml | grep uid`
> Then I edit new empty volume, what provisioned by CSI Driver and remove claim - pv binding by removing claimRef section in:
> `kubectl edit pv pvc-yyyyyyyyyyyy`
> After that new PV change status to "Available" and can be deleted.
> Then I edit old PV, what I want to bind with pod via new claim and put PVC uid to claimRef section:
> `kubectl edit pv pvc-xxxxxxxxxxx`
> After that, the old volume became associated with the new claim.
## TODO ## TODO

@ -13,20 +13,63 @@ resource "kubernetes_persistent_volume_claim" "babybuddy" {
} }
} }
resource "kubernetes_pod" "babybuddy" { # resource "kubernetes_pod" "babybuddy" {
# metadata {
# name = "babybuddy"
# labels = {
# app = "babybuddy"
# }
# }
# spec {
# container {
# # https://github.com/babybuddy/babybuddy/issues/337
# image = "lscr.io/linuxserver/babybuddy:v1.9.0-ls14"
# image_pull_policy = "Always"
# name = "babybuddy"
# port {
# container_port = 8000
# }
# volume_mount {
# name = "babybuddy"
# mount_path = "/config"
# }
# }
# volume {
# name = "babybuddy"
# persistent_volume_claim {
# claim_name = "babybuddy"
# }
# }
# }
# }
resource "kubernetes_deployment" "babybuddy" {
metadata { metadata {
name = "babybuddy" name = "babybuddy"
}
spec {
selector {
match_labels = {
app = "babybuddy"
}
}
strategy {
type = "Recreate"
}
template {
metadata {
labels = { labels = {
app = "babybuddy" app = "babybuddy"
} }
} }
spec { spec {
container { container {
# https://github.com/babybuddy/babybuddy/issues/337 # https://github.com/babybuddy/babybuddy/issues/337
image = "lscr.io/linuxserver/babybuddy:v1.9.0-ls14" image = "lscr.io/linuxserver/babybuddy:v1.9.0-ls14"
image_pull_policy = "Always"
name = "babybuddy" name = "babybuddy"
image_pull_policy = "Always"
port { port {
container_port = 8000 container_port = 8000
} }
@ -43,6 +86,8 @@ resource "kubernetes_pod" "babybuddy" {
} }
} }
} }
}
}
resource "kubernetes_service" "babybuddy" { resource "kubernetes_service" "babybuddy" {
metadata { metadata {

Loading…
Cancel
Save