[英]How to persist files and/or folders into google compute engine persistent disk for use in GKE?
我有一個 GKE 集群和一個由 terraform 創建的谷歌計算引擎永久磁盤。 此磁盤用於創建 kubernetes 持久卷,然后將其聲明並安裝到 pod 中的容器。
我想要做的是在該永久磁盤中保留一些文件和文件夾,以便在安裝它時,我的容器能夠訪問這些文件和文件夾。 我試圖研究,似乎這樣做的方法是將磁盤安裝到計算引擎甚至容器上,然后從本地復制並粘貼到那里。
有沒有更好的辦法? 最好使用 terraform。
這就是這些資源的定義方式。
resource "google_compute_disk" "app" {
name = "app-${var.project_id}"
type = "pd-standard"
zone = var.zone
size = var.volume_size_gb
labels = {
environment = var.environment
}
}
resource "kubernetes_persistent_volume" "app" {
metadata {
name = "app-${var.project_id}"
}
spec {
access_modes = ["ReadWriteOnce"]
capacity = {
storage = "${var.volume_size_gb}Gi"
}
persistent_volume_source {
gce_persistent_disk {
pd_name = google_compute_disk.app.name
fs_type = "ext4"
}
}
storage_class_name = "standard"
}
}
resource "kubernetes_persistent_volume_claim" "app" {
metadata {
name = "app-${var.project_id}"
}
spec {
access_modes = ["ReadWriteOnce"]
resources {
requests = {
storage = "${var.volume_size_gb}Gi"
}
}
volume_name = kubernetes_persistent_volume.app.metadata.0.name
storage_class_name = "standard"
}
}
resource "kubernetes_deployment" "core_app" {
metadata {
name = "core-app"
labels = {
app = "core"
}
}
spec {
replicas = 1
selector {
match_labels = {
app = "core"
}
}
template {
metadata {
labels = {
app = "core"
}
}
spec {
volume {
name = "app-volume"
persistent_volume_claim {
claim_name = kubernetes_persistent_volume_claim.app.metadata.0.name
}
}
container {
name = "core-app"
image = "core-image:latest"
port {
container_port = 8080
}
volume_mount {
mount_path = "/mnt/extra-addons"
name = "app-volume"
sub_path = "addons"
}
readiness_probe {
tcp_socket {
port = "8069"
}
initial_delay_seconds = 5
period_seconds = 10
}
image_pull_policy = "Always"
}
}
}
}
}
方法是正確的。 如果要初始化磁盤:
現在關於 Terraform,我有一個意見,現在給你真正的答案。 Terraform 是一個 IaC 工具:基礎設施即代碼。 這意味着:致力於基礎設施。
在您的情況下,您想要執行“軟件部署”。 你部署的 K8S 資源,還有磁盤准備和掛載等。 IMO,Terraform 不是適合此問題的工具。 您還有其他工具,例如 Ansible,它們更適合軟件/操作系統管理。
注意:我確信使用 Terraform 0.13 或 0.14 可以創建可以執行並實現所需的腳本,但我認為這不是正確的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.