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

六安网站自然排名优化价格长沙哪家网站公司

六安网站自然排名优化价格,长沙哪家网站公司,制冷设备东莞网站建设,永久免费建站网站k8s ingress (二) Ingress介绍 在前面课程中已经提到#xff0c;Service对集群之外暴露服务的主要方式有两种#xff1a;NodePort和LoadBalancer#xff0c;但是这两种方式#xff0c;都有一定的缺点#xff1a; NodePort方式的缺点是会占用很多集群机器的端口#xff0…k8s ingress (二) Ingress介绍 在前面课程中已经提到Service对集群之外暴露服务的主要方式有两种NodePort和LoadBalancer但是这两种方式都有一定的缺点 NodePort方式的缺点是会占用很多集群机器的端口那么当集群服务变多的时候这个缺点就愈发明显 LB方式的缺点是每个service需要一个LB浪费、麻烦并且需要kubernetes之外的设备的支持。 基于这种现状kubernetes提供了Ingress资源对象Ingress只需要一个NodePort或者一个LB就可以满足暴露多个Service的需求。工作机制大致如下图表示 实际上Ingress相当于一个7层的负载均衡器是kubernetes对反向代理的一个抽象它的工作原理类似于Nginx,可以理解成在Ingress里建立诸多映射规则Ingress Controller通过监听这些配置规则并转化成Nginx的配置然后对外部提供服务。在这里有两个核心概念 ingresskubernetes中的一个对象作用就定义请求如何转发到service的规则 ingress controller具体实现发向代理及负载均衡的程序对ingress定义的规则进行解析根据配置的规则来实现请求转发实现方式有很多比如Nginx、Contour、Haproxy等等。 Ingress以Nginx为例的工作原理如下 用户编写Ingress规则说明哪个域名对应kubernetes集群中欧冠的哪个Service Ingress控制器动态感知Ingress服务规则的变化然后生成一段对应的Nginx配置 Ingress控制器会将生成的Nginx配置写入到一个运行着Nginx服务中并动态更新 到此为止其实真正在工作的就是Nginx了内部配置了用户定义的请求转发规则 Ingress 环境准备 在ELB下的监听器中可以通过监听器协议和端口来判断是4层还是7层的。 如果监听器协议是TCP或UDP那么该监听器是4层的。这种监听器只能根据目标端口将流量转发到后端实例不能对流量进行任何处理。 如果监听器协议是HTTP或HTTPS那么该监听器是7层的。这种监听器可以根据请求的URL、HTTP头部等信息对流量进行处理并将流量转发到后端实例。 此外还可以通过监听器端口来判断是4层还是7层的。如果监听器端口是80或443那么该监听器是7层的如果监听器端口是其他端口那么该监听器是4层的 Ingress 的使用 Ingress 环境准备 # 创建文件夹 [rootmaster ~]# mkdir ingress-controller [rootmaster ~]# cd ingress-controller/ # 获取ingress-nginx,本次案例使用的是0.30版本 [root#master ingress-controller]# wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/mandatory.yaml [root#master ingress-controller]# wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/provider/baremetal/service-nodeport.yaml # 修改mandatory.yaml文件中的仓库(本人实验不需要修改也可以) # 修改quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.30.0 # 为quay-mirror.qiniu.com/kubernetes-ingress-controller/nginx-ingress-controller:0.30.0 # 创建ingress-nginx [rootmaster ingress-controller]# kubectl apply -f ./ # 查看ingress-nginx [rootmaster ingress-controller]# kubectl get pod -n ingress-nginx NAME                                                                           READY    STATUS         RESTARTS             AGE pod/nginx-ingress-controller-fbf967dd5-4qpbp    1/1         Running        0                            12h # 查看service [rootmaster ingress-controller]# kubectl get svc -n ingress-nginx NAME                   TYPE             CLUSTER-IP          EXTERNAL-IP PORT(S)                                     AGE ingress-nginx NodePort      10.98.75.163  none         80:32240/TCP,443:31335/TCP    11h 准备service和pod 为了后面的实验比较方便创建如下图所示的模型 创建tomcat-nginx.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment  namespace: dev spec: replicas: 3  selector:    matchLabels: app: nginx-pod  template: metadata:   labels:     app: nginx-pod spec:   containers:      - name: nginx        image: nginx:1.17.1        ports:        - containerPort: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: tomat-deployment  namespace: dev spec:  replicas: 3  selector:    matchLabels:      app: tomcat-pod  template:    metadata:      labels:        app: tomcat-pod    spec:      containers:      - name: tomcat        image: tomcat:8.5-jre10-slim        ports:        - containerPort: 8080 --- apiVersion: v1 kind: Service metadata:  name: nginx-service  namespace: dev spec:  selector:    app: nginx-pod  clusterIP: None  type: ClusterIP  ports:  - port: 80    targetPort: 80 --- apiVersion: v1 kind: Service metadata:  name: tomcat-service  namespace: dev spec:  selector: app: tomcat-pod  clusterIP: None  type: ClusterIP  ports:  - port: 8080    targetPort: 8080 # 创建[rootmaster ~]# kubectl create -f tomcat-nginx.yaml # 查看 [rootmaster ~]# kubectl get svc -n dev NAME                          TYPE                    CLUSTER-IP                 EXTERNAL-IP        PORT(S)         AGE nginx-service       ClusterIP        None                           none                80/TCP          48s tomcat-service            ClusterIP        None                           none                8080/TCP      48s Http代理 创建ingress-http.yaml apiVersion: extensions/v1beta1 kind: Ingress metadata:  name: ingress-http  namespace: dev spec:  rules:  - host: nginx.itheima.com    http:      paths:      - path: /        backend:          serviceName: nginx-service          servicePort: 80  - host: tomcat.itheima.com    http:      paths:      - path: /        backend:          serviceName: tomcat-service          servicePort: 8080 # 创建 [rootmaster ~]# kubectl create -f ingress-http.yaml ingress.extensions/ingress-http created # 查看 [rootmaster ~]# kubectl get ing ingress-http -n dev NAME                   HOSTS                                                    ADDRESS                     PORTS           AGE ingress-http  nginx.itheima.com,tomcat.itheima.com                          80                 22s # 查看详情 [rootmaster ~]# kubectl describe ing ingress-http -n dev ... Rules: Host                     Path backends ----                            ----       -------- nginx.itheima.com /             nginx-service:80(10.244.1.96:80,10.244.1.97:80,10.244.2.112.80) tomcat.itheima.com     /             tomcat-service:8080(10.244.1.94:8080,10.244.1.95:8080,10.244.2.111.8080) # 接下来在本地电脑配置host文件解析上面的两个域名到192.168.109.100(master)上 # 然后就可以分别访问tomcat.itheima.com:32240 和nginx.itheima.com:32240 查看效果了 Https代理 创建证书 # 生成证书 openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj /CCN/STBJ/LBJ/0nginx/CNitheima.com # 创建密钥 kubectl create secret tls tls-secret --key tls.key --cert tls.crt 创建ingress-https.yaml 文件 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress-https namespace: dev spec: tls: - hosts: - nginx.itheima.com - tomcat.itheima.com secretName: tls-secret # 指定秘钥 rules: - host: nginx.itheima.com http: paths: - path: / backend: serviceName: nginx-service servicePort: 80 - host: tomcat.itheima.com http: paths: - path: / backend: serviceName: tomcat-service servicePort: 8080 # 创建 inress [rootmaster ~]# kubectl create -f ingress-https.yaml ingress.extensions/ingress-https created # 查看 [rootmaster ~]# kubectl get ing ingress-https -n dev NAME                   HOSTS                                                           ADDRESS                     PORTS    AGE ingress-https nginx.itheima.com,tomcat.itheima.com     10.104.184.38 80, 443       2m42s # 查看详情 [rootmaster ~]# kubectl describe ing ingress-https -n dev ... TLS: tls-secret terminates nginx.itheima.com,tomcat.itheima.com Rules: Host                     Path backends ----                            ----       -------- nginx.itheima.com /             nginx-service:80(10.244.1.97:80,10.244.1.98:80,10.244.2.119.80) tomcat.itheima.com     /             tomcat-service:8080(10.244.1.99:8080,10.244.2.117:8080,10.244.2.120.8080) # 下面可以通过浏览器访问https://nginx.itheima.com:31335 和 https://tomcat.itheima.com:31335来查看了
http://www.dnsts.com.cn/news/207981.html

相关文章:

  • 手机网站适应屏幕在家用电脑做网站
  • 企业网站中文域名有必要续费吗怎样做类似淘宝网的网站
  • 做宣传网站开发公司需要什么资质
  • 挖矿网站怎么免费建设网站建站建设的公司
  • 比较好的网页网站设计成都有什么互联网公司
  • 为什么四川省建设厅网站打不开2014苏州建设银行招聘网站
  • 怎样查看网站是用什么cms_做的123邢台招聘信息网
  • 在线包车网站建设百度seo服务方案
  • 做类似昵图网网站天猫商城支付方式
  • 山东省建设机械协会网站军事最新消息
  • 创意二维码制作网站北京建网站哪家公司好
  • 用织梦做领券网站网站建设人员岗位职责
  • 网站建设张世勇网站 制作 工具
  • 深圳建站公司价格程序员做网站
  • 食品营销型网站手机网站建设维护协议书
  • 做系统简单还是网站简单代理服务器ip国外
  • 山西餐饮加盟网站建设搜狗收录网站
  • 微信辅助做单网站大型资讯门户网站怎么做排名
  • 网站推广的全过程济南官网排名推广
  • 网站开发 工具广告版式设计图片
  • 图片网站怎样选择虚拟主机厦门企业网站制作
  • 哪些网站做的不好wordpress 注册会员
  • 个人网站制作设计江门网站建设方案外包
  • 企业网站会涉及到的版权问题还有什么类似建设通的网站
  • 怎么做才能提高网站权重建设银行积分兑换商城网站
  • 炫酷个人网站php源码徐州网站建设的特点
  • 中山建设厅网站wordpress仿淘宝
  • 临沂市住房和城乡建设局网站wordpress小黄锁
  • 网站建设公司公司好vue做的项目网站
  • wordpress模板论坛长沙做网站优化