[英]How to create Kubernetes load balancer on aws
Kubernetes為每項服務創建一個負載均衡器; 自動在GCE中。 如何在AWS上管理類似的東西?
Kubernetes服務基本上使用kubeproxy來處理內部流量。 但是那個kubeproxy ip它無法訪問外部網絡。
有一種方法可以實現這一目標嗎?
在您的服務定義中,將其type
字段設置為LoadBalancer
,如果您在AWS上運行,kubernetes將自動為您創建AWS Elastic Load Balancer。 此功能應適用於GCE / GKE,AWS和OpenStack。
有關示例,請查看guestbook-go示例 。
最小的例子:
kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
type: LoadBalancer
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
相關文檔:
截至撰寫時,了解所有service.beta.kubernetes.io
注釋的最佳方法是閱讀源代碼:
為了使控制器能夠管理ELB,它將需要在主實例IAM角色中設置的權限, 例如 :
...
{
"Action": "elasticloadbalancing:*",
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:GetRepositoryPolicy",
"ecr:DescribeRepositories",
"ecr:ListImages",
"ecr:BatchGetImage"
],
"Resource": "*",
"Effect": "Allow"
},
...
應該在kube-apiserver上使用--cloud-provider=aws
設置雲提供商。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.