将 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')。
- 为什么我不能 运行 正确地 'mysql workbench',而在垫本身 - 没有任何特别的问题?
- 有没有比我上面描述的提取 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"
我正在使用带 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')。
- 为什么我不能 运行 正确地 'mysql workbench',而在垫本身 - 没有任何特别的问题?
- 有没有比我上面描述的提取 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"