当我尝试从
rest-app
,我得到错误:
MySql.Data.MySql客户端.MySqlException(0x80004005):无法连接到任何指定的MySQL主机。
---&燃气轮机;System.AggregateException异常:发生一个或多个错误。(名称或服务未知)
db-service
作为服务名称,并具有正确的user/pass。
数据库服务
apiVersion: v1
kind: Service
metadata:
name: db-service
namespace: data-layer
spec:
selector:
app: db-service
ports:
- port: 3306
clusterIP: None
数据库服务外部名称
apiVersion: v1
kind: Service
metadata:
name: db-service
namespace: app-layer
spec:
type: ExternalName
externalName: db-service.data-layer.service.cluster.local
ports:
- port: 3306
rest应用程序
apiVersion: apps/v1
kind: Deployment
metadata:
name: rest-app
namespace: app-layer
labels:
app: rest-app
spec:
replicas: 1
selector:
matchLabels:
app: rest-app
template:
metadata:
labels:
app: rest-app
spec:
containers:
- name: rest-app
image: restapp:latest
imagePullPolicy: Always
ports:
- containerPort: 5000
env:
# These are from a secret I defined, and the logs show
# the rest app gets them correctly
- name: MYSQL_ROOT_USERNAME
valueFrom:
secretKeyRef:
name: db-credentials
key: db-username
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: db-credentials
key: db-password
# I hard-coded this to the externalName I created.
# Is that right?
- name: MYSQL_URL
value: db-service
-
在应用层名称空间中创建externalName正确吗?
-
我需要用不同的定义吗?
-
docker容器中的C#应用程序是否可以不引用
哪个是externalName服务的名称?