我想用这个路由访问服务器,但没有成功。
https://ticketing.dev/api/user/currentuser
我在根文件夹中创建 skaffold.yaml
:
apiVersion: skaffold/v2beta11
kind: Config
deploy:
kubectl:
manifests:
- ./infra/k8s/*
build:
local:
push: false
artifacts:
- image: kia9372/auth
context: auth
docker:
dockerfile: Dockerfile
sync:
manual:
- src: 'src/**/*.ts'
dest: .
我创建了一个名为infra
的文件夹,并创建了一个名为k8s
的文件夹。 在这个文件夹中,我创建了两个文件:
A : auth-depl.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: auth-depl
spec:
replicas: 1
selector:
matchLabels:
app: auth
template:
metadata:
labels:
app: auth
spec:
containers:
- name: auth
image: kia9372/auth
---
apiVersion: v1
kind: Service
metadata:
name: auth-srv
spec:
selector:
app: auth
ports:
- name: auth
protocol: TCP
port: 4000
targetPort: 4000
B : ingress-srv.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: ticketing.dev
- http:
paths:
- path: /api/user/?(.*)
backend:
service:
name: auth-srv
port:
number: 4000
并写到/ etc/hosts
中:
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.0.1 localhost
127.0.1.1 mr-programmer
127.0.1.1 ticketing.dev
但现在我有一个问题。当我想进入这个路线https://ticketing.dev/api/user/currentuser
,它什么都不显示。
我测试服务器分离的kubernetes的https://localhost:4000/api/user/currentuser
,是正常的。
我怎么才能解决这个问题呢?
解决 :
终端(terminal)
minikube ip
- 来获取 minikube ip ( 例如: 172.17.0.2)/etc/hosts
:将
127.0.1.1 ticketing.dev
改为172.17.0.2 (minikube ip) ticketing.dev
。你不能在这里写本地IP地址(127.0.1.1),你应该在这里写minikube的IP地址(172.17.0.2),因为你使用的是
minikube
。你的答案