k8s无脑系列(九)- Ingress

本文详细介绍了Kubernetes中的Ingress,包括其流量走向、组件依赖和基础术语。重点讲解了部署ingress-nginx控制器的过程,包括镜像配置、权限声明和Service设置。同时,文章还提及了搭建App运行环境的步骤,以及如何进行灰度/蓝绿/金丝雀发布的初步探讨。
摘要由CSDN通过智能技术生成

k8s无脑系列(九)- Ingress

1.了解下Ingress

1.1 Ingress的流量走向

图中所出现的内容,在配置文件中均有体现
在这里插入图片描述

流量基本的流向图所示,LoadBalancer可以是云服务所提供,也可以是一个Nginx/HAProxy/istio,甚至“它”不存在都可以。

糙一点可以直接让IngressService拿外网IP提供服务,本文就这么干的!

1.2 Ingress组件依赖

在这里插入图片描述

1.3 基础术语与关系

术语 作用 关联
IngressController Ingress控制器,内置的是ingress-nginx,
可以认为是真正运行流量分发的地方。k8s系统
自带的是Nginx
Ingress
IngressService 就是个Service,但它是IngressController的前端 IngressController
Ingress 相当于Nginx的主机配置文件 IngressController
ingress annotations 通过注解详细配置主机 Github Ingress Doc

2.部署前的基础描述

  1. Ingress可以有很多种Controller,Ingress-nginx只是其中一个
  2. Ingress在一个命名空间中工作
  3. Ingress运行时需要操作resource,所以涉及到rbac,Service Account,Role等配置

2.1 部署ingress-nginx

  1. 准备ingress-nginx的镜像地址

    registry.cn-beijing.aliyuncs.com/smokelee/nginx-ingress-controller:0.30.0
    
  2. 下载部署用的yaml

    地址会因为项目不停的开发而变化,到Ingress-Nginx Github去看一眼会拿到新链接

    $wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/mandatory.yaml
    
    
  3. 编辑mandatory.yaml

    镜像地址调整为registry.cn-beijing.aliyuncs.com/smokelee/nginx-ingress-controller:0.30.0
    私有仓库有密码的情况,在ingress-nginx的命名空间中加一个secret,并在yaml中增加 imagePullSecrets配置

    该文件作用

    1. 权限声明Role、ClusterRole、Binding、ServiceAccount
    2. 命名空间声明ingress-nginx
    3. 3个ConfigMap
    4. Deployment(部署nginx-controller),也就是说部署了一个nginx意味着它需要一个Service
  4. 准备上面需要的Service来公布服务

    kind: Service
    apiVersion: v1
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值