God*_*Tan 5 command equivalent kubectl minikube
我已经执行了minikube service mynginx1,结果是:
|-----------|----------|-------------|-----------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|----------|-------------|-----------------------------|
| default | mynginx1 | 8080-80 | http://192.168.85.153:31706 |
|-----------|----------|-------------|-----------------------------|
Run Code Online (Sandbox Code Playgroud)
如果我不使用 minikube,那么 kubectl 等效命令是什么,以便我可以检索 URL?
要公开 k8s 应用程序,您可以使用kubectl Exposure 创建NodePort 类型的服务:
kubectl expose pod <pod_name> --type NodePort --port 8080
Run Code Online (Sandbox Code Playgroud)
或者
kubectl expose deployment <deployment_name> --type NodePort --port 8080
Run Code Online (Sandbox Code Playgroud)
然后当您列出您的服务时,您将看到:
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
<service_name> NodePort 10.99.147.24 <none> 8080:31208/TCP 3s
Run Code Online (Sandbox Code Playgroud)
请注意 PORT 列下的两个端口:8080:31208/TCP。第一个是集群内端口,第二个是节点端口。因此,现在您可以使用以下方式通过 nodePort 访问您的服务:<node-IP>:31208从集群外部。
还有另一个选项仅适用于在云环境中运行并且支持 LoadBalancer 的情况(因此,如果您使用 k8s 作为服务解决方案或在配置了云提供商的云中运行自托管 k8s)。您可以创建LoadBalancer 类型的服务,如下所示:
kubectl expose pod <pod_name> --type LoadBalacer --port 8080
Run Code Online (Sandbox Code Playgroud)
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
<service_name> LoadBalancer 10.107.151.19 x.x.x.x 8080:31111/TCP 2s
Run Code Online (Sandbox Code Playgroud)
现在使用 EXTERNAL-IP 地址连接到您的服务:x.x.x.x:8080
| 归档时间: |
|
| 查看次数: |
2957 次 |
| 最近记录: |