繁体   English   中英

kubernetes:AWS ELB无法正常工作

[英]kubernetes: AWS ELB not working

我已经通过以下svc和部署设置了前端服务:

部署方式

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: ui-deployment
spec:
  replicas: 1
  template:
    metadata:
      labels:
        els-pod: ui
    spec:
      containers:
      - image: pkaramol/the-ui
        name: ui
        ports:
        - containerPort: 80
      restartPolicy: Always

服务

apiVersion: v1
kind: Service
metadata:
  name: ui
spec:
  ports:
  - name: ui-port
    port: 8080
    targetPort: 80
  selector:
    els-pod: ui

通过AWS ELB进行如下公开时:

kubectl expose  deployment ui-deployment --type=LoadBalancer --port=80 --target-port=8080 --name=k8s-elb

访问ELB的DNS名称时,我得到一个空白页。

此外,肘部后面的实例似乎不健康:

在此处输入图片说明 另外,以下端口映射是否有意义?

在此处输入图片说明

您可能需要在服务Yaml文件中添加一些内容-

  • 添加loalbalancer Ip并输入Service yaml

     loadBalancerIP: <Public Ip> type: LoadBalancer 
  • ELB路由
    1. 如果您直接使用URL命中HTTP或https而未指定任何端口,则需要80和443两者都用于运行服务的端口,例如30001 ex- http:// iphttps:// ip
    2. 如果您要打开IP,请说8180,然后添加“规则”以将8180转发到30001,例如-http:// IP:8180 /
    3. 而且我认为您不需要公开部署。 运行Service yaml将起作用。
    4. 确保您提供正确的端口。 您也可以离开目标端口。 在您的情况下,它将与端口8080相同

Refreence- https: //cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip

将您的服务类型设置为LoadBalancerhttps : //kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#external-load-balancer-providers

apiVersion: v1
kind: Service
metadata:
  name: ui
spec:
  type: LoadBalancer
  ports:
  - name: ui-port
    port: 8080
    targetPort: 80
  selector:
    els-pod: ui

您不需要设置负载均衡器IP。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM