将 kubernetes 与 helm 一起使用,并使用 bitnami 正确提供我的预定义用户和密码

Use kubernetes with helm and provide my predefined user and password with bitnami correctly

我正在使用带 helm 3 的 kubernetes。

我需要使用 sql 创建一个 kubernetes pod - 创建:

database name: my_database user: root password:12345 port: 3306

步骤: 通过以下方式创建图表:

helm create test

创建图表后,通过添加依赖项部分更改测试文件夹中的 Chart.yaml 文件。

apiVersion: v2 name: test3 description: A Helm chart for Kubernetes

version: 0.1.0

appVersion: "1.16.0"

dependencies:

  • name: mysql version: 8.8.23 repository: "https://charts.bitnami.com/bitnami"

运行:

helm dependencies build test

之后是一个压缩文件tgz。 所以我解压了它,有 tar 文件 - 我也解压了它,只留下最后解压的文件夹。

我认为这不是在 yaml 中为 bitnami 更改参数的最佳方法, 并使用 security.yaml - 我也想知道更好的方法。

我需要更改用户+密码,link到数据库, 所以我直接更改了 values.yaml(有更好的方法吗?),值:auth:rootPassword 和 auth:my_database.

另一个以下步骤:

helm build dependencies test
helm install test --namespace test --create-namespace

之后创建了两个 pods。 我可以通过以下方式检查:

kubectl get pods -n test

我看到两个 pods 运行ning(可能是复制)。 其中一个 pod:test-mysql-0(另一个是随机解析)。

运行:

kubectl exec --stdin --tty test-mysql-0  --namespace test-mysql -- /bin/sh 

确实进入了吊舱。 运行:

mysql -rroot -p12345;

然后:

show databases;

确实显示了所有数据库,包括看到创建的数据库:my_database,成功。

当我尝试从 'mysql workbench' 打开 mysql 数据库并进行测试(相同的用户:root、密码、端口:3306 和 localhost)时,我无法 运行 测试(数据库属性中的测试连接按钮returns:'failed to connect to database')。

  1. 为什么我不能 运行 正确地 'mysql workbench',而在垫本身 - 没有任何特别的问题?
  2. 有没有比我上面描述的提取 tgz 文件更好的方法,我可以用更好的方式(一些安全的 yaml)传递用户 + 密码吗? (现在只有root密码)

谢谢。

看来你是在尝试设置从属图表中的参数(如有错误请指正)

如果这是正确的,您需要做的就是在您的图表的values.yaml

中添加另一个部分
name-of-dependency:
  user-name: ABC
  password: abcdef

声明图表时,在 Chart.yaml 文件中指定了“name-of-dependency”。例如,这是我自己的一张图表中的 redis 依赖项

dependencies:
  - name: redis
    repository: https://charts.bitnami.com/bitnami/
    version: x.x.x

然后当我安装图表时,我可以通过在我自己的图表中执行此操作来覆盖 redis 图表的设置 values.yaml

redis:
  architecture: standalone
  auth:
    password: "secret-password-here"