【发布时间】:2023-03-29 23:44:01
【问题描述】:
我的微服务有多个容器,每个容器都需要访问不同的端口。如何使用 Hasura CLI 和项目配置文件在多个端口上公开此服务?
编辑:添加微服务的k8s.yaml(根据@iamnat 的要求)
假设我有两个容器,containerA 和 containerB,我想分别在端口 6379 和 8000 上通过 HTTP 公开它们。
apiVersion: v1
items:
- apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: www
hasuraService: custom
name: www
namespace: '{{ cluster.metadata.namespaces.user }}'
spec:
replicas: 1
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: www
spec:
containers:
- name: containerA
image: imageA
ports:
- containerPort: 6379
- name: containerB
image: imageB
ports:
- containerPort: 8000
securityContext: {}
terminationGracePeriodSeconds: 0
status: {}
- apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app: www
hasuraService: custom
name: www
namespace: '{{ cluster.metadata.namespaces.user }}'
spec:
ports:
- port: 6379
name: containerA
protocol: HTTP
targetPort: 6379
- port: 8000
name: containerB
protocol: HTTP
targetPort: 8000
selector:
app: www
type: ClusterIP
status:
loadBalancer: {}
kind: List
metadata: {}
【问题讨论】:
-
您能否粘贴您当前的 k8s.yaml 以及您想要公开的其他端口的信息?
-
@iamnat:用
k8s.yaml修改问题 -
看起来您已经暴露了多个端口?或者当您说
expose时,您的意思是您希望这些可以从集群外部公开访问? -
@timothyclifford:是的。修改了
k8s.yaml以使用需要通过 HTTP 在不同端口公开的 2 个容器的通用示例。 -
您有两个包含端口映射的容器,您看到的实际问题是什么?你有错误等吗?
标签: kubernetes hasura