还有印象雷神索尔里面,管理着彩虹桥的海姆达尔吗~
只有人从彩虹桥传送进来时,第一个面对的就是他。
在k8s里面ingress
也是扮演着相同角色,是k8s cluster 外部连接内部服务的controller
Ingress 宣告了从k8s cluster外部进入到内部服务的http(https)路由。 流量路由由Ingress定义好的规则来控制。
图片来源
如果没有透过ingress就变成是外部直接对应k8s内部service,正常是不会直接把内部服务直接expose出去给外部呼叫,多层 reserve proxy相对安全。
ingress提供了
一般来说使用ingess时,Service type大多会使用LoadBalancer
apiVersion: networking.k8s.io/v1
kind: Ingress #kind要使用Ingress才会动嘿~
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules: #这边定义了ingress从外部导入内部的规则
- http:
paths:
- path: /testpath
pathType: Prefix #path 前缀是/testpath时就会进入规则内
backend:
service: #对应k8s内部服务名称 service叫test,使用80 PORT
name: test
port:
number: 80
pathType分成了 Prefix
跟Exact
二种
type | path | request path | match |
---|---|---|---|
Prefix | / | 全部路径 | YES |
Exact | /aa | /aa | YES |
Exact | /bb | /cc | NO |
Prefix | /aa | /aa, /aa/ | YES |
Prefix | /aa/cc | /aa/ccc | NO |
基於上面逻辑的yaml,
apiVersion: networking.k8s.io/v1
kind: Ingress2
metadata:
name: ingress-test2
spec:
rules:
- host: "aa.bb.com"
http:
paths:
- pathType: Prefix
path: "/cc"
backend:
service:
name: mytest1
port:
number: 80
- host: "*.bb.com"
http:
paths:
- pathType: Prefix
path: "/cc"
backend:
service:
name: mytest2
port:
number: 80
以上就是ingress的最基础用法啦,因为主力不是使用ingress,所以这部份就算是浅谈罗
示例环境: debian10 Ruby Version ≥2.5 生成授权需要安装依赖: ## 确认...
关联到一个控制器 在服务器的控制器(ZK composer)载入资料後,要让它跟 zul 上写的元件...
1. string 今天要来介绍 string(字串),会介绍一些 string 的基本观念以及使用...
今天一样是简单的 SLL、SRL、SRA 指令实作, 再一样为了 Code Stream Logge...
今天进入到全新的篇章 Redux 了! Redux 是 React.js 中很常拿来作为状态管理使...