Saya memiliki aplikasi satu halaman frontend yang ditulis menggunakan Vuejs, saya menggunakan aksioma untuk memanggil API backend. Saya mencoba menggunakan kubernetes untuk menjalankan layanan:

File yml penyebaran dan layanan saya:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: testapi
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: testapi
    spec:
      containers:
      - name: testapi
        image: testregistry.azurecr.io/testapi:latest
        ports:
        - containerPort: 3001
---
apiVersion: v1
kind: Service
metadata:
  name: testapi
spec:
  type: LoadBalancer
  ports:
  - port: 3001
  selector:
    app: testapi
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: testportal
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: testportal
    spec:
      containers:
      - name: testportal
        image: testregistry.azurecr.io/testportal
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: testportal
spec:
  type: LoadBalancer
  ports:
  - port: 8080
  selector:
    app: testportal

Frontend berjalan di browser klien. Url axios saya terhubung ke http://testtapi:3001, yang jelas tidak berfungsi. Adakah yang tahu bagaimana menghubungkannya ke API yang didukung?

0
Alvin 20 November 2017, 06:19

1 menjawab

Jawaban Terbaik

Anda hanya dapat menggunakan nama layanan tersebut dari penerapan lain di dalam kluster kubernetes yang sama. jika Anda ingin memanggilnya dari front-end, Anda harus mengekspos endpoint eksternal yang dapat diakses publik.

0
Tuan Anh Tran 20 November 2017, 04:00