我的MariaDB在Windows的Virtual Box的Minikube的Kubernetes节点中运行。我想尝试与MariaDB pod进行通信,以便可以读取表格并可视化Tableau中的内容。为此,我需要将Pod暴露在Minikube的外部,并且还可以通过“虚拟盒子”进行访问。
我还没有公开该Pod,但是如果我正确理解了Pod,则需要编写一个NodePort服务以将其暴露在Minikube之外。
apiVersion v1
kind Service
metadata:
name: mariadb
spec:
type: NodePort
ports:
- targetPort: 80
port: 80
nodePort: 30008
selector:
app: mariadb
chart: mariadb-6.4.0
component: master
controller-revision-hash: my-release-mariadb-master-7b7cc7895
release: my-release
statefulset.kubernetes.io/pod-name: my-release-mariadb-master-0
如果我在VirtualBox中没有minikube,现在应该可以通过该服务连接到pod了。但是以我为例,如何“打开”虚拟盒,以便我可以与minikube和NodePort通信?
谢谢您的帮助!
答案 0 :(得分:0)
为了打开公开的服务,可以使用minikube service命令:
$ kubectl expose deployment hello-minikube --type=NodePort
service "hello-minikube" exposed
$ kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-minikube 10.0.0.102 <nodes> 8080/TCP 7s
kubernetes 10.0.0.1 <none> 443/TCP 13m
$ minikube service hello-minikube
Opening kubernetes service default/hello-minikube in default browser...
此命令将在默认浏览器中打开指定的服务。
您还可以使用以下网址获取网址:
$ minikube service hello-minikube --url
http://192.168.99.100:31167