PageSourceSearch

https://edgemesh.netlify.app/assets/js/v-b79f66ac.21f6fa2d.js

js edgemesh.netlify.app collected 2026-10-03 10:41:05 UTC 9,601 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkedgemesh=self.webpackChunkedgemesh||[]).push([[347],{2026:(n,s,a)=>{a.r(s),a.d(s,{data:()=>e});const e={key:"v-b79f66ac",path:"/zh/guide/edge-gateway.html",title:"边缘网关",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:2,title:"部署",slug:"部署",children:[{level:3,title:"Helm 部署",slug:"helm-部署",children:[]},{level:3,title:"手动部署",slug:"手动部署",children:[]}]},{level:2,title:"HTTP 网关",slug:"http-网关",children:[]},{level:2,title:"HTTPS 网关",slug:"https-网关",children:[]}],filePathRelative:"zh/guide/edge-gateway.md",git:{updatedTime:1663549505e3,contributors:[]}}},8395:(n,s,a)=>{a.r(s),a.d(s,{default:()=>r});var e=a(6252);const t=(0,e.uE)('<h1 id="边缘网关" tabindex="-1"><a class="header-anchor" href="#边缘网关" aria-hidden="true">#</a> 边缘网关</h1><p>EdgeMesh 的边缘网关提供了通过网关的方式访问集群内部服务的能力,本章节会指导您从头部署一个边缘网关。</p><p><img src="/images/guide/em-ig.png" alt="edgemesh-ingress-gateway"></p><h2 id="部署" tabindex="-1"><a class="header-anchor" href="#部署" aria-hidden="true">#</a> 部署</h2><p>在部署边缘网关之前请确保 edgemesh 已经部署成功。</p><h3 id="helm-部署" tabindex="-1"><a class="header-anchor" href="#helm-部署" aria-hidden="true">#</a> Helm 部署</h3>',6),p=(0,e.Uk)("确保你已经安装了 Helm 3,然后参考:"),l={href:"https://github.com/kubeedge/edgemesh/blob/main/build/helm/edgemesh-gateway/README.md",target:"_blank",rel:"noopener noreferrer"},c=(0,e.Uk)("Helm 部署 EdgeMesh-Gateway 指南"),i=(0,e.uE)('<div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ helm <span class="token function">ls</span> -A\nNAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION\nedgemesh-gateway        kubeedge        <span class="token number">1</span>               <span class="token number">2022</span>-09-18 <span class="token number">12</span>:56:29.062456383 +0800 CST deployed        edgemesh-gateway-0.1.0  latest\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><h3 id="手动部署" tabindex="-1"><a class="header-anchor" href="#手动部署" aria-hidden="true">#</a> 手动部署</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl apply -f build/gateway/resources\nserviceaccount/edgemesh-gateway created\nclusterrole.rbac.authorization.k8s.io/edgemesh-gateway created\nclusterrolebinding.rbac.authorization.k8s.io/edgemesh-gateway created\nconfigmap/edgemesh-gateway-cfg created\nconfigmap/edgemesh-gateway-psk created\ndeployment.apps/edgemesh-gateway created\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><div class="custom-container tip"><p class="custom-container-title">提示</p><p>请根据你的 K8s 集群设置 04-deployment.yaml 的 relayNodes,并重新生成 PSK 密码。以及设置 05-deployment.yaml 的 nodeName。</p></div><h2 id="http-网关" tabindex="-1"><a class="header-anchor" href="#http-网关" aria-hidden="true">#</a> HTTP 网关</h2><p><strong>创建 Gateway 资源对象和路由规则 VirtualService</strong></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl apply -f examples/hostname-lb-random-gateway.yaml\ndeployment.apps/hostname-lb-edge created\nservice/hostname-lb-svc created\ngateway.networking.istio.io/edgemesh-gateway created\ndestinationrule.networking.istio.io/hostname-lb-svc created\nvirtualservice.networking.istio.io/edgemesh-gateway-svc created\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p><strong>查看 edgemesh-gateway 是否创建成功</strong></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl get gw\nNAME               AGE\nedgemesh-gateway   3m30s\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><p><strong>最后,使用 IP 和 Gateway 暴露的端口来进行访问</strong></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>
1$ <span class="token function">curl</span> <span class="token number">192.168</span>.0.211:23333\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br></div></div><h2 id="https-网关" tabindex="-1"><a class="header-anchor" href="#https-网关" aria-hidden="true">#</a> HTTPS 网关</h2><p><strong>创建测试密钥文件</strong></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ openssl req -x509 -nodes -days <span class="token number">365</span> -newkey rsa:2048 -keyout tls.key -out tls.crt -subj <span class="token string">&quot;/CN=kubeedge.io&quot;</span>\nGenerating a RSA private key\n<span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>+++++\n<span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>.+++++\nwriting new private key to <span class="token string">&#39;tls.key&#39;</span>\n-----\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p><strong>根据密钥文件创建 Secret 资源对象</strong></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl create secret tls gw-secret --key tls.key --cert tls.crt\nsecret/gw-secret created\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><p><strong>创建绑定了 Secret 的 Gateway 资源对象和路由规则 VirtualService</strong></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl apply -f examples/hostname-lb-random-gateway-tls.yaml\ndeployment.apps/hostname-lb-edge created\nservice/hostname-lb-svc created\ngateway.networking.istio.io/edgemesh-gateway created\ndestinationrule.networking.istio.io/hostname-lb-svc created\nvirtualservice.networking.istio.io/edgemesh-gateway-svc created\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p><strong>
1最后,使用证书进行 HTTPS 访问</strong></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">curl</span> -k --cert ./tls.crt --key ./tls.key https://192.168.0.129:23333\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br></div></div>',20),r={render:function(n,s){const a=(0,e.up)("OutboundLink");return(0,e.wg)(),(0,e.iD)(e.HY,null,[t,(0,e._)("p",null,[p,(0,e._)("a",l,[c,(0,e.Wm)(a)])]),i],64)}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.