k8s实现外部访问minikube集群

这篇具有很好参考价值的文章主要介绍了k8s实现外部访问minikube集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

minikube部署对外访问配置

我们现在大家都知道了 minikube集群相当于k8s的一个虚拟机。

同时pod每次消亡重建之后都会分配一个虚拟的ip,这个ip可供集群内部访问,但是如果要对外访问呢?

我们可以给他暴露ip出来,但是如果pod宕机后重建ip就发生了变化,所以不能对pod进行ip的暴露。

那应该对什么进行暴露呢?

我们首先需要了解service,简而言之,为了解决pod动态变化的虚拟ip,因此service 相当于某组pod的外部访问接口。因此我们对service为单位进行ip的暴露即可。这同时也解决了在minikube中一开始学习的时候必须要进入minikube之后才可以访问pod的问题。

图片取自黑马
lucky@thinkcentre:/work/k8s$ kubectl expose deploy nginx --name=svc-nginx1 --type=ClusterIP --port=80 --target-port=80 -n dev
service/svc-nginx1 exposed
lucky@thinkcentre:/work/k8s$ kubectl get svc svc-nginx1 -n dev -o wide
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE   SELECTOR
svc-nginx1   ClusterIP   10.111.120.200   <none>        80/TCP    30s   run=nginx
lucky@thinkcentre:/work/k8s$ curl 10.111.120.200:80
^C
lucky@thinkcentre:/work/k8s$ minikube ssh
Last login: Thu Mar  9 10:23:21 2023 from 192.168.49.1
docker@minikube:~$ curl 10.111.120.200:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
docker@minikube:~$

上面暴露端口的方式是clusterIp,因此还是只是集群内部可以访问,只不过相比较上一节minikube外部无法访问pod来说没有实质性的改变,改变的只不过是访问svc从而访问高可用pod。因此我们想要minikube外部可以访问的话,就需要将type修改为NodePort

kubectl expose deploy nginx --name=svc-nginx2 --port=80 --target-port=80 --type=NodePort -n dev
# port-forward 端口转发且允许任意ip访问
kubectl port-forward --address 0.0.0.0 -n dev service/svc-nginx2 80:80

执行上述命令后 即可在同一网段内访问nginx,不受minikube限制,如果想让外网访问,则需要对80端口做一个内网穿透,参考我之前的文章即可。

其实从port-forward可以看出本质是端口转发到主机而已
文章来源地址https://www.toymoban.com/news/detail-771596.html

到了这里,关于k8s实现外部访问minikube集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 外部节点访问 k8s 集群内的 starrocks

    用kubeadm在虚拟机搭建了k8s,按starrocks官网步骤,用k8s部署了starrocks 部署成功: 在 k8s集群内节点访问到 sr:(通过 clusterIP )  k8s 节点内访问成功: ​​​​​​​  尝试在集群外访问sr:  修改完成后查看端口 集群外部的客户端访问不了,错误是 BE 节点 not found 本地无法

    2024年02月13日
    浏览(43)
  • 【Minikube & Prometheus】基于Prometheus & Grafana监控由Minikube创建的K8S集群

    通过运行以下命令来检查状态 由于使用的是 Minikube,第二个命令 prometheus-server 使用 NodePort . 这样,当 Pod 准备就绪时,就可以轻松访问 Prometheus Web 界面: http://192.168.20.20:30944/targets 由于使用的是 Minikube,为了轻松访问 Grafana 的 Web 界面,将该服务公开为 NodePort 。 注意: Gr

    2024年02月03日
    浏览(184)
  • 云安全攻防(十三)之 使用minikube安装搭建 K8s 集群

    Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化,一般来说K8s安装有三种方式,分别是Minikube装搭建 K8s 集群,特点是只有一个节点的集群,master和worker都在一起。通过云平台搭建K8s,特点是可视化搭建,几步就可以

    2024年02月11日
    浏览(42)
  • k8s自定义Endpoint实现内部pod访问外部应用

    endpoint除了可以暴露pod的IP和端口还可以代理到外部的ip和端口 使用场景 公司业务还还没有完成上云, 一部分云原生的,一部分是实体的 业务上云期间逐步实现上云,保证各个模块之间的解耦性 比如使用云数据库或者实体数据库服务器啥的,因为像数据库实现容器化的话在

    2024年01月25日
    浏览(52)
  • 【云原生 • Kubernetes】认识 k8s 网络、外部网络访问 k8s 内部服务

    目录 一、认识 Kubernetes 网络 二、外部网络如何访问 k8s 内部服务 1. NodePort 2. Load Balancer 3. Ingress Kubernetes 最底层的网络为节点网络,用来保证 k8s 集群的节点(master 和 worker、worker 节点之间)能够做正常的 IP 寻址和通讯。 Kubernetes 第二层网络就是 Pod 网络,构建于节点网络之上

    2024年01月16日
    浏览(71)
  • (详细步骤+各项报错处理)windows11 安装Docker和部署K8S单节点(minikube)

    (1)win11系统(win10应该也可以,但没试过) (2)保证cpu虚拟化开启 (3)主机要留有一定的内存 满足以上即可安装docker desktop版本 (1)获取Docker Desktop并安装Download For Windows(使用了WSL2技术,直接可以在windows上运行,不需要额外的虚拟化环境) (2)开始安装,按照安装向

    2024年02月03日
    浏览(41)
  • K8S 集群应用配置coredns实现访问内网域名 —— 筑梦之路

    问题: 在内网环境中,服务器不能连接互联网,某些服务直接使用ip访问又不方便,于是直接在hosts中配置域名解析,而K8S集群中的应用需要访问这些服务,pod容器内却不能解析,此时该怎么解决呢? 解决方法: 第一种方法:内网自建DNS服务,每台主机DNS都指向该dnsf服务器

    2024年02月15日
    浏览(39)
  • k8s集群部署vmalert和prometheusalert实现钉钉告警

    安装以下软件包:git, kubectl, helm, helm-docs,请参阅本教程。 模板内容: 参考文档:https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-alert 参考文档:https://github.com/feiyu563/PrometheusAlert/tree/master/example/helm/prometheusalert

    2024年02月12日
    浏览(37)
  • 从外部访问K8s中Pod的五种方式

    hostNetwork、 hostPort、 NodePort、 LoadBalancer、 Ingress 暴露Pod与Service一样,因为Pod就是Service的backend 这是一种直接定义 Pod 网络的方式。 如果在 Pod 中使用 hostNetwork:true 配置, pod 中运行的应用程序可以直接看到 pod 启动的主机的网络接口。 在主机的所有网络接口上都可以访问到该

    2024年02月12日
    浏览(37)
  • k8s外部访问pod内部容器的端口-NodePort

    Kubernetes的Pod IP和Cluster IP都只能在集群内部访问,而我们通常需要从外部网络上访问集群中的某些服务,Kubernetes提供了下述几种方式来为集群提供外部流量入口。 有一pod,里面有rabbitmq服务,先想从外部通过ip:15672访问MQ的管理员界面查看队列消费情况。 方法1(pod会重启): 方法

    2023年04月23日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包