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

建设银行上海黄浦支行网站男女生做爰视频网站

建设银行上海黄浦支行网站,男女生做爰视频网站,手工制作收纳盒,巴中哪里可以做公司网站负载均衡是什么#xff1f; 负载均衡#xff08;Load Balancing#xff09;是指将计算机或网络资源分配给多个任务或请求#xff0c;以便有效地处理负 载#xff0c;提高系统性能和可靠性的技术或方法。在计算机网络中#xff0c;负载均衡可以应用于各种场景#xff0c;…负载均衡是什么 负载均衡Load Balancing是指将计算机或网络资源分配给多个任务或请求以便有效地处理负 载提高系统性能和可靠性的技术或方法。在计算机网络中负载均衡可以应用于各种场景如服务器负 载均衡、网络负载均衡和数据库负载均衡等。 负载均衡的主要目标是通过分配和管理资源避免某个节点或服务过载从而提高整个系统的性能和 可用性。它可以通过以下几种方式来实现 1、请求分发将来自用户或客户端的请求分发到多个服务器或节点上。这可以确保每个服务器都能 够处理适量的请求避免单个服务器过载。 2、资源调度根据服务器或节点的负载情况动态地将请求分配到最空闲或最合适的服务器上。这 样可以平衡负载确保每个服务器都得到合理的负载。 3、故障处理当一个服务器或节点发生故障时负载均衡系统可以自动将请求重新分配到其他正常 工作的服务器上以确保服务的连续性和可用性。 4、扩展性和可伸缩性通过添加更多的服务器或节点负载均衡系统可以实现水平扩展从而提高 系统的吞吐量和容量。 在 k8s 中为什么要做负载均衡 1、高可用性负载均衡可以确保应用程序的高可用性。在 K8s 集群中应用程序通常由多个副本 Pod组成这些副本运行在不同的节点上。通过负载均衡流量可以均匀地分发到这些副本上即使 一个节点或副本出现故障负载均衡仍然可以将流量重定向到其他健康的副本从而保持应用程序的可用 性。 2、水平扩展负载均衡可以支持应用程序的水平扩展。当应用程序的负载增加时可以通过增加副 本数量来扩展应用程序的容量。负载均衡器可以自动将流量分发到这些新创建的副本上从而实现应用程 序的扩展性。 3、流量管理负载均衡器能够管理流量的分发和控制。它可以根据不同的负载均衡算法如轮询、 最小连接数或基于权重等将流量分发到不同的副本上。这样可以确保每个副本都能够平均地处理请求 并避免某些副本被过载。 4、服务发现K8s 中的负载均衡器还可以提供服务发现功能。负载均衡器可以为应用程序提供一个 固定的访问入口通常是一个虚拟 IP 地址而不必直接暴露每个副本的 IP 地址。这样当副本的 IP 地 址发生变化时客户端仍然可以通过负载均衡器访问应用程序。扩展 在 k8s 为什么要引入七层负载均衡 1、应用层路由和转发七层负载均衡能够在应用层进行路由和转发决策。与四层负载均衡基于传 输层的负载均衡相比七层负载均衡可以根据应用协议如 HTTP、HTTPS的特定属性进行更精细 的流量分发例如基于 URL、HTTP 头、Cookie 等信息。这使得负载均衡器能够更好地理解应用程序的 行为并根据需要进行灵活的流量控制。 2、HTTP/HTTPS 负载均衡Kubernetes 中的大部分应用程序都使用 HTTP 或 HTTPS 协议进行 通信。七层负载均衡器可以在应用层进行 HTTP/HTTPS 的负载均衡具有更深入的应用层理解和更高级 的功能如 HTTP 请求重写、URL 重定向、会话保持等。这使得负载均衡器能够提供更强大和灵活的 HTTP/HTTPS 流量管理能力。 3、请求级别的负载均衡七层负载均衡器可以实现请求级别的负载均衡。它可以根据请求的特性和 需求将请求分发到不同的后端服务或副本。例如可以根据请求的 URL 路径将特定类型的请求发送到 专门的处理服务或者根据请求的 Cookie 信息将请求发送到特定的会话保持副本。这种细粒度的负载均 衡可以根据应用程序的需求进行定制和优化。 4、应用程序性能和可用性优化七层负载均衡器能够提供一系列应用层的性能优化和安全功能如 SSL 加速、Gzip 压缩、请求缓存等。它还可以通过健康检查和故障检测来监控后端服务的可用性并自 动将流量从故障的服务转移到健康的服务从而提高应用程序的可用性和可靠性。Ingress 和 Ingress Controller 深度解读 当我们在日常生活中想要去不同的商店购物时我们需要找到正确的入口并按照商店的规则进入。类 似地Ingress 和 Ingress-Nginx Controller 在 Kubernetes 中提供了类似的功能。 1. Ingress在 Kubernetes 中Ingress 是一个 API 对象它充当着一个入口点的角色帮助我 们将外部的请求引导到正确的服务上。就像商店的入口指示我们如何进入商店一样Ingress 定 义了一组规则指定了如何将外部的请求流量路由到 Kubernetes 集群内部的服务。 2. Ingress-Nginx ControllerIngress-Nginx Controller 是一个特定类型的 Ingress Controller它使用 Nginx 作为负载均衡器来实现 Ingress 规则定义的流量转发。类比于商店 的入口Ingress-Nginx Controller 就像是一个管理商店入口的工作人员根据 Ingress 规则 将客户引导到正确的服务上。举个例子想象你是一个在线购物平台你有多个商家在平台上销售商品。每个商家都有自己的店铺服 务在 Kubernetes 集群中运行。现在你需要为每个商家提供一个独立的 URL 来访问他们的店铺同时 确保访问流量能够正确地转发到相应的店铺。这时你可以使用 Ingress 来定义规则比如为每个商家指 定一个独特的 URL 路径如/shop1、/shop2然后使用 Ingress-Nginx Controller 将来自外部的 请求根据这些规则转发到对应的商家店铺 使用 Ingress Controller 代理 k8s 内部应用的流程 1部署 Ingress controller我们 ingress controller 使用的是 nginx 2创建 Pod 应用可以通过控制器创建 pod 3创建 Service用来分组 pod 4创建 Ingress http测试通过 http 访问应用 5创建 Ingress https测试通过 https 访问应用 客户端通过七层调度器访问后端 pod 的方式备注跨域啥意思 跨域Cross-Origin是一个安全机制用于限制来自不同域名的资源之间的交互。当一个网页的 脚本尝试从一个源域、协议和端口的组合获取数据时浏览器会执行跨域检查以确保该请求的目标 源具有适当的访问权限。 Nginx 是一个流行的 Web 服务器软件它也可以用作反向代理服务器。在 Nginx 中跨域问题通 常与浏览器的同源策略Same-Origin Policy有关。同源策略要求网页中的 JavaScript 只能访问与 其来源具有相同域名、协议和端口的资源。 当你的网页上的 JavaScript 尝试从一个不同域名的资源请求数据时浏览器会发出跨域请求并且 会在控制台上报告跨域错误。为了解决这个问题你可以在 Nginx 服务器上进行跨域配置允许特定的 跨域请求。 在 Nginx 中配置跨域可以通过添加 HTTP 头字段来实现。以下是一个示例配置允许来自 example.com 域名的跨域请求 location / {add_header Access-Control-Allow-Origin http://example.com;add_header Access-Control-Allow-Methods GET, POST, OPTIONS;add_header Access-Control-Allow-Headers Origin, X-Requested-With, Content-Type, Accept; } 上述配置将在每个响应中添加跨域相关的 HTTP 头字段允许来自 example.com 域的 GET、 POST 和 OPTIONS 请求并允许一些常见的请求头。安装 Nginx Ingress Controller Ingress-controller 和 k8s 版本对照 Ingress-controller 官网 https://github.com/kubernetes/ingress-nginx/传镜像 rootubuntu0:~/matedata/volumes# ansible all -m copy -a srcnginx-ingress-controller_v1.1.1.tar.gz dest/rootrootubuntu0:~/matedata/volumes# ansible all -m copy -a srckube-webhook-certgen_1.1.1.tar.gz dest/root导入镜像 rootubuntu0:~/matedata/volumes# ansible all -m shell -a ctr -nk8s.io images import kube-webhook-certgen_1.1.1.tar.gz rootubuntu0:~/matedata/volumes# ansible all -m shell -a ctr -nk8s.io images import nginx-ingress-controller_v1.1.1.tar.gz安装 Ingress conrtroller 需要的 yaml 所在的 github 地址 https://github.com/kubernetes/ingressnginx/blob/main/deploy/static/provider/baremetal/deploy.yaml 更改了镜像名称以及 rootubuntu0:~# grep hostNetwork deploy.yaml hostNetwork: true #运行在主机上rootubuntu0:~/matedata/ingress# kubectl apply -f deploy.yaml 授权 rootubuntu0:~/matedata/ingress# kubectl create clusterrolebinding clusterrolebinding-user-3 --clusterrolecluster-admin --usersystem:serviceaccount:ingress-nginx:ingress-nginx clusterrolebinding.rbac.authorization.k8s.io/clusterrolebinding-user-3 created rootubuntu0:~/matedata/ingress# kubectl get pods -n ingress-nginx NAME READY STATUS RESTARTS AGE ingress-nginx-admission-create-9hztd 0/1 Completed 0 60s ingress-nginx-admission-patch-5wdz4 0/1 Completed 2 60s ingress-nginx-controller-56dc9c69b9-656fg 0/1 Running 0 60s 这两个 Completed 状态的 Pod 是 Ingress-Nginx 控制器的准入控制 Webhook 的 Job Pod。这是正常现象这两个 Pod 的作用 1. ingress-nginx-admission-create 功能: 创建 TLS 证书和密钥用于验证 Ingress 资源的有效性作用: 为准入控制 Webhook 生成必要的安全凭证2. ingress-nginx-admission-patch 功能: 将 Webhook 配置更新到 Kubernetes API 服务器作用: 注册验证 Webhook确保创建的 Ingress 资源符合规范 工作流程 rootubuntu0:~/matedata/ingress# kubectl get jobs -n ingress-nginx NAME COMPLETIONS DURATION AGE ingress-nginx-admission-create 1/1 17s 4m10s ingress-nginx-admission-patch 1/1 31s 4m10s 为什么是 Completed 状态 Job 类型: 这两个是 Kubernetes Job不是 Deployment一次性任务: Job 执行完成后就会处于 Completed 状态正常行为: 这是设计如此不需要持续运行 测试 Ingress HTTP 代理 k8s 内部站点 步骤 1部署 Ingress controller我们 ingress controller 使用的是 nginx 2创建 Pod 应用可以通过控制器创建 pod 3创建 Service用来分组 pod 4创建 Ingress http测试通过 http 访问应用 5创建 Ingress https测试通过 https 访问应用部署后端 tomcat 服务 rootubuntu0:~/matedata/ingress# cat ingress-demo.yaml apiVersion: apps/v1 kind: Deployment metadata:name: tomcat-deploynamespace: default spec: replicas: 2selector:matchLabels:app: tomcatrelease: canarytemplate:metadata:labels:app: tomcatrelease: canaryspec:containers:- name: tomcatimage: docker.io/library/tomcat:8.5.34-jre8-alpineimagePullPolicy: IfNotPresentports:- name: httpcontainerPort: 8080- name: ajpcontainerPort: 8009 --- apiVersion: v1 kind: Service metadata:name: tomcatnamespace: default spec:selector:app: tomcatrelease: canaryports:- name: httptargetPort: 8080port: 8080- name: ajptargetPort: 8009port: 8009 rootubuntu0:~/matedata/ingress# kubectl apply -f ingress-demo.yaml deployment.apps/tomcat-deploy created service/tomcat created rootubuntu0:~/matedata/ingress# kubectl get pods -owide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod-pvc 1/1 Running 0 7h48m 10.244.152.105 ubuntu2 none none read-pod 1/1 Running 0 6h43m 10.244.25.174 ubuntu1 none none tomcat-deploy-7455769b96-b9z4r 1/1 Running 0 9s 10.244.25.191 ubuntu1 none none tomcat-deploy-7455769b96-rlfs8 1/1 Running 0 9s 10.244.152.121 ubuntu2 none none xpp-c44d68dcf-fkxkk 1/1 Running 0 6h56m 10.244.25.173 ubuntu1 none none 编写 ingress 规则 rootubuntu0:~/matedata/ingress# cat ingress-myapp.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: ingress-myappnamespace: default spec:ingressClassName: nginxrules: #定义后端转发的规则- host: tomcat.lucky.com #通过域名进行转发 http:paths:- path: / #配置访问路径如果通过 url 进行转发需要修改空默认为访问的路径为/pathType: Prefixbackend: #配置后端服务service:name: tomcatport:number: 8080备注pathType: Prefix 指定了路径前缀匹配方式 http:paths:- path: /pathType: Prefixbackend:service:name: tomcatport: 8080 pathType: Prefix 指定了路径前缀匹配方式, 除了精确匹配根路径 / 外它还会匹配根路径之后的所有子路径。rootubuntu0:~/matedata/ingress# kubectl apply -f ingress-myapp.yaml ingress.networking.k8s.io/ingress-myapp created rootubuntu0:~/matedata/ingress# kubectl get ingress -owide NAME CLASS HOSTS ADDRESS PORTS AGE ingress-myapp nginx tomcat.lucky.com 192.168.23.97 80 65s访问ip不行只有域名因为host: tomcat.lucky.com 写的是域名写ip别人不认 测试 Ingress HTTPS 代理 tomcat 1.构建 TLS 站点 rootubuntu0:~# openssl genrsa -out tls.key 2048 rootubuntu0:~# openssl req -new -x509 -key tls.key -out tls.crt -subj /CCN/STBeijing/LBeijing/ODevOps/CNtomcat.lucky.com 2 生成 secret rootubuntu0:~# kubectl create secret tls tomcat-ingress-secret --certtls.crt --keytls.key secret/tomcat-ingress-secret created NAME TYPE DATA AGE default-token-mnzns kubernetes.io/service-account-token 3 43d nfs-provisioner-token-n4w5h kubernetes.io/service-account-token 3 10h tomcat-ingress-secret kubernetes.io/tls 2 62s rootubuntu0:~# kubectl describe secrets tomcat-ingress-secret Name: tomcat-ingress-secret Namespace: default Labels: none Annotations: noneType: kubernetes.io/tlsDatatls.crt: 1310 bytes tls.key: 1708 bytesIngress 规则可以参考官方 https://kubernetes.io/zh/docs/concepts/services-networking/ingress/ pathType 类型https://kubernetes.io/zh-cn/docs/concepts/servicesnetworking/ingress/#path-types rootubuntu0:~/matedata/ingress# cat ingress-tomcat-tls.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: ingress-tomcat-tlsnamespace: default spec:ingressClassName: nginxtls:- hosts:- tomcat.lucky.comsecretName: tomcat-ingress-secretrules:- host: tomcat.lucky.comhttp:paths:- path: /pathType: Prefixbackend:service:name: tomcatport:number: 8080 rootubuntu0:~/matedata/ingress# kubectl apply -f ingress-tomcat-tls.yaml Error from server (BadRequest): error when creating ingress-tomcat-tls.yaml: admission webhook validate.nginx.ingress.kubernetes.io denied the request: host tomcat.lucky.com and path / is already defined in ingress default/ingress-myapp rootubuntu0:~/matedata/ingress# kubectl get ingress NAME CLASS HOSTS ADDRESS PORTS AGE ingress-myapp nginx tomcat.lucky.com 192.168.23.97 80 41m rootubuntu0:~/matedata/ingress# kubectl delete -f ingress-myapp.yaml ingress.networking.k8s.io ingress-myapp deleted rootubuntu0:~/matedata/ingress# kubectl apply -f ingress-tomcat-tls.yaml ingress.networking.k8s.io/ingress-tomcat-tls created rootubuntu0:~/matedata/ingress# kubectl get ingress NAME CLASS HOSTS ADDRESS PORTS AGE ingress-tomcat-tls nginx tomcat.lucky.com 192.168.23.97 80, 443 5m1s
http://www.zqtcl.cn/news/278873/

相关文章:

  • 北京网站建设网怎么用手机做一个网站
  • 网站建设管理办法关于公司门户网站建设的议案
  • 网站开发入职转正申请书体验好的网站
  • 在线精品课程网站开发网站备案号怎么修改
  • 网站建设 风险百度热搜的含义
  • 怎样创作网站公司做网站 要准备哪些素材
  • 网站上的平面海报怎么做南阳企业做网站
  • 佛山公众平台网站推广多少钱wordpress如何调用分类目录
  • 网站推广应该注意什么信息发布平台推广
  • 官方网站案例做网站私活在哪接
  • 做网站滨州wordpress 不同域名
  • 找人做设计的网站广州做网站(信科网络)
  • 如何选择网站做站方向青之峰网站建设
  • 福州哪家网站制作设计高端还实惠设计logo的理念
  • 吉林市网站建设促销式软文案例
  • 三门峡市建设局网站网站开发费用是否资本化
  • 建设部网站官网 施工许可杭州萧山网站开发
  • 福建省建设资格注册管理中心网站竹子建站怎么样
  • 想做一个什么样的网站网站建设功能评价指标
  • 网站建设渠道合作友情链接是免费的吗
  • wordpress如何制作网站网站建设及推广方案ppt
  • 关于建设门户网站的通知重庆刮刮卡制作
  • 网站建设和维护工作内容凡科网免费建站步骤及视频
  • 如何用c 做网站最新疫苗接种最新消息
  • 营销型网站建设报价wordpress 注册 登录界面
  • 网站编辑器哪个好黄骅网站建设价格
  • 爱站工具包官网下载国外cdn
  • 郑州便宜网站建设做网站横幅的图片多大
  • 网站建设的未来wordpress防黑客插件
  • 个人备案网站可以做支付吗做娱乐新闻的网站有哪些