首页 / 知识
Ingress详细介绍
2023-04-11 16:18:00

1 Ingress概念
通俗来讲,ingress和之前提到的Service、Deployment,也是一个k8s的资源类型,ingress用于实现用域名的方式访问k8s内部应用。
Ingress为Kubernetes集群中的服务提供了入口,可以提供负载均衡、SSL终止和基于名称的虚拟主机,在生产环境中常用的Ingress有Treafik、Nginx、HAProxy、Istio等。
基本概念
在Kubernetesv 1.1版中添加的Ingress用于从集群外部到集群内部Service的HTTP和HTTPS路由,流量从Internet到Ingress再到Services最后到Pod上,通常情况下,Ingress部署在所有的Node节点上。
Ingress可以配置提供服务外部访问的URL、负载均衡、终止SSL,并提供基于域名的虚拟主机。但Ingress不会暴露任意端口或协议。
2 Ingress安装
首先安装helm管理工具:
https://helm.sh/docs/intro/install/
Helm下载地址
https://get.helm.sh/helm-v3.4.1-linux-amd64.tar.gz
Helm安装
[root@master01 ——]# tar xf helm-v3.4.1-linux-amd64.tar.gz
[root@master01 ——]# mv linux-amd64/helm /usr/local/bin/helm
查看helm的版本
[root@master01 ——]# helm version一。1 Ingress概念
通俗来讲,ingress和之前提到的Service、Deployment,也是一个k8s的资源类型,ingress用于实现用域名的方式访问k8s内部应用。
Ingress为Kubernetes集群中的服务提供了入口,可以提供负载均衡、SSL终止和基于名称的虚拟主机,在生产环境中常用的Ingress有Treafik、Nginx、HAProxy、Istio等。
使用helm安装ingress:
https://kubernetes.github.io/ingress-nginx/deploy/#using-helm
添加ingress的helm仓库
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
查看repo源
查看ingress-nginx的版本
[root@master01 ——]# helm search repo ingress-nginx
下载ingress的helm包至本地
helm pull ingress-nginx/ingress-nginx
更改对应的配置
[root@master01 ——]# mkdir temp
[root@master01 ——]# mv ingress-nginx-3.13.0.tgz temp/
[root@master01 ——]# cd temp/
[root@master01 temp]# tar xf ingress-nginx-3.13.0.tgz
[root@master01 temp]# cd ingress-nginx
[root@master01 ingress-nginx]# ls
CHANGELOG.md Chart.yaml ci OWNERS README.md templates values.yaml
[root@master01 ingress-nginx]#vim values.yaml
需要修改的位置
a) Controller和admissionWebhook的镜像地址,需要将公网镜像同步至公司内网镜像仓库
b) hostNetwork设置为true
c) dnsPolicy设置为 ClusterFirstWithHostNet
d) NodeSelector添加ingress: "true"部署至指定节点
e) 类型更改为kind: DaemonSet
修改内容如下
6 repository: quay.io/kubernetes-ingress-controller/nginx-ingress-controller
tag: “0.32.0”
38 dnsPolicy: ClusterFirstWithHostNet
47 hostNetwork: true
133 kind: DaemonSet
231 nodeSelector:
232 kubernetes.io/os: linux
233 ingress: “true”
380 type: ClusterIP
471 repository: registry.cn-beijing.aliyuncs.com/dotbalo/kube-webhook- certgen
部署ingress
给需要部署ingress的节点上打标签
kubectl label node master02 ingress=true
kubectl create ns ingress-nginx
helm install ingress-nginx -n ingress-nginx .
查看pod
1 Ingress入门使用
在创建ingress之前,确保之前创建的service可以使用
创建一个ingress:
创建一个ingress:
cat ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations: #此处不是注释,是告诉ingress如何配置nginx配置文件
kubernetes.io/ingress.class: “nginx”
name: example
spec:
rules: # 一个Ingress可以配置多个rules
host: foo.bar.com # 域名配置,不写默认匹配*, *.bar.com
http:
paths: # 相当于nginx的location配合,同一个host可以配置多个path / /abc
backend:
serviceName: nginx-svc
servicePort: 80
path: /
[root@master01 ——]# kubectl create -f ingress.yaml
ingress.networking.k8s.io/example created
给域名foo.bar.com添加hosts文件
192.168.100.203 foo.bar.com #必须是ingress所在节点
查看ingress中nginx的配置文件
|
最新内容
相关内容
python类、模块、包的概念及区别
python类、模块、包的概念及区别,概念,数据,培训,模块,名字,环境,基础,文件,函数,定义,类类的概念在许多语言中出现,是面向对象编程的基础,很容pythonTKinter普通菜单的介绍
pythonTKinter普通菜单的介绍,培训,名称,菜单,果菜,顶层,快捷键,函数,实例,种类,定义,pythonTKinter普通菜单的介绍TKinter中的菜单种类比较pythonAttributeError异常的介绍
pythonAttributeError异常的介绍,异常,培训,信息,位置,属性,对象,实例,定义,以上,之后,python中AttributeError异常的介绍1、当你访问一个对pythoncanvas画布的介绍
pythoncanvas画布的介绍,培训,数字,单位,画布,对象,都会,组件,实例,属性,以上,pythoncanvas画布的介绍1、在画布上绘制对象,通常用create_xxxxpythonsys.argv模块的介绍
pythonsys.argv模块的介绍,培训,名称,参数,脚本,模块,实例,数量,以上,程序,更多,1、所有命令行参数都可以通过模块中的sys.argv访问,其返回值python蒙特卡洛算法的介绍
python蒙特卡洛算法的介绍,培训,算法,概率,实例,过程,方法,随机性,个数,下面,以上,python中存在着很多算法,本篇要为大家介绍一种新的算法,蒙特python三种模块类型的介绍
python三种模块类型的介绍,标准,在线,官网,培训,第三,模块,参数,类型,列表,开发者,python中三种模块类型的介绍1、内置标准模块,又称为标准库有关jQuery slideToggle() 方法语
有关jQuery slideToggle() 方法语法介绍,有关,jQuery,slideToggle,方法,语法,介绍,jQuery,,jQuery slideToggle() 方法jQuery slide浏览器对象模型对js的作用介绍
浏览器对象模型对js的作用介绍,浏览器,对象,模型,对,的,作用,介绍,浏览器,,浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"一文带你搞清楚Sentinel概念和配置
一文带你搞清楚Sentinel概念和配置,一文,带你,搞,清楚,Sentinel,概念,和,配置,、,,1、Sentinel1.1、Hystrix和Sentinel的比较1. HysVue3 修饰符介绍
Vue3 修饰符介绍,Vue3,修饰,符,介绍,修饰,符,.lazy,在,默认,,修饰符.lazy在默认情况下, v-model 在 input 事件中同步输入框的值与数Java8新特性----Lambda表达式详细
Java8新特性----Lambda表达式详细探讨,Java8,新特性,新,特性,----Lambda,表达式,详细,,Lambda表达式 Lambda是一个匿名函数,可以理