说我有以下代表服务的YAML:
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-west-2:91371:certificate/0a389f-4086-4db6-9106-b587c90a3
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
labels:
app: main-api-prod
name: main-api-prod
spec:
type: LoadBalancer
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
- name: https
protocol: TCP
port: 443
targetPort: 80
selector:
app: main-api-prod
我跑步后:
kubectl apply -f <file>
我跑步:
kbc get svc -o json | grep hostname
我们看到:
“主机名”: “ a392f200796b8b0279bdd390c-228227293.us-west-2.elb.amazonaws.com”
我的问题是-是否可以告诉kubectl
在主机名中使用我自己的ID?换句话说,我想告诉它使用“ abc”而不是“ a392 ..”,因此它将是:
"abc-228227293.us-west-2.elb.amazonaws.com"
顺便说一句,如果有人知道“ 228227293”代表什么,请lmk,我知道这不是我们的AWS账户ID,可以肯定。
答案 0 :(得分:2)
创建类型为“负载均衡器”的服务时,云提供商(此处为aws)将创建一个新的负载均衡器。负载均衡器的命名由云提供商负责。我认为您无法告诉Amazon如何生成负载均衡器名称。它可能取决于负载均衡器的类型-alb,内部alb,nlb等。
但是您可以使用“ external-dns”(https://github.com/kubernetes-incubator/external-dns)。为dns提供程序配置时-例如aws route53-它可以自动为您的负载均衡器创建dns别名。但是您将无法在amazonws.com域中创建名称...