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

安全达标建设网站seo流量的提升的软件

安全达标建设网站,seo流量的提升的软件,wordpress比较火的插件,wordpress 导航模板目录前言原理sidecarwebhook实现安装k8s设置webhook使用尾语前言 rust-grpc-proxy 目前功能基本完善。是时候上环境开始应用了。 之前考虑是gateway模式或者sidecar模式。 思考良久之后,觉得两种模式都有使用场景,那就都支持。本次就带来sidecar模式的食…

目录

  • 前言
  • 原理
    • sidecar
    • webhook
  • 实现
    • 安装k8s
    • 设置webhook
    • 使用
  • 尾语

前言

rust-grpc-proxy 目前功能基本完善。是时候上环境开始应用了。
之前考虑是gateway模式或者sidecar模式。
思考良久之后,觉得两种模式都有使用场景,那就都支持。本次就带来sidecar模式的食用姿势。

原理

微服务几乎都是在k8s上搭建的。而rust-grpc-proxy作为无侵入的grpc转http代理,当然也要实现自动部署在k8s上。所以我们的目标如下

  • rust-grpc-proxy能够作为sidecar运行在各个pod中
  • 能够根据标签实现自动注入,基于k8s的webhook能力

sidecar

为什么会优先推荐sidecar(边车模式),这是因为能够避免在集群模式下,rust-grpc-proxy受某个节点的拖累,从而导致整个代理的低效,甚至是不可用。
rust-grpc-proxy 镜像目前最新版只有20MB,拉起非常快,并且会持续扫描主容器,直到超时或者代理成功。
因为是使用rust开发的,你可以大胆且放心的使用,资源消耗很小,安全性也有足够保证。
镜像也能够单独拿出来作为pod使用,可以通过配置文件,或者环境变量指定配置,具体参考上一篇博文的内容。

webhook

k8s的扩展功能里,允许用户在准入阶段(图中3)修改和认证请求,所以我们可以用MutatingAdmissionWebhook实现代理自动注入。
更多参考:https://v1-23.docs.kubernetes.io/zh/docs/reference/access-authn-authz/extensible-admission-controllers/
在这里插入图片描述

实现

安装k8s

教程很多了,这里就不写了
我的 k8s 版本是 1.24.9
之后的操作都在命名空间:qa

设置webhook

首先下载代码:git地址:https://github.com/woshihaoren4/grpc-proxy
进入 deploy目录

//建证书
./webhook-create-signed-cert.sh //生成 mutating_admission.yaml
cat ./webhook_mutating.yaml | ./webhook-patch-ca-bundle.sh > /tmp/mutating_admission.yaml//添加权限
kubectl apply -f webhook_rbac.yaml//生成service
kubectl apply -f webhook_service.yaml//生成deployment
kubectl apply -f webhook_deployment.yaml//生成admission
kubectl apply -f /tmp/mutating_admission.yaml 

说明1:webhook的镜像是:registry.cn-hangzhou.aliyuncs.com/wshr/wd:sidecar-v4
代码位置:https://github.com/woshihaoren4/grpc-proxy/tree/main/webhook

说明2:这个webhook的作用是 在检测到创建或者更新pod时,如果存在 rustGrpcProxyEnable 标签,则自动将rust-grpc-proxy注入到pod配置中,并将这个标签的value 作为目标服务的端口 从而进行代理。

说明3:如果你用的rancher,需要编辑集群的yaml文件,添加如下配置. 否则创建证书请求一直是Approved 而不Issued

services:kube-controller: extra_args: cluster-signing-cert-file: "/etc/kubernetes/ssl/kube-ca.pem"cluster-signing-key-file: "/etc/kubernetes/ssl/kube-ca-key.pem"

说明4:建议在webhook_mutating.yaml文件中开启这个选项namespaceSelector让webhook只在特定命名空间中生效,如果开启了这个,则需要设置命名空间标签

kubectl label namespace <namespace> <key>=enabled

使用

创建一个带标签的pod
这里用到的镜像就是之前的echo测试程序打包成的

kubectl apply -f echo_deployment.yaml

重点内容是这个标签:rustGrpcProxyEnable: "1234" 只有存在这个标签才会添加代理。1234 是echo服务的grpc端口

spec:template:labels:app: echo-serverrustGrpcProxyEnable: "1234"

等待一段时间后,可以看到pod已经创建成功。想要测试我们还需要开放一个外网端口

 kubectl apply -f ./echo_service.yaml

echo_service.yaml 中的内容是创建一个node端口的service,并且映射到echo-server 服务上。大体如下配置

spec:ports:- name: httpnodePort: 30000port: 6789protocol: TCPtargetPort: 6789selector:app: echo-server

设置成功后,发起一个测试命令

  • <NODE_HOST> 替换为节点地址
curl --location --request GET 'http://<NODE_HOST>:30000/api/v1/echo/hello/get?query=666' \
--header 'echo-hello: world' \
--header 'MD-hello: world'

然后就可以看到返回内容{"response": "GET [test-server]---> request=hello query=666"} 表明测试成功

尾语

本文涉及了很多非rust-grpc-proxy 相关的内容,需要和代码一起看。但容器化 微服务,云原生都是大势所趋,rust-grpc-proxy本意就是基于云原生设计的。

http://www.dt0577.cn/news/48489.html

相关文章:

  • dw班级网站建设深圳外贸推广公司
  • 做医学期刊杂志网站百度新闻客户端
  • 重庆媒体网站建设单价怎么让关键词快速上首页
  • app外包接单厦门seo优化公司
  • 查网站有没有做推广网站卖链接
  • 做网站编辑累吗新闻头条国内大事
  • ASP动态网站编程与应用网络营销推广系统
  • 南京网站优化建站网络推广的具体方式
  • 崇明建设小学网站百度推广关键词质量度
  • 上海cms建站模板网络营销产品策略
  • 哪里有放网站的免费空间博客seo怎么做
  • 企业网站 源码 开源上海百度seo网站优化
  • 兰州道路建设情况网站新闻 今天
  • 绵阳公司网站建设宁波seo优化报价多少
  • 网站建设中最基本的决策之一是关键字参数
  • 银川做网站哪家公司好自己建个网站要多少钱
  • 网站和自媒体都可以做云南seo网络优化师
  • 现在网站建设还用测浏览器吗山东进一步优化
  • 用户网站模板百度官网网站登录
  • 做站群网站会被k吗seo的作用
  • 南昌做购物网站的公司怎么做优化
  • 福田做网站报价域名购买平台
  • 网站开发总监招聘免费网站怎么做出来的
  • 帮人建设网站属于增值电信业务吗网站优化排名哪家好
  • 烟台莱山城市建设网站seod的中文意思
  • 鹤壁建设企业网站公司59软文网
  • 网站建设特效代码长春seo排名外包
  • 鸡泽企业做网站推广如何建立网站
  • show t团队网站艰涩nba最新排名公布
  • c 手机网站开发18种最有效推广的方式