前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【k8s学习笔记四】kubernetes ingress测试

【k8s学习笔记四】kubernetes ingress测试

原创
作者头像
fankhu
修改2023-07-12 00:24:27
4610
修改2023-07-12 00:24:27
举报

1 概念

在 Kubernetes 中,Ingress 是一种资源对象,用于定义对集群内部的服务进行访问的规则。它充当了一个入口点,允许外部流量进入 Kubernetes 集群并路由到相应的服务。

2 定义ingress

vi hello-ingress.yaml

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hello-igc
spec:
  rules:
    - host: hello-ingress.com
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: hello-service
              port:
                number: 8088

注意:

1 从 Kubernetes 1.19 版本开始,建议使用 networking.k8s.io/v1 作为 Ingress 的 apiVersion.

2 在 Kubernetes 的 Ingress YAML 中,port 字段指定用户访问 Ingress 域名时所使用的端口。但需要注意的是,这个端口是 Ingress 控制器暴露的端口,而不是后端服务的端口

3 pathtype为必填项

3 启用并生效ingress

代码语言:javascript
复制
minikube addons enable ingress

kubectl create -f hello-ingress.yaml

4 查看

注意,可以看到图中ingress的IP为192.168.49.2,在 Minikube 中,默认的网络地址段(CIDR)是 192.168.49.0/24。这个地址段是由 Minikube 创建的虚拟网络环境中的默认网络范围。如果直接通过终端访问这个ingress的IP将无法联通

5 minikube下如何通过浏览器访问ingress

根据minikube官网介绍,需要使用minikube tunnel来打通minikube和宿主机的网络:

执行后展示:

下一步进行终端验证,执行curl 127.0.0.1后可以发现通过宿主机(macbook)已经可以访问ingress的服务,多次curl请求会返回不同的pod ip,说明在上一篇中的loadbalance服务已经生效,请求会被负载均衡到不同的pod

k8s学习笔记合集:

【k8s学习笔记一】容器及Docker基础

【k8s学习笔记二】腾讯云harbor私有仓库部署实践

【k8s学习笔记三】kubernetes本地环境部署测试

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 概念
  • 2 定义ingress
  • 3 启用并生效ingress
  • 4 查看
  • 5 minikube下如何通过浏览器访问ingress
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档