在执行以下命令后,
$ cf create-service-key mysql-db-service MY-KEY
创建了一个名称为MY-KEY
(如下所示)的文件,该文件的密钥为name
(数据库实例),值为service-instance-db
{
"hostname": "w-ns27y31.q-g1444.bosh",
"jdbcUrl": "jdbc:mysql://w-ns27y31.q-g1444.bosh:3306/service_instance_db?user=ccd64a5aa128fffffffffff26d80&password=eddddddd50g&useSSL=false",
"name": "service_instance_db",
"password": "el99ffffffffff",
"port": 3306,
"uri": "mysql://ccd64a5aa1284dadab01271693d26d80:el9905261y23b50g@w-ns27y31.q-g1444.bosh:3306/service_instance_db?reconnect=true",
"username": "ccd64ddddddddd271693d26d80"
}
如果我创建了多个服务密钥文件,则每个服务密钥文件中的hostname
和name
保持不变,但是用户名和密码会更改
在数据库世界中,我们使用语法create DATABASE
语句
然后在该数据库实例上运行一个应用程序,说instance1
对于另一个新的不同应用程序,我们创建另一个数据库实例,例如instance2
1)密钥service-instance-db
的值name
是数据库实例吗?在服务密钥文件MY-KEY
2)如果是,那么我们在mysql-db-service应用程序上为Cloud Foundry上的每个新数据库应用程序创建一个单独的服务密钥文件,但是我在服务密钥文件中看到相同的数据库实例名称service-instance-db
。我怎么理解的?
答案 0 :(得分:2)
1)密钥名称的some-service-db值是否是数据库实例?在服务密钥文件MY-KEY
中
坦白地说,这取决于服务代理的处理方式。通常,运行cf create-service
将创建服务的实例,运行cf bind-service
或cf create-service-key
将创建可用于访问服务的一组凭据。
这取决于经纪人,究竟发生了什么。运行cf create-service
可能导致从共享多租户服务中的分区到运行服务群集的一组专用VM带来的一切。
2)如果是,那么我们在mysql-db-service应用程序上为Cloud Foundry上的每个新数据库应用程序创建一个单独的服务密钥文件,但是我在服务密钥文件中看到相同的数据库实例名称some-service-db。我怎么理解的?
在大多数情况下,服务密钥只是用于访问服务实例的一组新的(可能是唯一的)凭据。您需要查看服务代理的文档,以确切了解其处理方式。
希望有帮助!