我在 GCP 上配置了如下 Nats 部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: nats-depl
spec:
replicas: 1
selector:
matchLabels:
app: nats
template:
metadata:
labels:
app: nats
spec:
containers:
- name: nats
image: nats-streaming:0.17.0
args: [
'-p',
'4222',
'-m',
'8222',
'-hbi',
'5s',
'-hbt',
'5s',
'-hbf',
'2',
'-SD',
'-cid',
'BPB_MEAN_FRAMEWORK'
]
---
apiVersion: v1
kind: Service
metadata:
name: nats-srv
spec:
selector:
app: nats
ports:
- name: client
protocol: TCP
port: 4222
targetPort: 4222
- name: monitoring
protocol: TCP
port: 8222
targetPort: 8222
我的入口 yaml 如下所示
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: 'true'
spec:
rules:
- host: blog.dev
http:
paths:
- path: /api/users/?(.*)
backend:
serviceName: auth-srv
servicePort: 3100
- path: /nats/?(.*)
backend:
serviceName: nats-srv
servicePort: 4222
- path: /api/posts/?(.*)
backend:
serviceName: posts-srv
servicePort: 3100
- path: /?(.*)
backend:
serviceName: client-srv
servicePort: 80
我已按照下面提到的步骤设置入口 NGINX
设置 Ingress-NGINX 的步骤
- 创建一个项目 blog-dev
- 在 us-central1-c 区域中创建具有 3 个 N1-g1 小型实例的集群 blog-dev
- 导航到https://kubernetes.github.io/ingress-nginx/deploy/#gce-gke
- 在谷歌云账号上,打开云shell并导航到终端中的BPB_MEAN_Framework目录
- 执行命令gcloud init,重新初始化集群,选择账号、项目和地域
- 执行命令 gcloud container clusters get-credentials blog-dev
- 执行命令 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.0.3/deploy/static/provider/cloud/deploy.yaml配置ingress-nginx
- 转到网络服务 -> 负载平衡并检查负载平衡器是否已创建。记下负载均衡器的ip
- 打开 hosts.ini 文件并更新如下所示 130.211.113.34 blog.dev 8.1) 键入命令“kubectl create secret generic jwt-secret --from-literal=JWT_KEY=asdf”
- 运行scaffold dev 我做一个kubectl get pods kubectl port-forward pod-name 8222:8222
集群配置完成后,我尝试在浏览器中打开 http://nats-srv:8222,它给了我一个未显示的页面。
当我尝试进行网络预览时,我得到如下所示的 NATS 登录页面 NATS using web preview
请让我知道如何使用 http://nats-srv:8222 之类的内容显示此内容,其中
“nats-srv”是我的服务,目前是集群 IP 服务。