【发布时间】:2020-02-01 02:38:27
【问题描述】:
我尝试使用 aws ec2 将我的微服务公开到互联网。使用下面的部署和服务 yaml 文件。
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 1
selector:
matchLabels:
app: my-app
strategy: {}
template:
metadata:
labels:
app: my-app
spec:
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
containers:
- name: my-app
image: XXX
ports:
- name: my-app
containerPort: 3000
resources: {}
---
apiVersion: v1
kind: Service
metadata:
name: my-app
spec:
selector:
app: my-app
ports:
- name: my-app
nodePort: 32000
port: 3000
targetPort: 3000
type: NodePort
并且还要创建一个入口资源。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: app-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: example.myApp.com
http:
paths:
- path: /my-app
backend:
serviceName: my-app
servicePort: 80
最后一步我在aws仪表板中打开80端口,我应该如何选择入口控制器来实现我的意图?
【问题讨论】:
-
您是使用 AWS 的 kubernetes 托管服务还是您自己在 AWS 上的设置?
-
我使用 kubeadm 创建具有多个 aws ec2 节点的集群。
-
你有什么错误吗?你有什么问题?如果您使用 AWS,最好使用一些 EKS LB 或 Ingress?
标签: amazon-web-services kubernetes kubernetes-ingress