小编Sun*_*ula的帖子

如何在 terraform 中运行 kubectl apply 命令

我开发了一个 terraform 脚本来在 GKE 上创建一个 k8 集群。

成功创建集群后,我有一组要应用于 k8 集群的 yaml 文件。

如何在我的 terraform 脚本中调用以下命令?

kubectl create <.yaml>
Run Code Online (Sandbox Code Playgroud)

kubernetes google-kubernetes-engine terraform

21
推荐指数
3
解决办法
2万
查看次数

是否可以创建具有内部 IP 的 GKE 入口控制器?

当我创建 GKE 入口控制器时,默认情况下它会创建一个公共 IP。是否可以创建具有内部 IP 的 GKE 入口控制器?

我已将我的服务公开为 Ingress 类型,我没有选项来指定我的 IP 必须是内部还是外部。

但是,如果我将我的服务公开为 LoadBalancer,我可以指定 IP 类型。注释:cloud.google.com/load-balancer -type:“内部”

google-cloud-platform google-kubernetes-engine kubernetes-ingress nginx-ingress

6
推荐指数
1
解决办法
6948
查看次数

如何在 Kubernetes 中合并 ConfigMap 的内容

我们在以下文件中指定了应用程序特定的属性

application.properties
application-dev.properties
application-qa.properties
Run Code Online (Sandbox Code Playgroud)

在 kubernetes 中创建 configmap 时,我想将内容合并到一个文件中。是否可以合并内容?

我知道我们可以通过 kustomize 来实现。然而,我们使用的是 Helm Charts,而不是使用 kustomize。

https://github.com/kubernetes-sigs/kustomize/blob/master/examples/combineConfigs.md

kubernetes configmap

5
推荐指数
1
解决办法
5623
查看次数

Helm 图表中的多个环境变量

我已经创建了通用的舵图。在values.yml文件中,我有一组需要设置为 deployment.yaml 文件一部分的环境变量。

值文件的片段。

env:
  name: ABC
  value: 123
  name: XYZ
  value: 567
  name:  PQRS
  value: 345

Run Code Online (Sandbox Code Playgroud)

在 deployment.yaml 中,当引用值时,只会设置最后一个名称/值,其他值会被覆盖。如何读取/设置部署文件中的所有名称/值?

kubernetes kubernetes-helm

4
推荐指数
2
解决办法
5995
查看次数

Helm - Configmap - 仅替换文件内容而不替换文件名

我已经在配置目录中定义了 application.properties 文件。配置目录位于以下结构中。

config
  application.properties
  application-test.properties
  application-dev.properties
  application-prod.properties
Run Code Online (Sandbox Code Playgroud)

我创建了一个舵图来创建配置图。Helm图表定义如下

apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-configmap
data:
  {{- (.Files.Glob "config/*").AsConfig | nindent 2 }}
Run Code Online (Sandbox Code Playgroud)

我看到配置映射已创建。

我们使用该envFrom属性通过正在运行的容器中的环境变量来使用 ConfigMap。(这在我的部署 yaml 文件中)

spec:
   containers:
   - envFrom:
     - configMapRef:
         name: nginx-configmap
Run Code Online (Sandbox Code Playgroud)

我看到这些值存储为环境变量。然而,变量都是小写的。

server.port=8080
server.name=localhost
Run Code Online (Sandbox Code Playgroud)

由于这些是环境变量,因此它们必须是大写的并且 . 应替换为 _。所以,我修改了我的图表如下

data:
  {{- (.Files.Glob "config/*").AsConfig | nindent 2 | upper | replace "." "_" }}

Run Code Online (Sandbox Code Playgroud)

生成的configmap如下

  APPLICATION_PROPERTIES: |
    SERVER_PORT = 8080
    SERVER_NAME = LOCALHOST
Run Code Online (Sandbox Code Playgroud)

以下是容器内的环境变量

APPLICATION_PROPERTIES=SERVER_PORT = 8080
SERVER_NAME = LOCALHOST
Run Code Online (Sandbox Code Playgroud)

我的要求是只有文件的内容应该是大写和. 应替换为 _。不应转换文件名。文件名应保持原样。

这能实现吗?

kubernetes kubernetes-helm

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