1"use strict";(self.webpackChunkedgemesh=self.webpackChunkedgemesh||[]).push([[351],{5319:(s,n,a)=>{a.r(n),a.d(n,{data:()=>e});const e={key:"v-6748d0aa",path:"/zh/guide/edge-kube-api.html",title:"è¾¹ç¼ Kube-API 端ç¹",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:2,title:"èæ¯",slug:"èæ¯",children:[]},{level:2,title:"å¿«é䏿",slug:"å¿«é䏿",children:[]},{level:2,title:"å®å
¨",slug:"å®å
¨",children:[{level:3,title:"é
ç½®",slug:"é
ç½®",children:[]},{level:3,title:"对æ¥",slug:"对æ¥",children:[]}]}],filePathRelative:"zh/guide/edge-kube-api.md",git:{updatedTime:1689673929e3,contributors:[]}}},8031:(s,n,a)=>{a.r(n),a.d(n,{default:()=>K});var e=a(6252);const t=(0,e.uE)('<h1 id="è¾¹ç¼-kube-api-端ç¹" tabindex="-1"><a class="header-anchor" href="#è¾¹ç¼-kube-api-端ç¹" aria-hidden="true">#</a> è¾¹ç¼ Kube-API 端ç¹</h1><h2 id="èæ¯" tabindex="-1"><a class="header-anchor" href="#èæ¯" aria-hidden="true">#</a> èæ¯</h2><p>Kubernetes éè¿ CRD å Controller æºå¶æå¤§ç¨åº¦çæåäºèªèº«ç坿©å±æ§ï¼ä½¿å¾ä¼å¤åºç¨è½è½»æ¾çéæè³ Kubernetes çæã伿å¨ç¥ï¼å¤§é¨å Kubernetes åºç¨ä¼éè¿è®¿é® kube-apiserver è·ååºæ¬çå
æ°æ®ï¼æ¯å¦ ServiceãPodãJob å Deployment ççï¼ä»¥åè·ååºäºèªèº«ä¸å¡æ©å±ç CRD çå
æ°æ®ã</p><p>ç¶èï¼å¨è¾¹ç¼è®¡ç®åºæ¯ä¸ç±äºç½ç»ä¸äºéï¼å¯¼è´è¾¹ç¼èç¹éå¸¸æ æ³ç´æ¥è¿æ¥å°å¤äºäºä¸ç kube-apiserver æå¡ï¼ä½¿å¾é¨ç½²å¨è¾¹ç¼ç Kubernetes åºç¨æ æ³è·å宿éè¦çå
æ°æ®ãæ¯å¦ï¼è¢«è°åº¦å°è¾¹ç¼èç¹ç Kube-Proxy å Flannel éå¸¸æ¯æ æ³æ£å¸¸å·¥ä½çã</p><p><strong>好å¨ï¼KubeEdge >= v1.7.0 æä¾äºè¾¹ç¼ Kube-API 端ç¹çè½åï¼å®è½å¤å¨è¾¹ç¼æä¾ä¸äºä¸ kube-apiserver ç¸ä¼¼çæå¡ï¼ä½¿å¾å¯¹ kube-apiserver æéæ±çè¾¹ç¼åºç¨ä¹è½æ æç¥çè¿è¡å¨è¾¹ç¼ä¸ã</strong> æ¬ç« 尿坼大家å¦ä½é
ç½® KubeEdge 以å¯ç¨è¾¹ç¼ Kube-API 端ç¹ï¼ä»¥å EdgeMesh å¦ä½ä¸å
¶å¯¹æ¥ã</p><h2 id="å¿«é䏿" tabindex="-1"><a class="header-anchor" href="#å¿«é䏿" aria-hidden="true">#</a> å¿«é䏿</h2><ul><li><strong>æ¥éª¤1</strong>: å¨äºç«¯ï¼å¼å¯ dynamicController 模åï¼é
ç½®å®æåï¼éè¦éå¯ cloudcore</li></ul><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ vim /etc/kubeedge/config/cloudcore.yaml\n<span class="token key atrule">modules</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\n <span class="token key atrule">dynamicController</span><span class="token punctuation">:</span>\n <span class="token key atrule">enable</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>\n<span class="token punctuation">...</span>\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>å¦æä½¿ç¨ keadm å®è£äº cloudcoreï¼é
ç½®æä»¶å¯è½ä¸åå¨ï¼å¯ä»¥ä½¿ç¨å½ä»¤å¯ç¨å®</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>keadm init --advertise-address="THE-EXPOSED-IP" --profile version=v1.12.1 --kube-config=/root/.kube/config --set cloudCore.modules.dynamicController.enable=true\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br></div></div><p>妿äºç«¯æ¯helmå®è£
ï¼ä¿®æ¹cloudcore configmapï¼éè¦éå¯cloudcore pod</p><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ kubectl edit cm cloudcore <span class="token punctuation">-</span>n kubeedge\n<span class="token key atrule">modules</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\n <span class="token key atrule">dynamicController</span><span class="token punctuation">:</span>\n <span class="token key atrule">enable</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>\n<span class="token punctuation">...</span>\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><ul><li><strong>æ¥éª¤2</strong>
1: å¨è¾¹ç¼èç¹ï¼æå¼ metaServer 模åï¼å¦æä½ ç KubeEdge < 1.8.0ï¼è¿éå
³éæ§ç edgeMesh 模åï¼ï¼é
ç½®å®æåï¼éè¦éå¯ edgecore</li></ul><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ vim /etc/kubeedge/config/edgecore.yaml\n<span class="token key atrule">modules</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\n <span class="token key atrule">edgeMesh</span><span class="token punctuation">:</span>\n <span class="token key atrule">enable</span><span class="token punctuation">:</span> <span class="token boolean important">false</span>\n <span class="token punctuation">...</span>\n <span class="token key atrule">metaManager</span><span class="token punctuation">:</span>\n <span class="token key atrule">metaServer</span><span class="token punctuation">:</span>\n <span class="token key atrule">enable</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>\n<span class="token punctuation">...</span>\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></div></div><ul><li><strong>æ¥éª¤3</strong>: å¨è¾¹ç¼èç¹ï¼é
ç½® clusterDNS å clusterDomainï¼é
ç½®å®æåï¼éè¦éå¯ edgecore</li></ul><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ vim /etc/kubeedge/config/edgecore.yaml\n<span class="token key atrule">modules</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\n <span class="token key atrule">edged</span><span class="token punctuation">:</span>\n <span class="token key atrule">clusterDNS</span><span class="token punctuation">:</span> 169.254.96.16\n <span class="token key atrule">clusterDomain</span><span class="token punctuation">:</span> cluster.local\n<span class="token punctuation">...</span>\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><p>妿 KubeEdge >= v1.12.0ï¼è¯·è¿æ ·é
ç½®ï¼</p><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ vim /etc/kubeedge/config/edgecore.yaml\n<span class="token key atrule">modules</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\n <span class="token key atrule">edged</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\n <span class="token key atrule">tailoredKubeletConfig</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\n <span class="token key atrule">clusterDNS</span><span class="token punctuation">:</span>\n <span class="token punctuation">-</span>
1 169.254.96.16\n <span class="token key atrule">clusterDomain</span><span class="token punctuation">:</span> cluster.local\n<span class="token punctuation">...</span>\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></div></div>',18),p={class:"custom-container tip"},l=(0,e._)("p",{class:"custom-container-title"},"æç¤º",-1),o=(0,e._)("li",null,"æ¥éª¤3çé
ç½®æ¯ä¸ºäºè¾¹ç¼åºç¨è½å¤è®¿é®å° EdgeMesh ç DNS æå¡ï¼ä¸è¾¹ç¼ Kube-API ç«¯ç¹æ¬èº«æ å
³ï¼ä½ä¸ºäºé
ç½®çæµç
æ§ï¼è¿æ¯æ¾å¨è¿é说æã",-1),u=(0,e.Uk)("clusterDNS 设置çå¼ '169.254.96.16' æ¥èªäº "),c={href:"https://edgemesh.netlify.app/zh/reference/config-items.html#edgemesh-agent-cfg",target:"_blank",rel:"noopener noreferrer"},r=(0,e.Uk)("commonConfig"),i=(0,e.Uk)(" ä¸ bridgeDeviceIP çé»è®¤å¼ï¼æ£å¸¸æ
åµä¸æ éä¿®æ¹ï¼éå¾ä¿®æ¹è¯·ä¿æä¸¤è
ä¸è´ã"),k=(0,e.uE)('<ul><li><strong>æ¥éª¤4</strong>: æåï¼å¨è¾¹ç¼èç¹ï¼æµè¯è¾¹ç¼ Kube-API 端ç¹åè½æ¯å¦æ£å¸¸</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">curl</span> <span class="token number">127.0</span>.0.1:10550/api/v1/services\n<span class="token punctuation">{</span><span class="token string">"apiVersion"</span><span class="token builtin class-name">:</span><span class="token string">"v1"</span>,<span class="token string">"items"</span>:<span class="token punctuation">[</span><span class="token punctuation">{</span><span class="token string">"apiVersion"</span><span class="token builtin class-name">:</span><span class="token string">"v1"</span>,<span class="token string">"kind"</span><span class="token builtin class-name">:</span><span class="token string">"Service"</span>,<span class="token string">"metadata"</span>:<span class="token punctuation">{</span><span class="token string">"creationTimestamp"</span><span class="token builtin class-name">:</span><span class="token string">"2021-04-14T06:30:05Z"</span>,<span class="token string">"labels"</span>:<span class="token punctuation">{</span><span class="token string">"component"</span><span class="token builtin class-name">:</span><span class="token string">"apiserver"</span>,<span class="token string">"provider"</span><span class="token builtin class-name">:</span><span class="token string">"kubernetes"</span><span class="token punctuation">}</span>,<span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"kubernetes"</span>,<span class="token string">"namespace"</span><span class="token builtin class-name">:</span><span class="token string">"default"</span>,<span class="token string">"resourceVersion"</span><span class="token builtin class-name">:</span><span class="token string">"147"</span>,<span class="token string">"selfLink"</span><span class="token builtin class-name">:</span><span class="token string">"default/services/kubernetes"</span>,<span class="token string">"uid"</span><span class="token builtin class-name">:</span><span class="token string">"55eeebea-08cf-4d1a-8b04-e85f8ae112a9"</span><span class="token punctuation">}</span>,<span class="token string">"spec"</span>:<span class="token punctuation">{</span><span class="token string">"clusterIP"</span><span class="token builtin class-name">:</span><span class="token string">"10.96.0.1"</span>,<span class="token string">"ports"</span>:<span class="token punctuation">[</span><span class="token punctuation">{</span><span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"https"</span>,<span class="token string">"port"</span>:443,<span class="token string">"protocol"</span><span class="token builtin class-name">:</span><span class="token string">"TCP"</span>,<span class="token string">"targetPort"</span>:6443<span class="token punctuation">}</span><span class="token punctuation">]</span>,<span class="token string">"sessionAffinity"</span><span class="token builtin class-name">:</span><span class="token string">"None"</span>,<span class="token string">"type"</span><span class="token builtin class-name">:</span><span class="token string">"ClusterIP"</span><span class="token punctuation">}</span>,<span class="token string">"status"</span>:<span class="token punctuation">{</span><span class="token string">"loadBalancer"</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 string">"apiVersion"</span><span class="token builtin class-name">:</span><span class="token string">"v1"</span>,<span class="token string">"kind"</span><span class="token builtin class-name">:</span><span class="token string">"Service"</span>,<span class="token string">"metadata"</span>:<span class="token punctuation">{</span><span class="token string">"annotations"</span>:<span class="token punctuation">{</span><span class="token string">"prometheus.io/port"</span><span class="token builtin class-name">:</span><span class="token string">"9153"</span>,<span class="token string">"prometheus.io/scrape"</span><span class="token builtin class-name">:</span><span class="token string">"true"</span><span class="token punctuation">}</span>,<span class="token string">"creationTimestamp"</span><span class="token builtin class-name">:</span><span class="token string">"2021-04-14T06:30:07Z"</span>,<span class="token string">"labels"</span>:<span class="token punctuation">{</span><span class="token string">"k8s-app"</span><span class="token builtin class-name">:</span><span class="token string">"kube-dns"</span>,<span class="token string">"kubernetes.io/cluster-service"</span><span class="token builtin class-name">:</span><span class="token string">"true"</span>,<span class="token string">"kubernetes.io/name"</span><span class="token builtin class-name">:</span><span class="token string">"KubeDNS"</span><span class="token punctuation">}</span>,<span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"kube-dns"</span>,<span class="token string">"namespace"</span><span class="token builtin class-name">:</span><span class="token string">"kube-system"</span>,<span class="token string">"resourceVersion"</span><span class="token builtin class-name">:</span><span class="token string">"203"</span>,<span class="token string">"selfLink"</span><span class="token builtin class-name">:</span><span class="token string">"kube-system/services/kube-dns"</span>,<span class="token string">"uid"</span><span class="token builtin class-name">:</span><span class="token string">"c221ac20-cbfa-406b-812a-c44b9d82d6dc"</span><span class="token punctuation">}</span>,<span class="token string">"spec"</span>:<span class="token punctuation">{</span><span class="token string">"clusterIP"</span><span class="token builtin class-name">:</span><span class="token string">"10.96.0.10"</span>,<span class="token string">"ports"</span>:<span class="token punctuation">[</span><span class="token punctuation">{</span><span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"dns"</span>,<span class="token string">"port"</span>:53,<span class="token string">"protocol"</span><span class="token builtin class-name">:</span><span class="token string">"UDP"</span>,<span class="token string">"targetPort"</span>:53<span class="token punctuation">}</span>,<span class="token punctuation">{</span><span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"dns-tcp"</span>,<span class="token string">"port"</span>:53,<span class="token string">"protocol"</span><span class="token builtin class-name">:</span><span class="token string">"TCP"</span>,<span class="token string">"targetPort"</span>:53<span class="token punctuation">}</span>,<span class="token punctuation">{</span><span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"metrics"</span>,<span class="token string">"port"</span>:9153,<span class="token string">"protocol"</span><span class="token builtin class-name">:</span><span class="token string">"TCP"</span>,<span class="token string">"targetPort"</span>:9153<span class="token punctuation">}</span><span class="token punctuation">]</span>,<span class="token string">"selector"</span>:<span class="token punctuation">{</span><span class="token string">"k8s-app"</span><span class="token builtin class-name">:</span><span class="token string">"kube-dns"</span><span class="token punctuation">}</span>,<span class="token string">"sessionAffinity"</span><span class="token builtin class-name">:</span><span class="token string">"None"</span>,<span class="token string">"type"</span><span class="token builtin class-name">:</span><span class="token string">"ClusterIP"</span><span class="token punctuation">}</span>,<span class="token string">"status"</span>:<span class="token punctuation">{</span><span class="token string">"loadBalancer"</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 string">"kind"</span><span class="token builtin class-name">:</span><span class="token string">"ServiceList"</span>,<span class="token string">"metadata"</span>:<span class="token punctuation">{</span><span class="token string">"resourceVersion"</span><span class="token builtin class-name">:</span><span class="token string">"377360"</span>,<span class="token string">"selfLink"</span><span class="token builtin class-name">:</span><span class="token string">"/api/v1/services"</span><span class="token punctuation">}</span><span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><div class="custom-container warning"><p class="custom-container-title">注æ</p><p>妿è¿å弿¯ç©ºåè¡¨ï¼æè
ååºæ¶é¿å¾ä¹
ï¼æ¥è¿ 10sï¼ææ¿å°è¿åå¼ï¼è¯´æä½ çé
ç½®å¯è½æè¯¯ï¼è¯·ä»ç»æ£æ¥ã</p></div><p><strong>宿ä¸è¿°æ¥éª¤ä¹åï¼KubeEdge çè¾¹ç¼ Kube-API 端ç¹åè½å°±å·²ç»å¼å¯äºï¼æ¥çç»§ç»é¨ç½² EdgeMesh å³å¯ã</strong></p><h2 id="å®å
¨" tabindex="-1"><a class="header-anchor" href="#å®å
¨" aria-hidden="true">
1#</a> å®å
¨</h2>',5),b=(0,e.Uk)("KubeEdge >= v1.12.0 å¯¹è¾¹ç¼ Kube-API 端ç¹åè½è¿è¡äº "),m={href:"https://github.com/kubeedge/kubeedge/issues/4108",target:"_blank",rel:"noopener noreferrer"},g=(0,e.Uk)("å®å
¨å åº"),d=(0,e.Uk)("ï¼ä½¿å
¶æ¯æ HTTPS çå®å
¨è®¿é®ãå¦æä½ æ³å åºè¾¹ç¼ Kube-API ç«¯ç¹æå¡çå®å
¨æ§ï¼æ¬è尿坼大家å¦ä½é
ç½® KubeEdge 以å¯ç¨å®å
¨çè¾¹ç¼ Kube-API 端ç¹åè½ï¼ä»¥å EdgeMesh å¦ä½ä¸å
¶å¯¹æ¥ã"),q=(0,e.uE)('<h3 id="é
ç½®" tabindex="-1"><a class="header-anchor" href="#é
ç½®" aria-hidden="true">#</a> é
ç½®</h3><ul><li><strong>æ¥éª¤1</strong>: å¼å¯ KubeEdge ç requireAuthorization ç¹æ§é¨æ§</li></ul><p>cloudcore.yaml å edgecore.yaml é½è¿è¡ä¸è¿°é
ç½®ï¼é
ç½®å®æåï¼éè¦éå¯ cloudcore å edgecore</p><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ vim /etc/kubeedge/config/cloudcore.yaml\n<span class="token key atrule">kind</span><span class="token punctuation">:</span> CloudCore\n<span class="token key atrule">featureGates</span><span class="token punctuation">:</span>\n <span class="token key atrule">requireAuthorization</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>\n<span class="token key atrule">modules</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\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><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ vim /etc/kubeedge/config/edgecore.yaml\n<span class="token key atrule">kind</span><span class="token punctuation">:</span> EdgeCore\n<span class="token key atrule">featureGates</span><span class="token punctuation">:</span>\n <span class="token key atrule">requireAuthorization</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>\n<span class="token key atrule">modules</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\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><ul><li><strong>æ¥éª¤2</strong>: çæèªç¾åè¯ä¹¦</li></ul><p>æä»¬åç¨ KubeEdge ç <code>certgen.sh</code> èæ¬æ¥çæä¸´æ¶æµè¯è¯ä¹¦ã<strong>请注æï¼è¯·ä¸è¦å¨ç产ç¯å¢è¿æ ·åï¼ç产ç¯å¢è¯·ä½¿ç¨ç产级å«ç¨çè¯ä¹¦ã</strong></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token comment"># 1. 确认 /etc/kubernetes/pki/ ç®å½åå¨</span>\n$ <span class="token function">ls</span> /etc/kubernetes/pki/\n\n<span class="token comment"># 2. å建ç®å½</span>\n$ <span class="token function">mkdir</span> -p /tmp/metaserver-certs\n$ <span class="token builtin class-name">cd</span> /tmp/metaserver-certs\n\n<span class="token comment"># 3. ä¸è½½ certgen.sh</span>\n$ <span class="token function">wget</span> https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/tools/certgen.sh\n$ <span class="token function">chmod</span> u+x certgen.sh\n\n<span class="token comment"># 4. çæè¯ä¹¦æä»¶</span>\n$ <span class="token assign-left variable">CA_PATH</span><span class="token operator">=</span>./ <span class="token assign-left variable">CERT_PATH</span><span class="token operator">=</span>./ ./certgen.sh stream\n\n<span class="token comment"># 5. ä¿®æ¹è¯ä¹¦åå</span>\n$ <span class="token function">mv</span> streamCA.crt rootCA.crt<span class="token punctuation">;</span> <span class="token function">mv</span> stream.crt server.crt<span class="token punctuation">;</span> <span class="token function">mv</span>
1 stream.key server.key\n\n<span class="token comment"># 6. å建è¯ä¹¦ secret</span>\n$ kubectl -n kubeedge create secret generic metaserver-certs --from-file<span class="token operator">=</span>./rootCA.crt --from-file<span class="token operator">=</span>./server.crt --from-file<span class="token operator">=</span>./server.key\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><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br></div></div><ul><li><strong>æ¥éª¤3</strong>: å¨è¾¹ç¼èç¹ï¼é
ç½® metaServer çè¯ä¹¦è·¯å¾ï¼é
ç½®å®æåï¼éè¦éå¯ edgecore</li></ul><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ vim /etc/kubeedge/config/edgecore.yaml\n<span class="token key atrule">modules</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\n <span class="token key atrule">metaManager</span><span class="token punctuation">:</span>\n <span class="token key atrule">metaServer</span><span class="token punctuation">:</span>\n <span class="token key atrule">enable</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>\n <span class="token key atrule">server</span><span class="token punctuation">:</span> https<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span><span class="token number">10550</span>\n <span class="token key atrule">tlsCaFile</span><span class="token punctuation">:</span> /tmp/metaserver<span class="token punctuation">-</span>certs/rootCA.crt\n <span class="token key atrule">tlsCertFile</span><span class="token punctuation">:</span> /tmp/metaserver<span class="token punctuation">-</span>certs/server.crt\n <span class="token key atrule">tlsPrivateKeyFile</span><span class="token punctuation">:</span> /tmp/metaserver<span class="token punctuation">-</span>certs/server.key\n<span class="token punctuation">...</span>\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></div></div>',10),v=(0,e.Uk)("宿ä¸è¿°é
置并éå¯åï¼ä½ å°±å¯ä»¥æ¥æä¸ä¸ªåºäº HTTPS çãå®å
¨çè¾¹ç¼ Kube-API ç«¯ç¹æå¡ï¼åç»ä½ å¯ä»¥åè "),h={href:"https://github.com/kubeedge/kubeedge/issues/4108",target:"_blank",rel:"noopener noreferrer"},y=(0,e.Uk)("issue#4801"),f=(0,e.Uk)(" éçæç¨ï¼ä½¿ç¨ "),P=(0,e._)("code",null,"curl",-1),A=(0,e.Uk)(" æµè¯å®è½å¦æ£å¸¸å·¥ä½ã"),C=(0,e.uE)('<h3 id="对æ¥" tabindex="-1"><a class="header-anchor" href="#对æ¥" aria-hidden="true">#</a> 对æ¥</h3><p>EdgeMesh æä»¥ä¸ä¸¤ç§æ¹å¼è¿æ¥åºäº HTTPS çè¾¹ç¼ Kube-API 端ç¹ï¼ä½ å¯ä»¥æ ¹æ®å®é
æ
åµäºéä¸ä½¿ç¨ã</p><h4 id="æ¹å¼ä¸-åå认è¯" tabindex="-1"><a class="header-anchor" href="#æ¹å¼ä¸-åå认è¯" aria-hidden="true">#</a> æ¹å¼ä¸ï¼åå认è¯</h4><p>EdgeMesh å¯ä»¥éè¿åå认è¯çæ¹å¼ï¼è®¿é®åºäº HTTPS çè¾¹ç¼ Kube-API 端ç¹ï¼åå认è¯å³ä¸éè¦éªè¯å®¢æ·ç«¯è¯ä¹¦ã</p><ul><li>Helm é
ç½®</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>helm <span class="token function">install</span> edgemesh --namespace kubeedge <span class="token punctuation">\\</span>\n--set agent.kubeAPIConfig.metaServer.security.requireAuthorization<span class="token operator">=</span>true <span class="token punctuation">\\</span>\n--set agent.kubeAPIConfig.metaServer.security.insecureSkipTLSVerify<span class="token operator">=</span>true <span class="token punctuation">\\</span>\n<span class="token punctuation">..</span>.\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>æå¨é
ç½®</li></ul><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ vim build/agent/resources/04<span class="token punctuation">-</span>configmap.yaml\n<span class="token punctuation">...</span>\n<span class="token key atrule">data</span><span class="token punctuation">:</span>\n <span class="token key atrule">edgemesh-agent.yaml</span><span class="token punctuation">:</span> <span class="token punctuation">|</span><span class="token scalar string">
1\n kubeAPIConfig:\n metaServer:\n security:\n requireAuthorization: true\n insecureSkipTLSVerify: true\n ...</span>\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></div></div><h4 id="æ¹å¼äº-åå认è¯" tabindex="-1"><a class="header-anchor" href="#æ¹å¼äº-åå认è¯" aria-hidden="true">#</a> æ¹å¼äºï¼åå认è¯</h4><p>EdgeMesh ä¹å¯ä»¥éè¿åå认è¯çæ¹å¼ï¼è®¿é®åºäº HTTPS çè¾¹ç¼ Kube-API 端ç¹ï¼åå认è¯éè¦åæ¶éªè¯æå¡ç«¯è¯ä¹¦å客æ·ç«¯è¯ä¹¦ã</p><ul><li>Helm é
ç½®</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>helm <span class="token function">install</span> edgemesh --namespace kubeedge <span class="token punctuation">\\</span>\n--set agent.kubeAPIConfig.metaServer.security.requireAuthorization<span class="token operator">=</span>true <span class="token punctuation">\\</span>\n--set agent.metaServerSecret<span class="token operator">=</span>metaserver-certs <span class="token punctuation">\\</span>\n<span class="token punctuation">..</span>.\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>æå¨é
ç½®</li></ul><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ vim build/agent/resources/04<span class="token punctuation">-</span>configmap.yaml\n<span class="token punctuation">...</span>\n<span class="token key atrule">data</span><span class="token punctuation">:</span>\n <span class="token key atrule">edgemesh-agent.yaml</span><span class="token punctuation">:</span> <span class="token punctuation">|</span><span class="token scalar string">\n kubeAPIConfig:\n metaServer:\n security:\n requireAuthorization: true\n ...</span>\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><div class="language-yaml ext-yml line-numbers-mode"><pre class="language-yaml"><code>$ vim build/agent/resources/05<span class="token punctuation">-</span>daemonset.yaml\n<span class="token punctuation">...</span>\n <span class="token key atrule">volumeMounts</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\n <span class="token punctuation">-</span> <span class="token key atrule">name</span><span class="token punctuation">:</span> metaserver<span class="token punctuation">-</span>certs\n <span class="token key atrule">mountPath</span><span class="token punctuation">:</span> /etc/edgemesh/metaserver\n <span class="token key atrule">volumes</span><span class="token punctuation">:</span>\n <span class="token punctuation">...</span>\n <span class="token punctuation">-</span> <span class="token key atrule">secret</span><span class="token punctuation">:</span>\n <span class="token key atrule">secretName</span><span class="token punctuation">:</span> metaserver<span class="token punctuation">-</span>certs\n <span class="token key atrule">defaultMode</span><span class="token punctuation">:</span> <span class="token number">420</span>\n <span class="token key atrule">name</span><span class="token punctuation">:</span> metaserver<span class="token punctuation">-</span>
1certs\n <span class="token punctuation">...</span>\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>',15),K={render:function(s,n){const a=(0,e.up)("OutboundLink");return(0,e.wg)(),(0,e.iD)(e.HY,null,[t,(0,e._)("div",p,[l,(0,e._)("ul",null,[o,(0,e._)("li",null,[u,(0,e._)("a",c,[r,(0,e.Wm)(a)]),i])])]),k,(0,e._)("p",null,[b,(0,e._)("a",m,[g,(0,e.Wm)(a)]),d]),q,(0,e._)("p",null,[(0,e._)("strong",null,[v,(0,e._)("a",h,[y,(0,e.Wm)(a)]),f,P,A])]),C],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.