AWS ELB或内部LB后面的Kubernetes仪表板

时间:2018-07-09 12:50:36

标签: kubernetes kubectl kubernetes-dashboard

我已经通过以下方式部署了K8s仪表板 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

我可以通过运行kubectl proxy连接到仪表板。

我的问题是如何通过内部LB或ELB公开此仪表板?

我更改了 kubernetes-dashboard服务

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
  annotations:
    # service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
spec:
  type: LoadBalancer
  # loadBalancerSourceRanges:
  # - x.x.x.x/32
  ports:
  - port: 80
    targetPort: 8443
    protocol: TCP
  selector:
    k8s-app: kubernetes-dashboard

然后我点击了ELB DNS记录,但没有任何回报(例如-xxxxxxxxxxx.us-east-1.elb.amazonaws.com)。

有人知道如何解决此问题吗?

注意-这是一个POC集群,目前我对安全性没有任何疑问。

谢谢

1 个答案:

答案 0 :(得分:0)

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
spec:
  type: LoadBalancer
  ports:
    - port: 443
      protocol: TCP
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard

并且https://<internal-lb-dns-record>应该可以工作。