我用kubernetes运行colima,比如:colima start --kuberenetes我创建了一些运行的pod,我想看看通过浏览器访问。但我不知道什么是colima IP(或kubernetes节点IP)。感谢帮助
colima start --kuberenetes
bxgwgixi1#
您可以这样获得nodeIp:
kubectl get node NAME STATUS ROLES AGE VERSION nodeName Ready <none> 15h v1.26.0
然后使用nodeName:
kubectl describe node nodeName
这为您提供了节点的描述,您应该查找以下部分:
Addresses: InternalIP: 10.165.39.165 Hostname: master
Ping以验证网络。在Mac上找到您的主机文件,并创建如下条目:
10.165.39.165 test.local
这允许您使用域名访问集群。Ping它以验证。您无法从群集外部访问ClusterIp。要访问Pod,您有几种可能性。1.如果您服务类型为ClusterIp,则可以使用端口转发从您的主机创建临时连接。
kubectl port-forward svc/yourservicename localport:podport
1.(我会raccomend这)创建一个服务类型:节点端口然后
kubectl get svc -o wide
显示节点端口:在(30000 - 32000)之间。您现在可以通过以下方式访问Pod:测试本地节点端口或IP地址节点端口。注意:如果您部署在非默认名称空间中,请在kubectl命令中添加-n yournamespace。更新:如果要使用ipAddress启动colima,请首先查找一个可用本地网络。您可以通过以下方式获取网络设置:
ifconfig
找到网络。应该和你的互联网路由器一样。查找子网。很可能是255.255.255.0。要传递的值,则:
--network-address xxx.xxx.xxx.xxx/24
如果子网是www.example.com,那么/16。但我不认为,如果你是从家里连接。但在一家公司内部,这是可能的。255.255.0.0 then /16. But i dont think, if you are connect from home. Inside a company however this is possible.再次使用ping进行检查,并按照开始的步骤验证kubernetes节点配置。
k2arahey2#
从节点访问Pod有几种方法。以下是几个选项:1.使用kubectl port-forward:此命令允许您将本地端口转发到pod上的端口。例如,如果要访问pod中端口8080上运行的Web应用程序,可以运行kubectl port-forward <pod-name> 8080:8080,然后通过在浏览器中访问http://localhost:8080来访问该应用程序。1.使用kubectl expose:此命令可创建向网络公开特定Pod的服务。创建服务后,您可以使用kubectl get svc查找服务的IP地址,然后通过在浏览器中访问IP地址来访问Pod。1.使用kubectl get nodes获取Kubernetes节点的IP地址,然后使用kubectl describe pod <pod-name>查找要访问的Pod的端口,并使用该IP和端口连接到Pod。1.使用kubectl apply -f命令创建一个Ingress资源,一旦创建了Ingress,就可以使用kubectl get ingress <ingress-name>找到该Ingress的IP地址和主机名,然后通过在浏览器中访问该IP地址或主机名来访问Pod。请注意,根据您的群集设置,上述某些选项可能不可用。此外,请注意,pod不适合直接访问,通常通过服务和入口暴露在网络中,因此建议使用它们。
kubectl port-forward
8080
kubectl port-forward <pod-name> 8080:8080
http://localhost:8080
kubectl expose
kubectl get svc
kubectl get nodes
kubectl describe pod <pod-name>
kubectl apply -f
kubectl get ingress <ingress-name>
2条答案
按热度按时间bxgwgixi1#
您可以这样获得nodeIp:
然后使用nodeName:
这为您提供了节点的描述,您应该查找以下部分:
Ping以验证网络。
在Mac上找到您的主机文件,并创建如下条目:
这允许您使用域名访问集群。
Ping它以验证。
您无法从群集外部访问ClusterIp。要访问Pod,您有几种可能性。
1.如果您服务类型为ClusterIp,则可以使用端口转发从您的主机创建临时连接。
1.(我会raccomend这)创建一个服务类型:节点端口
然后
显示节点端口:在(30000 - 32000)之间。
您现在可以通过以下方式访问Pod:测试本地节点端口或IP地址节点端口。
注意:如果您部署在非默认名称空间中,请在kubectl命令中添加-n yournamespace。
更新:
如果要使用ipAddress启动colima,请首先查找一个可用本地网络。
您可以通过以下方式获取网络设置:
找到网络。应该和你的互联网路由器一样。
查找子网。很可能是255.255.255.0。
要传递的值,则:
如果子网是www.example.com,那么/16。但我不认为,如果你是从家里连接。但在一家公司内部,这是可能的。255.255.0.0 then /16. But i dont think, if you are connect from home. Inside a company however this is possible.
再次使用ping进行检查,并按照开始的步骤验证kubernetes节点配置。
k2arahey2#
从节点访问Pod有几种方法。以下是几个选项:
1.使用
kubectl port-forward
:此命令允许您将本地端口转发到pod上的端口。例如,如果要访问pod中端口8080
上运行的Web应用程序,可以运行kubectl port-forward <pod-name> 8080:8080
,然后通过在浏览器中访问http://localhost:8080
来访问该应用程序。1.使用
kubectl expose
:此命令可创建向网络公开特定Pod的服务。创建服务后,您可以使用kubectl get svc
查找服务的IP地址,然后通过在浏览器中访问IP地址来访问Pod。1.使用
kubectl get nodes
获取Kubernetes节点的IP地址,然后使用kubectl describe pod <pod-name>
查找要访问的Pod的端口,并使用该IP和端口连接到Pod。1.使用
kubectl apply -f
命令创建一个Ingress资源,一旦创建了Ingress,就可以使用kubectl get ingress <ingress-name>
找到该Ingress的IP地址和主机名,然后通过在浏览器中访问该IP地址或主机名来访问Pod。请注意,根据您的群集设置,上述某些选项可能不可用。
此外,请注意,pod不适合直接访问,通常通过服务和入口暴露在网络中,因此建议使用它们。