Я хочу интегрировать мое приложение vuejs в кластер мини-кубов.
Я использовал Dockerfile из учебника VueJs для производства с веб-сервером Nginx и с первой опцией localhost:8080
здесь .Я изменил порты в файлах yml соответствующим образом для localhost на 8080, а для версии nginx, как показано ниже, на 80
Затем в моем config/index.js
dev: {
[...]
host: 'localhost', // can be overwritten by process.env.HOST
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
[...]
},
я установилпорт 8080 по умолчанию.Для своего развертывания и обслуживания мини-куба я добавил
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: vuejs
spec:
selector:
matchLabels:
app: vuejs
tier: frontend
replicas: 1
template:
metadata:
labels:
app: vuejs
tier: frontend
spec:
imagePullSecrets:
- name: regcred
containers:
- name: vuejs
image: <secret registry>
ports:
- containerPort: 80
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
---
apiVersion: v1
kind: Service
metadata:
name: vuejs
labels:
app: vuejs
tier: frontend
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 80
# Replace with the IP of your minikube java / master java
# externalIPs:
# - 192.168.99.105
selector:
app: vuejs
tier: frontend
Как подключиться к веб-серверу vuejs / nginx.Более того, поскольку я установил DNS-имя бэкэнда на java
, как мне установить адрес Java REST API в vuejs?Я установил адрес на 'http://java:8080/'
без ответа.Бэкэнд Java REST интегрирован в мини-куб с this yml.
Проблема в том, что после запуска развертывания vuejs я могу получить доступ к приложению vuejs на 127.0.0.1:8080
.Когда я правильно понял, я подумал, что кластер kubernetes открывает свою собственную сеть и доступен только через внешний IP
Глядя на мой kubectl get all
, я бы сказал, что vuejs должен быть доступен 192.168.99.105:8080
- при использовании dockerimageбез nginx.
NAME READY STATUS RESTARTS AGE
pod/java-fbf949cbc-rqstq 0/1 Error 4 2d
pod/maria-7b67c8ddf-xp8xx 1/1 Running 2 2d
pod/private-reg 1/1 Running 5 5d
pod/vuejs-5f4c657d74-885j9 1/1 Running 1 18h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/java LoadBalancer 10.101.207.98 192.168.99.100 8080:31011/TCP 2d
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5d
service/maria ClusterIP 10.99.177.228 <none> 3306/TCP 2d
service/vuejs NodePort 10.104.108.44 192.168.99.105 8080:30001/TCP 17h
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deployment.apps/java 1 1 1 0 2d
deployment.apps/maria 1 1 1 1 2d
deployment.apps/vuejs 1 1 1 1 18h
NAME DESIRED CURRENT READY AGE
replicaset.apps/java-fbf949cbc 1 1 0 2d
replicaset.apps/maria-7b67c8ddf 1 1 1 2d
replicaset.apps/vuejs-5f4c657d74 1 1 1 18h