繁体   English   中英

如何在AWS中设置kubernetes的loaderbalancer服务

[英]how to setup loaderbalancer service of kubernetes in AWS

我尝试使用AWS来设置kubernetes(版本1.0.1)并在那里部署一些服务和pod。

但我已经陷入了LoadBalancer服务。 根据文档,我只需要在防火墙中设置正确的服务类型和打开端口

但服务不接收外部IP。 (进入是空的)

我是否需要在AWS控制台中手动创建LoadBalancer? 也许还有其他一些动作

谢谢,

应该自动创建LoadBalancer。

可能存在阻止创建负载均衡器的IAM策略问题(请参阅问题#10692 )。

如果这不是问题,在主VM上查找/var/log/kube-controller-manager.log中的错误可能会让您知道出了什么问题。

无论您是使用kubernetes而不是使用kubernetes(通过发布kubectl获取svc来显示外部IP)还是使用amazon aws,这一步都是不同的。 启动集群(aws或gcloud)后,使用kubectl create -f some-deployment.yaml部署应用程序

kubectl expose rs your-pod-name  --type="LoadBalancer"

暴露你的应用......然后冷却几分钟,直到命令

kubectl get pods

使用列回复状态STATUS具有值Running ...然后才发出

kubectl get svc

几分钟后,将在gcloud上显示EXTERNAL-IP

NAME                       CLUSTER-IP       EXTERNAL-IP       PORT(S)                   AGE
kubernetes                 10.123.240.1     <none>            443/TCP                   10m
loudspeed-deployment-210   10.123.247.54    104.196.113.166   3000/TCP,80/TCP,443/TCP   1m
mongo                      10.123.244.245   <none>            27017/TCP                 5m

而在aws上,EXTERNAL-IP将部分显示LoadBalancer Ingress的URL ...以查看完整的URL问题

kubectl describe svc

典型的输出是

Labels:         app=my-cool-app,pod-template-hash=494629853
Selector:       app=my-cool-app,pod-template-hash=494629853
Type:           LoadBalancer
IP:         10.0.154.138
LoadBalancer Ingress:   a53bigscarystring33e-20075.us-east-1.elb.amazonaws.com
Port:           port-1  80/TCP
NodePort:       port-1  30487/TCP
Endpoints:      10.244.0.3:80
Port:           port-2  443/TCP
NodePort:       port-2  32698/TCP
Endpoints:      10.244.0.3:443
Session Affinity:   None
Events:
  FirstSeen LastSeen    Count   From            SubobjectPath   Type        Reason          Message
  --------- --------    -----   ----            -------------   --------    ------          -------
  14m       14m     1   {service-controller }           Normal      CreatingLoadBalancer    Creating load balancer
  13m       13m     1   {service-controller }           Normal      CreatedLoadBalancer Created load balancer


Name:           mongo
Labels:         name=mongo
Selector:       name=mongo
Type:           ClusterIP
IP:         10.0.63.81
Port:           <unset> 27017/TCP
Endpoints:      10.244.0.4:27017
Session Affinity:   None
No events.

注意上面的值

    LoadBalancer Ingress:   a53bigscarystring33e-20075.us-east-1.elb.amazonaws.com

这是您的外部URL,可以从命令行使用

curl a53bigscarystring33e-20075.us-east-1.elb.amazonaws.com

并且通常映射到资源类型A自动刷新的选项列表中的aws Route 53控制台中的公共可见域

查看详细信息(我们不会在AWS防火墙中自动打开NodePort服务) https://github.com/kubernetes/kubernetes/blob/release-1.3/docs/design/aws_under_the_hood.md

暂无
暂无

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

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