当前位置: 首页 > news >正文

网站没备案做阿里妈妈网站建设排名优化

网站没备案做阿里妈妈,网站建设排名优化,柬埔寨做赌博网站,移动端低代码开发平台Ingress Ingressingress详解创建 Ingress 资源部署 Ingress 控制器(Nginx)下载ingress controller创建ingress-controller测试ingress创建两个应用和service配置ingress转发文件 修改ingress转发类型 Ingress 暴露服务基于域名的虚拟主机 Ingress 》ing…

Ingress

  • Ingress
    • ingress详解
    • 创建 Ingress 资源
    • 部署 Ingress 控制器(Nginx)
      • 下载ingress controller
      • 创建ingress-controller
        • 测试ingress
        • 创建两个应用和service
        • 配置ingress转发文件
      • 修改ingress转发类型

Ingress

暴露服务基于域名的虚拟主机

Ingress ==》ing

要理解ingress,需要区分两个概念,ingress和ingress-controller:

ingress对象:
指的是k8s中的一个api对象,一般用yaml配置。作用是定义请求如何转发到service的规则,可以理解为配置模板。

ingress-controller:
具体实现反向代理及负载均衡的程序,对ingress定义的规则进行解析,根据配置的规则来实现请求转发。

简单来说,ingress-controller才是负责具体转发的组件,通过各种方式将它暴露在集群入口,外部对集群的请求流量会先到ingress-controller,而ingress对象是用来告诉ingress-controller该如何转发请求,比如哪些域名哪些path要转发到哪些服务等等。

service 的表现形式为IP:PORT,即工作在第四层传输层(TCP/IP层),对于不同的URL地址经常对应用不同的后端服务或者虚拟服务器,这些应用层的转发机制仅通过kubernetes的service机制是无法实现的,这种情况我么可以使用ingress策略定义和一个具体的ingress Controller.

Ingress提供七层负载均衡能力,可以通过 Ingress 配置提供外部可访问的 URL、负载均衡、SSL、基于名称的虚拟主机等。作为集群流量接入层,Ingress 的高可靠性显得尤为重要。

ingress详解

  • 这个负载均衡是基于nginx七层反向代理来实现的,ingress工作原理如下图:

  • 外部客户端通过访问负载均衡器,然后调度到service上,然后在调度到IngressController,IngressController通过Ingress规则(域名或虚拟主机)访问到后端pod,而在Ingress规则当中对应的主机是由service分组来设定的,可以看到,这幅图有2种service,最上面的service是用来对外提供服务的,而下面2个service仅仅是用来分pod组的

Kubernetes 并没有自带 Ingress Controller,实际上ingress-controller只是一个统称,具体实现有多种,需要自己单独安装,目前,由k8s维护的ingress-controller只有google云的GCE与ingress-nginx两个,常用的是 Ingress-nginx Controller.
Ingress 一般由三个组件组成:1. Nginx 反向代理负载均衡器
2. Ingress Controller 可以理解为控制器,它通过不断的跟 Kubernetes API 交互,实时获取后端 Service、Pod 等的变化,比如新增、删除等,然后结合 Ingress 定义的规则生成配置,然后动态更新上边的 Nginx 负载均衡器,并刷新使配置生效,来达到服务自动发现的作用。
3. Ingress 则是定义规则,通过它定义某个域名的请求过来之后转发到集群中指定的 Service。它可以通过 Yaml 文件定义,可以给一个或多个 Service 定义一个或多个 Ingress 规则。

创建 Ingress 资源

Ingress 中的spec字段是Ingress资源的核心组成部分,主要包含以下3个字段:

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

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

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

部署 Ingress 控制器(Nginx)

下载ingress controller

镜像要在node节点上拥有
wget https://codeload.github.com/kubernetes/ingress-nginx/tar.gz/refs/tags/controller-v1.3.1tar xf ingress-nginx-controller-v1.3.1.tar.gzcd ingress-nginx-controller-v1.3.1/deploy/static/provider/cloudvim deploy.yaml #修改配置文件找到已下apiserver的版本:
# 390行修改
kind: DaemonSet  #将原来的Deployment修改为DaemonSet# 415行下边添加
hostNetwork: true  #添加此配置将image中@后面的hash值删掉

创建ingress-controller

kubectl apply -f deploy.yaml    启动ingresskubectl get pods -n ingress-nginxkubectl get ingressclass
测试ingress
创建两个应用和service
vim my-apache.yamlapiVersion: apps/v1
kind: Deployment
metadata:name: my-apache
spec:selector:matchLabels:run: my-apachereplicas: 2template:metadata:labels:run: my-apachespec:containers:- name: my-apacheimage: daocloud.io/library/httpd:2.4ports:- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:name: my-apachelabels:run: my-apache
spec:#type: NodePortports:- port: 80targetPort: 80#nodePort: 30002selector:run: my-apachecat my-nginx.yaml apiVersion: apps/v1
kind: Deployment
metadata:name: my-nginx
spec:selector:matchLabels:run: my-nginxreplicas: 2template:metadata:labels:run: my-nginxspec:containers:- name: my-nginximage: daocloud.io/library/nginx:1.7.9ports:- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:name: my-nginxlabels:run: my-nginx
spec:#type: NodePortports:- port: 80targetPort: 80#nodePort: 30001selector:run: my-nginx创建pod和service
kubectl apply -f my-apache.yaml    kubectl apply -f my-nginx.yaml查看资源
kubectl get podskubectl get svc
配置ingress转发文件
cat ingress-test.yaml apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: test-ingressnamespace: defaultannotations:nginx.ingress.kubernetes.io/rewrite-target: /
spec:ingressClassName: nginxrules:  #定义转发规则- host: test.apache.ingress  #指定域名方式http:paths:- path: /  #指定访问的路径pathType: Prefix  #定义路径的类型backend:   #定义转发后端的服务service:  #定义转发的servicename: my-apacheport:number: 80- host: test.nginx.ingresshttp:paths:- path: /pathType: Prefixbackend:service:name: my-nginxport:number: 80kubectl apply -f ingress-test.yaml   //启动ingress转发文件kubectl get ingress
windows主机进行域名解析,C:\Windows\System32\drivers\etc\hosts
ip 域名      //任何node节点ip就可

修改ingress转发类型

kubectl edit svc ingress-nginx-controller -n ingress-nginx
# 将type修改为NodePort

nginx-ingress-controller运行在node1,node2两个节点上。

如果网络中有dns服务器,在dns中把这两个域名映射到nginx-ingress-controller运行的任意一个节点上,如果没有dns服务器只能修改host文件了。

任意一个节点上操作:(客户端解析)

在wind电脑设置本地解析

ip test.nginx.ingress
ip test.apache.ingress
http://www.ritt.cn/news/26743.html

相关文章:

  • 网站建设公司上海做网站公司哪家好百度pc端入口
  • 网站建设 经营范围seo网站分析报告
  • 深圳网站备案查询设计网站大全
  • 营销网站建设流程图windows优化大师手机版
  • 台州市建设监理协会网站贵阳网络推广排名
  • 网站留言板块怎么做seo前线
  • 专业的河南网站建设公司网上做广告怎么收费
  • wordpress 宝塔加速seo是什么车
  • jsp网站开发环境配置百度服务商
  • asp.net做网站实例google广告投放
  • 网站频道策划龙岗网站制作
  • 网站要和别人做api 链接信息如何优化上百度首页
  • 网站上的搜索怎么做在线培训平台哪家好
  • 网站开发天津网络营销学什么内容
  • 可做分析图的地图网站国内最近发生的重大新闻
  • 网站分析如何在其他平台做推广
  • 建立自己的网站需要多少钱百度总部地址
  • 调研园区网站建设工作推广信息发布平台
  • 手机网站模板html5百度站长统计
  • 做搜狗pc网站点淘宝关键词工具
  • 兰州做门户网站北京网站优化推广公司
  • 做网盟行业网站的图片广告的销售友情链接交换条件
  • 兼职做网站系统培训心得简短
  • 第二章 网站建设win10优化大师是官方的吗
  • 佛山市做网站的百度关键词点击器
  • 青岛个人网站制作企业网站建设报价
  • 高安网站设计安徽搜索引擎优化
  • 做购物类网站有哪些企业网络推广软件
  • 市政房城乡建设委官方网站全球访问量top100网站
  • 赣州市建设培训网企业网站seo方案案例