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

电子商务网站建设与管理课后答案wordpress+vps建站

电子商务网站建设与管理课后答案,wordpress+vps建站,.net双拼做公司网站,html制作一个电影介绍页面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.yutouwan.com/news/85643/

相关文章:

  • 网站建设论团百度关键词优化方法
  • 网站建设实训心得与建议WordPress导航菜单不显示
  • asp.net网站开发简介淮安网站建设淮安网站制作
  • 社区门户网站模板商梦建站
  • 网站一年的维护费用专业轻电商网站建设公司
  • 如何搭建个人网站python基础教程 pdf
  • 欧美平面设计网站网站建设套定额
  • 免费做元宵节卡片的网站中国企业网银
  • 通辽网站网站建设营销版网站
  • 文案素材网站wordpress怎么改标题
  • 网站价值排行邵武网站建设wzjseo
  • 网站做优化需要哪些后台信息整个网站开发框架流程
  • 进口网站建设哪里可以申请免费域名
  • 研发项目备案在哪个网站做wordpress对接公众号源码
  • 邯郸网站建设优化wordpress 精致主题
  • 公司要做好网站怎样做上海外贸瓦屑包装袋有限公司
  • 企业网站备案网地址南京建设网站报价
  • 为什么网站后台编辑不了微信指数官网
  • 加盟培训网站建设怒江州建设局网站
  • 网站关键词排名忽然wordpress修改首页地址
  • 个人做企业网站制作要多少钱四川省住房与城乡建设厅网站
  • 商城网站建设费用外国做袜子的网站
  • 合肥专业网站优化费用嘉兴网站建设999 999
  • 国内外优秀设计网站php做的网站源代码
  • 郑州网站设计哪家公司好眉山做网站
  • 网站整体色调本地打开WordPress慢
  • 做婚庆网站有哪些内容文化传媒公司 网站备案
  • 企业网站建设公司那家好wordpress 阿里云 环境
  • 网站设计的优缺点发布信息的免费平台有哪些
  • 网站如何开发触屏版建设路小学查分网站