小编Ran*_*sts的帖子

如何为 GKE 上运行的 kubernetes 服务定义服务标签

我正在创建一个 kubernetes 集群来托管服务,并添加一个内部负载均衡器来在我的 VM 实例和 kubernetes 集群之间路由流量。我想向负载均衡器前端添加服务标签,以便我可以使用 dns 名称而不是 IP 地址。但我不知道用于添加服务标签的注释?我的 terraform 配置如下所示

知道在哪里可以找到支持的注释列表

resource "kubernetes_manifest" "service_ilb" {
  provider = kubernetes-alpha

  manifest = {
    "apiVersion" = "v1"
    "kind"       = "Service"

    "metadata" = {
      "name"      = "ilb-service"
      "namespace" = var.namespace

      "annotations" = {
        "cloud.google.com/load-balancer-type"                          = "Internal"
        "networking.gke.io/internal-load-balancer-allow-global-access" = "true"
        "networking.gke.io/internal-load-balancer-subnet"              = var.subnetwork
        # Does not work
        "networking.gke.io/internal-load-balancer-service-label"       = "my-dns-name" 
      }
      "labels" = {
        "app.kubernetes.io/component" = "rabbitmq-server"
        "app.kubernetes.io/name"      = "rabbitmq-instance"
      }
    }

    "spec" = {
      "type" = "LoadBalancer"

      "ports" = [
        { …
Run Code Online (Sandbox Code Playgroud)

kubernetes google-kubernetes-engine terraform terraform-provider-kubernetes

9
推荐指数
0
解决办法
441
查看次数

是否可以在 GKE 的区域集群中创建仅区域节点池?

我有一个用于冗余的区域集群。在此集群中,我想在该区域的 1 个区域中创建一个节点池。这个配置可以吗?我尝试这样做的原因是,我想在 1 个区域中运行像 RabbitMQ 这样的服务以避免分裂,并且我的应用程序服务在该区域的所有区域上运行以实现冗余。

我正在使用 terraform 创建集群和节点池,下面是我用于创建区域集群和区域节点池的配置

resource "google_container_cluster" "regional_cluster" {
  provider       = google-beta
  project        = "my-project"
  name           = "my-cluster"
  location       = "us-central1"
  node_locations = ["us-central1-a", "us-central1-b", "us-central1-c"]

  master_auth {
    username = ""
    password = ""

    client_certificate_config {
      issue_client_certificate = false
    }
  }
}

resource "google_container_node_pool" "one_zone" {
  project            = google_container_cluster.regional_cluster.project
  name               = "zone-pool"
  location           = "us-central1-b"
  cluster            = google_container_cluster.regional_cluster.name

  node_config {
    machine_type    = var.machine_type
    image_type      = var.image_type
    disk_size_gb    = 100
    disk_type       = "pd-standard"
  }
}

Run Code Online (Sandbox Code Playgroud)

这会引发错误消息 …

kubernetes google-kubernetes-engine terraform

4
推荐指数
1
解决办法
1105
查看次数

如何向 kubernetes ManagedCertificate 添加新的子域?

我正在使用 K8s ManagedCertificate 在 GCE 上创建证书。我想向我的证书添加一个新的子域,因此更新 yaml 文件并应用 kubectl。我尝试描述我的证书以查看是否一切正常,但发现错误

Warning  BackendError  16m (x144 over 36h)  managed-certificate-controller  googleapi: Error 400: The ssl_certificate resource '< redated >' is already being used by '< redated >', resourceInUseByAnotherResource
Run Code Online (Sandbox Code Playgroud)

另外,在描述中,我没有看到我尝试添加为活动状态的新子域。

Spec:
  Domains:
    web.sub1.domain1.com
    web.sub1.domain2.com
    web.newsub.domain2.com
    web.sub2.domain2.com
    web.sub1.domain3.com
Status:
  Certificate Name:    < redated >
  Certificate Status:  Active
  Domain Status:
    Domain:     web.sub1.domain1.com
    Status:     Active
    Domain:     web.sub1.domain2.com
    Status:     Active
    Domain:     web.sub2.domain2.com
    Status:     Active
    Domain:     web.sub1.domain3.com
    Status:     Active
  Expire Time:  2021-07-30T00:54:02.000-07:00
Run Code Online (Sandbox Code Playgroud)

google-compute-engine kubernetes google-kubernetes-engine

3
推荐指数
1
解决办法
484
查看次数

terraform 手动安装插件失败

我正在使用 terraform 0.13.0 并尝试使用 kubernetes-alpha 提供程序(https://github.com/hashicorp/terraform-provider-kubernetes-alpha)。我下载了 Mac 的插件并将插件复制到 ~/.terraform.d/plugins 目录

当我运行 terraform init 时,它没有找到本地插件,而是试图从 hashicorp 站点找到

terraform init
2020/08/21 16:42:58 [WARN] Log levels other than TRACE are currently unreliable, and are supported only for backward compatibility.
  Use TF_LOG=TRACE to see Terraform's internal logs.
  ----
2020/08/21 16:42:58 [INFO] Terraform version: 0.13.0
2020/08/21 16:42:58 [INFO] Go runtime version: go1.14.2
2020/08/21 16:42:58 [INFO] CLI args: []string{"<$HOME>/bin/terraform", "init"}
2020/08/21 16:42:58 [DEBUG] Attempting to open CLI config file: <$HOME>/.terraformrc
2020/08/21 16:42:58 Loading CLI …
Run Code Online (Sandbox Code Playgroud)

macos kubernetes terraform terraform-provider-gcp terraform-provider-kubernetes

2
推荐指数
1
解决办法
2379
查看次数

在脚本中处理 kubectl 上下文有哪些良好实践?

我的 bash 脚本kubectl有时会在更改上下文时引起麻烦。运行脚本后,用户可能会意外地在错误的集群中进行更改。我想探讨一下您在处理脚本中的上下文方面的智慧。

脚本是否可以保存旧上下文并在完成后恢复旧上下文?(我考虑过运行kubectl config get-contexts查找当前上下文并在脚本完成后将其设置回来。但是如果用户尚未保存上下文,这可能会失败)

我想到的其他方法是保存 KUBECONFIG env var 的值,将其更改为临时文件,获取凭据并在脚本完成时恢复该值。

在我重新发明轮子之前,我想了解一下高级用户是如何处理这样的情况的?你能分享你的想法/想法吗?

bash kubernetes kubectl

2
推荐指数
1
解决办法
461
查看次数