Docker 未分配Kubernetes服务外部IP

Docker 未分配Kubernetes服务外部IP,docker,kubernetes,Docker,Kubernetes,我有以下部署yaml: apiVersion: v1 kind: Namespace metadata: name: authentication labels: name: authentication --- apiVersion: apps/v1beta1 kind: Deployment metadata: name: authentication-deployment namespace: authentication spec: replicas: 2

我有以下部署yaml:

apiVersion: v1
kind: Namespace
metadata:
  name: authentication
  labels:
   name: authentication
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: authentication-deployment
  namespace: authentication
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: authentication
    spec:
      containers:
      - name: authentication
        image: blueapp/authentication:0.0.0
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: authentication-service
  namespace: authentication
spec:
  type: NodePort
  ports:
  - port: 8080
    targetPort: 8080
  selector:
    name: authentication-deployment
  type: LoadBalancer
  externalName: authentication
我对kubernetes很陌生,但我对我试图做的事情的理解是创建一个名称空间,在该名称空间中创建一个2个pod的部署,然后创建一个负载平衡器来将流量分配给这些pod

当我跑的时候

$ kubectl create -f deployment.yaml
一切都很好,但服务永远不会被分配外部IP


有什么明显的原因可能导致这种情况吗?

您的服务属于
NodePort
类型。 要将负载平衡器分配给您的服务,您应该使用负载平衡器服务类型:

类型:负载平衡器

请参阅此处的文档:

只有在支持的云环境中才能分配外部IP,前提是您的云提供商配置正确


创建服务时,请观察
kube controller manager
日志中的错误消息。

服务上实际上定义了两种类型,我认为这是一种输入错误。您的服务规范中有两种
类型
。还有
外部名称
的用途是什么?