这是我的集群信息。
因此,我有一个名为mysqlbrokerservice的服务正在以NodePort形式运行,其配置如下:
我可以通过运行 pod 的节点的公共 IP 访问服务,如下所示:http://129.146.34.181:30000/v2/catalog。
然后我想看看是否可以通过 https 访问该服务。我按照https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#manually-constructing-apiserver-proxy-urls中的指示进行操作。
我按照示例使用 curl 获取资源。以下是命令。129.146.10.66:6443 是我的主 IP。
kubectl cluster-info
Kubernetes master is running at https://129.146.10.66:6443
Heapster is running at https://129.146.10.66:6443/api/v1/proxy/namespaces/kube-system/services/heapster
KubeDNS is running at https://129.146.10.66:6443/api/v1/proxy/namespaces/kube-system/services/kube-dns
因此,我有一个名为mysqlbrokerservice的服务正在以NodePort形式运行,其配置如下:
kubectl describe svc mysqlbrokerservice
Name: mysqlbrokerservice
Namespace: mysqlbroker
Labels: <none>
Annotations: <none>
Selector: app=mysqlbroker
Type: NodePort
IP: 10.99.194.191
Port: mysqlbroker 8080/TCP
NodePort: mysqlbroker 30000/TCP
Endpoints: 10.244.1.198:8080
Session Affinity: None
Events: <none>
我可以通过运行 pod 的节点的公共 IP 访问服务,如下所示:http://129.146.34.181:30000/v2/catalog。
然后我想看看是否可以通过 https 访问该服务。我按照https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#manually-constructing-apiserver-proxy-urls中的指示进行操作。
我按照示例使用 curl 获取资源。以下是命令。129.146.10.66:6443 是我的主 IP。
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET https://129.146.10.66:6443/api/v1/namespaces/mysqlbroker/services/mysqlbrokerservice:8080/proxy/v2/catalog --header "Authorization: Bearer $TOKEN" --insecure
HTTP/1.0 200 Connection established
curl命令没有响应。我查看了我的pod日志,发现它并没有显示任何请求的接收。
有人可以解释一下我在这里做错了什么吗?如果我想通过https公开服务,理想的解决方案是什么?