您需要在部署中使用的第一件事是 Ingress,所以让我们从它开始。
首先你应该创建一个 Ingress 控制器,你可以在这里找到安装指南
最相关的是第一部分 - 通用部署,其中包括以下内容:
Ingress 控制器安装的命名空间:
curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/namespace.yaml \ | kubectl apply -f -
Ingress 控制器的默认后端:
curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/default-backend.yaml \ | kubectl apply -f -
和配置映射:
curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/configmap.yaml \ | kubectl apply -f -
curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/tcp-services-configmap.yaml \ | kubectl apply -f -
curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/udp-services-configmap.yaml \ | kubectl apply -f -
因为您在 Raspberry Pi 上部署了集群,所以所有这些都需要手动创建。
安装 Ingress 控制器后,您可以为 Ingress 部署特定配置,并使用规则将流量路由到您的服务。
这是 Ingress yaml 文件的示例:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: endpoint-to-the-world
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: your-external-address-for-the-cluster
http:
paths:
- path: /console
backend:
serviceName: kubernetes-dashboard
servicePort: 443
- path: /some-other-path
backend:
serviceName: different-service
servicePort: 22
这将充当集群的外部代理,您可以将所有流量路由到任何服务。更多细节可以在这里阅读。
这应该足以让 Kubernetes Dashboard 暴露出来。