Я новичок в Kubernetes, и я попытался создать два сервиса, которые могут общаться друг с другом. Первая служба - это простой статический веб (HTML, js) с типом LoadBalancer
, а вторая служба - это серверная часть express.js с типом ClusterIP
. Вот мой service.yaml
файл:
apiVersion: v1
kind: Service
metadata:
name: number-generator
spec:
selector:
app: number-generator
ports:
- port: 3000
targetPort: 3000
type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
name: number-web
spec:
selector:
app: number-web
ports:
- port: 80
targetPort: 80
type: LoadBalancer
А вот мой deployment.yaml
файл:
apiVersion: apps/v1
kind: Deployment
metadata:
name: number-generator
spec:
selector:
matchLabels:
app: number-generator
template:
metadata:
labels:
app: number-generator
spec:
containers:
- name: number-generator
image: cantdocpp/number-generator
ports:
- containerPort: 3000
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: number-web
spec:
selector:
matchLabels:
app: number-web
template:
metadata:
labels:
app: number-web
spec:
containers:
- name: number-web
image: cantdocpp/number-web:v5
ports:
- containerPort: 80
Таким образом, внутри службы number-web
, к которой можно получить доступ в localhost:80
, следует обращаться к number-generator
API, чтобы получить случайное число. Я попытался получить к нему доступ с помощью http://number-generator/
и http://number-generator:3000/
, но оба они возвращают такую сетевую ошибку:
GET http://number-generator/ net::ERR_NAME_NOT_RESOLVED
Ошибка должна быть более или менее такой же, как я называю http://number-generator/
или http://number-generator:3000/
. Итак, как я могу заставить эти две службы общаться друг с другом?
http://number-generator:3000
вы пробовалиhttp://number-generator.default.svc.cluster.local:3000
? - person rkosegi   schedule 21.02.2021