创建Ingress资源

Ingress资源是基于HTTP虚拟主机或URL的转发规则,它在资源配置清单的spec字段中嵌套了rules、backend和tls等字段进行定义。下面的示例中定义了一个Ingress资源,它包含了一个转发规则,把发往 www.ilinux.io 的请求代理给名为myapp-svc的Service资源:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: www.ilinux.io
http:
paths:
- backend:
serviceName: myapp-svc
servicePort: 80

上面资源清单中的annotations用于识别其所属的Ingress控制器的类别,这一点在集群上部署有多个Ingress控制器时尤为重要。Ingress Spec中的字段是定义Ingress资源的核心组成部分,它主要嵌套如下三个字段。

  • rules:用于定义当前Ingress资源的转发规则列表;未由rules定义规则, 或者没有匹配到任何规则时,所有流量都会转发到由backend定义的默认后端。

  • backend:默认的后端用于服务那些没有匹配到任何规则的请求;定义Ingress资源时,至少应该定义backend或rules两者之一;此字段用于让负载均衡器指定一个全局默认的后端。

  • tls:TLS配置,目前仅支持通过默认端口443提供服务;如果要配置指定的列表成员指向了不同的主机,则必须通过SNITLS扩展机制来支持此功能。

    backend对象的定义由两个必选的内嵌字段组成:serviceName和servicePort,分别用于指定流量转发的后端目标Service资源的名称和端口。

rules对象由一系列配置Ingress资源的host规则组成,这些host规则用于将一个主机上的某个URL路径映射至相关的后端Service对象,它的定义格式如下:
    spec:
rules:
- host: <String>
http:
paths:
backend:
serviceName: <String>
servicePort: <string>
path: <String>

注意,.spec.rules.host属性值目前不支持使用IP地址,也不支持后跟 “:PORT” 格式的端口号,且此字段值留空表示通配所有的主机名。

tls对象由两个内嵌字段组成,仅在定义TLS主机的转发规则时才需要定义此类对象。

  • hosts:包含于使用的TLS证书之内的主机名称字符串列表,因此,此处使用的主机名必须匹配tlsSecret中的名称。

  • secretName:用于引用SSL会话的secret对象名称,在基于SNI实现多主机路由的场景中,此字段为可选。

Kubernetes--创建Ingress资源的更多相关文章

  1. kubernetes的Ingress资源介绍

    Ingress 的资源帮助信息介绍 [root@master ~]# kubectl explain ingress KIND: Ingress VERSION: extensions/v1beta1 ...

  2. (八)Kubernetes Ingress资源

    前言 Kubernetes提供了两种内建的云端负载均衡机制(cloud load balancing)用于发布公共应用,一种是工作于传输层的Service资源,它实现的是“TCP负载均衡器”,另一种是 ...

  3. k8s的ingress资源简述

    ingress controller是独立与controller-manager的Ingress的主要作用是可以利用nginx,haproxy,envoy,traefik等负载均衡器来暴露集群内部服务 ...

  4. Kubernetes 使用 ingress 配置 https 集群(十五)

    目录 一.背景 1.1 需求 1.2 Ingress 1.3 环境介绍 二.安装部署 2.1.创建后端 Pod 应用 2.2 创建后端 Pod Service 2.3.创建 ingress 资源 2. ...

  5. 容器编排系统k8s之Ingress资源

    前文我们了解了k8s上的service资源的相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14161950.html:今天我们来了解下k8s上的In ...

  6. Kubernetes之Ingress

    在Service篇里面介绍了像集群外部的客户端公开服务的两种方法,还有另一种方法---创建Ingress资源. 定义Ingress (名词)-进入或进入的行为;进入的权利;进入的手段或地点;入口. 接 ...

  7. Kubernetes:Ingress总结(一)

    Blog:博客园 个人 参考:Ingress | Kubernetes.<Kubernetes进阶实战>.<Kubernetes网络权威指南 > 何谓Ingress?从字面意思 ...

  8. [置顶] kubernetes创建资源yaml文件例子--pod

    kubernetes创建pod的yaml文件,参数说明 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 ...

  9. kubernetes创建资源的两种方式

    一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令行的方式直接创建,比如: kubectl run httpd-app --image ...

  10. centos7下kubernetes(6。kubernetes创建资源的两种方式)

    两种方式:1.命令:2.配置文件 之前我们在部署K8S的时候分别用到了命令和配置文件创建K8s资源: 1.命令方式:kubectl run nginx-deployment --image=nginx ...

随机推荐

  1. certutil工具使用和bypass学习

    乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站.服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作.利用此文所提供 ...

  2. TM1621断码液晶驱动IC的原理、驱动代码

    TM1621是一个多功能的LCD驱动器,带有蜂鸣器驱动功能.通讯采用四线串行接口 TM1621的难点在于字节序和显存跟屏幕的映射关系上,下面是写寄存器的代码 void Delay_us(uint8_t ...

  3. 函数记录CAM

    UF_PARAM_generate 生成刀轨 UF_PARAM_duplicate  此函数创建与"old_obj_tag"类型相同的新对象.它使用'old_obj_tag'数据初 ...

  4. 使用fopen,fscanf等函数报安全性问题的错误,unsafe...

    方法一:项目-属性-C/C++-预处理器定义,添加_CRT_SECURE_NO_WARNINGS. 方法二:使用fopen_s,fscanf_s等安全函数.

  5. 思科数据中心CCIE稳定PASS

    乾颐堂DC数据中心CCIE,在增加新题的情况下一次PASS! 目前笔试.lab都在过人,需要备考的同学联系乾颐堂,机时充足!

  6. my.ini

    [client] #客户端设置,即客户端默认的连接参数 # socket = /data/mysqldata/3306/mysql.sock #用于本地连接的socket套接字 # 默认连接端口 po ...

  7. JavaScript基础知识整理(对象的属性)

    对象的定义 无序属性的集合,属性可以包括基本值,对象或函数. JavaScript中有两类属性,数据属性和访问器属性. 特征值 JavaScript使用特征值来描述属性的行为,因为是为实现JavaSc ...

  8. 1构建NTP时间服务器

    NTP时间服务器 NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高的必须统一时间. 互联网的时间服务器也有很多,例如ntp ...

  9. 三、核心实战-服务Service-Ingress

    Service 将一组Pods公开为网络服务的抽象方法. 暴露deployment只能在集群内访问是ClusterIP,可以集群外访问是NodePort,默认端口分配是30000-32767之间 ku ...

  10. IDEA报错Error running ‘Application‘: Command line is too long解决方案

    IDEA报错Error running 'Application': Command line is too long.Shorten command line for Application or ...