PageSourceSearch

https://edgemesh.netlify.app/assets/js/v-47357bdb.f91d9759.js

js edgemesh.netlify.app collected 2026-10-03 10:41:21 UTC 13,251 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkedgemesh=self.webpackChunkedgemesh||[]).push([[892],{1044:(e,n,s)=>{s.r(n),s.d(n,{data:()=>a});const a={key:"v-47357bdb",path:"/zh/guide/",title:"快速上手",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:2,title:"依赖环境",slug:"依赖环境",children:[]},{level:2,title:"前置准备",slug:"前置准备",children:[]},{level:2,title:"安装",slug:"安装",children:[{level:3,title:"Helm 安装",slug:"helm-安装",children:[]},{level:3,title:"手动安装",slug:"手动安装",children:[]}]}],filePathRelative:"zh/guide/README.md",git:{updatedTime:1694764545e3,contributors:[]}}},1341:(e,n,s)=>{s.r(n),s.d(n,{default:()=>w});var a=s(6252);const l=(0,a._)("h1",{id:"快速上手",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#快速上手","aria-hidden":"true"},"#"),(0,a.Uk)(" 快速上手")],-1),r=(0,a._)("h2",{id:"依赖环境",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#依赖环境","aria-hidden":"true"},"#"),(0,a.Uk)(" 依赖环境")],-1),t={href:"https://kubeedge.io/zh/docs/#dependencies",target:"_blank",rel:"noopener noreferrer"},p=(0,a.Uk)("KubeEdge 所需的依赖"),o={href:"https://github.com/kubeedge/kubeedge/releases",target:"_blank",rel:"noopener noreferrer"},u=(0,a.Uk)("KubeEdge >= v1.7.0"),c={class:"custom-container tip"},i=(0,a._)("p",{class:"custom-container-title"},"提示",-1),d=(0,a._)("li",null,[(0,a._)("p",null,"EdgeMesh 并不依赖于 KubeEdge,它仅与标准 Kubernetes API 交互")],-1),b=(0,a.Uk)("鉴于边缘节点可能被割裂在不同边缘网络中的情况,我们借助于 "),g=(0,a.Uk)("边缘 Kube-API 端点"),m=(0,a.Uk)(" 功能以简化设置"),k=(0,a.uE)('<h2 id="前置准备" tabindex="-1"><a class="header-anchor" href="#前置准备" aria-hidden="true">#</a> 前置准备</h2><ul><li><strong>步骤1</strong>: 去除 K8s master 节点的污点</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl taint nodes --all node-role.kubernetes.io/master-\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br></div></div><p>如果 K8s master 节点上没有部署需要被代理的应用,上面的步骤也可以不执行。</p><ul><li><strong>步骤2</strong>: 给 Kubernetes API 服务添加过滤标签</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl label services kubernetes service.edgemesh.kubeedge.io/service-proxy-name<span class="token operator">=</span><span class="token string">&quot;&quot;</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br></div></div>',6),h=(0,a.Uk)("正常情况下你不会希望 EdgeMesh 去代理 Kubernetes API 服务,因此需要给它添加过滤标签,更多信息请参考 "),E=(0,a.Uk)("服务过滤"),A=(0,a.Uk)("。"),v=(0,a._)("ul",null,[(0,a._)("li",null,[(0,a._)("strong",null,"步骤3"),(0,a.Uk)(": 启用 KubeEdge 的边缘 Kube-API 端点服务")])],-1),f=(0,a.Uk)("请参考文档 "),R=(0,a.Uk)("边缘 Kube-API 端点"),_=(0,a.Uk)(" 以启用此服务。"),S=(0,a._)("h2",{id:"安装",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#安装","aria-hidden":"true"},"#"),(0,a.Uk)(" 安装")],-1),T=(0,a._)("p",null,"我们提供了两种方式安装 EdgeMesh,你可以根据自己的情况二选一去部署 EdgeMesh。",-1),N=(0,a._)("h3",{id:"helm-安装",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#helm-安装","aria-hidden":"true"},"#"),(0,a.Uk)(" Helm 安装")],-1),D=(0,a._)("ul",null,[(0,a._)("li",null,[(0,a._)("strong",null,"步骤1"),(0,a.Uk)(": 安装 Charts")])],-1),U=(0,a.Uk)("确保你已经安装了 Helm 3,然后参考:"),x={href:"https://github.com/kubeedge/edgemesh/blob/main/build/helm/edgemesh/README.md",target:"_blank",rel:"noopener noreferrer"},I=(0,a.Uk)("Helm 部署 EdgeMesh 指南"),O=(0,a.uE)('<ul><li><strong>步骤2</strong>: 检验部署结果</li></ul><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        kubeedge        <sp
1an class="token number">1</span>               <span class="token number">2022</span>-09-18 <span class="token number">12</span>:21:47.097801805 +0800 CST deployed        edgemesh-0.1.0  latest\n\n$ kubectl get all -n kubeedge -o wide\nNAME                       READY   STATUS    RESTARTS   AGE   IP              NODE         NOMINATED NODE   READINESS GATES\npod/edgemesh-agent-7gf7g   <span class="token number">1</span>/1     Running   <span class="token number">0</span>          39s   <span class="token number">192.168</span>.0.71    k8s-node1    <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>\npod/edgemesh-agent-fwf86   <span class="token number">1</span>/1     Running   <span class="token number">0</span>          39s   <span class="token number">192.168</span>.0.229   k8s-master   <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>\npod/edgemesh-agent-twm6m   <span class="token number">1</span>/1     Running   <span class="token number">0</span>          39s   <span class="token number">192.168</span>.5.121   ke-edge2     <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>\npod/edgemesh-agent-xwxlp   <span class="token number">1</span>/1     Running   <span class="token number">0</span>          39s   <span class="token number">192.168</span>.5.187   ke-edge1     <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>\n\nNAME                            DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE   CONTAINERS       IMAGES                           SELECTOR\ndaemonset.apps/edgemesh-agent   <span class="token number">4</span>         <span class="token number">4</span>         <span class="token number">4</span>       <span class="token number">4</span>            <span class="token number">4</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>          39s   edgemesh-agent   kubeedge/edgemesh-agent:latest   k8s-app<span class="token operator">=</span>kubeedge,kubeedge<span class="token operator">=</span>edgemesh-agent\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><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br></div></div><h3 id="手动安装" tabindex="-1"><a class="header-anchor" href="#手动安装" aria-hidden="true">#</a> 手动安装</h3><ul><li><strong>步骤1</strong>
1: 获取 EdgeMesh</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">git</span> clone https://github.com/kubeedge/edgemesh.git\n$ <span class="token builtin class-name">cd</span> edgemesh\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><ul><li><strong>步骤2</strong>: 安装 CRDs</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl apply -f build/crds/istio/\ncustomresourcedefinition.apiextensions.k8s.io/destinationrules.networking.istio.io created\ncustomresourcedefinition.apiextensions.k8s.io/gateways.networking.istio.io created\ncustomresourcedefinition.apiextensions.k8s.io/virtualservices.networking.istio.io 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></div></div><ul><li><strong>步骤3</strong>: 部署 edgemesh-agent</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl apply -f build/agent/resources/\nserviceaccount/edgemesh-agent created\nclusterrole.rbac.authorization.k8s.io/edgemesh-agent created\nclusterrolebinding.rbac.authorization.k8s.io/edgemesh-agent created\nconfigmap/edgemesh-agent-cfg created\nconfigmap/edgemesh-agent-psk created\ndaemonset.apps/edgemesh-agent 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 集群设置 build/agent/resources/04-configmap.yaml 的 relayNodes,并重新生成 PSK 密码。</p></div><ul><li><strong>步骤4</strong>: 检验部署结果</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl get all -n kubeedge -o wide\nNAME                       READY   STATUS    RESTARTS   AGE   IP              NODE         NOMINATED NODE   READINESS GATES\npod/edgemesh-agent-7gf7g   <sp
1an class="token number">1</span>/1     Running   <span class="token number">0</span>          39s   <span class="token number">192.168</span>.0.71    k8s-node1    <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>\npod/edgemesh-agent-fwf86   <span class="token number">1</span>/1     Running   <span class="token number">0</span>          39s   <span class="token number">192.168</span>.0.229   k8s-master   <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>\npod/edgemesh-agent-twm6m   <span class="token number">1</span>/1     Running   <span class="token number">0</span>          39s   <span class="token number">192.168</span>.5.121   ke-edge2     <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>\npod/edgemesh-agent-xwxlp   <span class="token number">1</span>/1     Running   <span class="token number">0</span>          39s   <span class="token number">192.168</span>.5.187   ke-edge1     <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>\n\nNAME                            DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE   CONTAINERS       IMAGES                           SELECTOR\ndaemonset.apps/edgemesh-agent   <span class="token number">4</span>         <span class="token number">4</span>         <span class="token number">4</span>       <span class="token number">4</span>            <span class="token number">4</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>          39s   edgemesh-agent   kubeedge/edgemesh-agent:latest   k8s-app<span class="token operator">=</span>kubeedge,kubeedge<span class="token operator">=</span>edgemesh-agent\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><span class="line-number">8</span><br><span class="line-number">9</span><br></div></div>',12),w={render:function(e,n){const s=(0,a.up)("OutboundLink"),w=(0,a.up)("RouterLink");return(0,a.wg)(),(0,a.iD)(a.HY,null,[l,r,(0,a._)("p",null,[(0,a._)("a",t,[p,(0,a.Wm)(s)])]),(0,a._)("p",null,[(0,a._)("a",o,[u,(0,a.Wm)(s)])]),(0,a._)("div",c,[i,(0,a._)("ul",null,[d,(0,a._)("li",null,[(0,a._)("p",null,[b,(0,a.Wm)(w,{to:"/zh/guide/edge-kube-api.html#%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B"},{default:(0,a.w5)((()=>[g])),_:1}),m])])])]),k,(0,a._)("p",null,[h,(0,a.Wm)(w,{to:"/zh/advanced/hybird-proxy.html#%E6%9C%8D%E5%8A%A1%E8%BF%87%E6%BB%A4"},{default:(0,a.w5)((()=>[E])),_:1}),A]),v,(0,a._)("p",null,[f,(0,a.Wm)(w,{to:"/zh/guide/edge-kube-api.html#%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B"},{default:(0,a.w5)((()=>[R])),_:1}),_]),S,T,N,D,(0,a._)("p",null,[U,(0,a._)("a",x,[I,(0,a.Wm)(s)])]),O],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.