k8s的ingress使用
ingress
可以配置一个入口来提供k8s上service从外部来访问的url、负载平衡流量、终止SSL和提供基于名称的虚拟主机。
配置ingress的yaml:
要求域名解析无误
要求service对应的pod正常
一、test1.domain.com --> service1:8080
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
namespace: test
spec:
rules:
- host: test1.domain.com
http:
paths:
- backend:
serviceName: service1
servicePort:
path: /
二、test1.domain.com --> /aaa --> service2:8080
--> /bbb --> service3:8080
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
namespace: test
spec:
rules:
- host: test1.domain.com
http:
paths:
- backend:
serviceName: service1
servicePort:
path: /aaa
- backend:
serviceName: service2
servicePort:
path: /bbb
三、test1.domain.com --> service1:8080
test2.domain.com --> service4:8080
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
namespace: test
spec:
rules:
- host: test1.domain.com
http:
paths:
- backend:
serviceName: service1
servicePort:
- host: test2.domain.com
http:
paths:
- backend:
serviceName: service4
servicePort:
四、test1.domain.com --> service1:8080
没在request中定义主机名(即没有显示请求头)的请求 --> service5:8080
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
namespace: test
spec:
rules:
- host: test1.domain.com
http:
paths:
- backend:
serviceName: service1
servicePort:
- http:
paths:
- backend:
serviceName: service5
servicePort:
五、https://test1.domain.com --> service1:8080
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
namespace: test
spec:
rules:
- host: test1.domain.com
http:
paths:
- backend:
serviceName: service1
servicePort:
tls:
- hosts:
- test1.domain.com
secretName: domain-tls #证书见下
证书yaml
apiVersion: v1
data:
tls.crt: cert(base64) #转码见下
tls.key: key(base64)
kind: Secret
metadata:
name: domain-tls
namespace: test
type: kubernetes.io/tls
base64转码
cat fullchain.pem | base64 | tr '\n' ' ' | sed s/[[:space:]]//g #中间去掉换行和空格
cat privkey.pem | base64 | tr '\n' ' ' | sed s/[[:space:]]//g
六、nginx中的设置,在ingress是通过annotations来配置的
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
namespace: test
annotations:
nginx.ingress.kubernetes.io/proxy-connect-timeout: "600s"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600s"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600s"
spec:
rules:
- host: test1.domain.com
http:
paths:
- backend:
serviceName: service1
servicePort:
path: /
详细ingress链接:https://kubernetes.io/docs/concepts/services-networking/ingress/
ingress中annotations的配置选项:https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
k8s的ingress使用的更多相关文章
- [转帖]理解k8s 的 Ingress
理解k8s 的 Ingress https://www.jianshu.com/p/189fab1845c5/ 暴露一个http服务的方式 service 是 k8s 暴露http服务的默认方式, 其 ...
- Kubernetes K8S之Ingress详解与示例
K8S之Ingress概述与说明,并详解Ingress常用示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...
- 容器编排系统k8s之Ingress资源
前文我们了解了k8s上的service资源的相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14161950.html:今天我们来了解下k8s上的In ...
- k8s 执行 ingress yaml 文件报错: error when creating "ingress-myapp.yaml": Internal error occurred: failed calling webhook
k8s 执行 ingress yaml 文件报错:错误如下: [root@k8s-master01 baremetal]# kubectl apply -f ingress-test.yaml Err ...
- 详解k8s组件Ingress边缘路由器并落地到微服务 - kubernetes
写在前面 Ingress 英文翻译 进入;进入权;进食,更准确的讲就是入口,即外部流量进入k8s集群必经之口.这到大门到底有什么作用?我们如何使用Ingress?k8s又是如何进行服务发现的呢?先看一 ...
- k8s安装ingress
1. 环境准备 安装nginx-ingress-controller和backend cd /etc/yum.repos.d/mainfests 下载镜像的脚本 vi ingressnginx.sh ...
- (转)详解k8s组件Ingress边缘路由器并落地到微服务 - kubernetes
转:https://www.cnblogs.com/justmine/p/8991379.html 写在前面 Ingress 英文翻译 进入;进入权;进食,更准确的讲就是入口,即外部流量进入k8s集群 ...
- k8s系列---ingress资源和ingress-controller
https://www.cnblogs.com/zhangeamon/p/7007076.html http://blog.itpub.net/28916011/viewspace-2214747/ ...
- k8s中ingress,service,depoyment,pod如何关联
k8s中pod通过label标签名称来识别关联,它们的label name一定是一样的.ingress,service,depoyment通过selector 中app:name来关联 1.查询发布 ...
随机推荐
- POJ3784:Running Median
浅谈堆:https://www.cnblogs.com/AKMer/p/10284629.html 题目传送门:http://poj.org/problem?id=3784 用一个"对顶堆& ...
- mariadb复制
实验环境:CentOS7 #安装mariadb-server #主数据库: [root@~ localhost]#vim /etc/my.cnf.d/server.cnf [mysqld] skip_ ...
- Python模块-chardet模块
chardet模块用来获取文件的编码 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import chardet f = o ...
- Microsoft Data Access Components 2.8
今天在安装金蝶系统的时候,发现这个组件无法安装上 此组件如果跳过,不安装,将会导致金蝶安装完毕后,提醒无法创建账套,也就是金蝶软件无法连接到数据库上,所以此步为必须. 于是乎,网上找这个组件,下载地址 ...
- 什么是Nginx?为什么使用Nginx?
源自 https://blog.csdn.net/yougoule/article/details/78186138 一.前言 为毛要用nginx服务器代理,不直接用tomcat 7.0,还 ...
- Pig Latin JOIN (inner) 与JOIN (outer)的区别
1.内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2.外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 3. ...
- MQTT协议实现Eclipse Paho学习总结二
一.概述 前一篇博客(MQTT协议实现Eclipse Paho学习总结一) 写了一些MQTT协议相关的一些概述和其实现Eclipse Paho的报文类别,同时对心跳包进行了分析.这篇文章,在不涉及MQ ...
- 匿名委托(方法) 以 ThreadStart 为例
Hello Tec. 匿名委托(方法) 以 ThreadStart 为例 REF:http://baike.baidu.com/view/2761370.htm?fr=aladdin 不使用匿 ...
- C#面向对象三大特性之三:多态
比起前面的封装和继承,多态这个概念不是那么好理解.我们还是从一个事例开始: 公司最近为了陶冶情操,养了几种动物(Animal),有猫(Cat).狗(Dog).羊(Sheep),这些动物都有共同的特性, ...
- Kolla Ocata版本安装及镜像制作流程
1.关闭宿主机firewalldsystemctl disable firewalldsystemctl stop firewalld 2.配置selinux为disable,否则创建的实例网络不通临 ...