{"id":43622,"date":"2023-03-07T06:05:32","date_gmt":"2023-05-02T19:54:02","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/"},"modified":"2024-04-29T17:44:28","modified_gmt":"2024-04-29T09:44:28","slug":"%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/","title":{"rendered":"\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cKnative\uff0c\u76f4\u5230\u5b8c\u6210"},"content":{"rendered":"<h1>\u6982\u51b5<\/h1>\n<p>\u5728Google Cloud Next &#8217;18\u4e0a\uff0c\u5ba3\u5e03\u4e86Knative\u3002Knative\u662f\u5728Kubernetes\u4e0a\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f\u65f6\uff0c\u7528\u4e8e\u7b80\u5316\u6784\u5efa\u3001\u90e8\u7f72\u548c\u670d\u52a1\u7ba1\u7406\u7684\u5bb9\u5668\u7f16\u6392\u5de5\u5177\u3002<\/p>\n<p>\u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5229\u7528\u672c\u5730\u8bbe\u5907\uff08mac\uff09\u4e00\u53f0\u4f7f\u7528Kubernetes\u73af\u5883\u6784\u5efa\u5de5\u5177&#8221;Minikube&#8221;\u6765\u521b\u5efaKubernetes\u73af\u5883\uff0c\u5e76\u5728\u5176\u4e0a\u8fd0\u884cKnative\u7684\u6b65\u9aa4\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d536e37434c4406ccfa52\/3-0.png\" alt=\"minikube_dashboard.png\" \/><\/div>\n<h2>\u76ee\u6807\u8bfb\u8005<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Knative\u306e\u52d5\u304b\u3057\u65b9\u3092\u78ba\u8a8d\u3057\u305f\u3044\u65b9<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Kubernetes\u304c\u4f55\u3092\u3057\u3066\u304f\u308c\u308b\u3082\u306e\u304b\u306e\u77e5\u8b58\u304c\u3042\u308b\u65b9<\/ul>\n<h2>\u524d\u63d0<\/h2>\n<p>\u672c\u6587\u4f7f\u7528\u4e86\u622a\u81f32018\u5e747\u670825\u65e5\u53ef\u7528\u7684\u4ee5\u4e0b\u7248\u672c\u3002<\/p>\n<p>Minikube : 0.28.2<\/p>\n<p>Knative : (2018\/7\/25\u6642\u70b9\u306e\u6700\u65b0\u7248)<\/p>\n<p>macOS : 10.13.2<\/p>\n<p>VirtualBox : 5.2.16<br \/>\nMacbook Pro(15-inch, Mid 2014)<\/p>\n<p>\u5728\u4f7f\u7528Minikube\u8fd0\u884c\u670d\u52a1\u65f6\uff0c\u9700\u8981\u76f8\u5f53\u6570\u91cf\u7684\u5185\u5b58\u3002\u5982\u679c\u4e3b\u673a\u5185\u5b58\u4e3a8GB\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u66f4\u6539\u5206\u914d\u7ed9Minikube\u865a\u62df\u673a\u7684\u5185\u5b58\uff08\u4f8b\u5982\uff0c\u672c\u6587\u4f5c\u8005\u5728\u62e5\u670916GB\u5185\u5b58\u7684\u673a\u5668\u4e0a\uff0c\u5c068GB\u5206\u914d\u7ed9\u865a\u62df\u673a\u8fdb\u884c\u6267\u884c\uff09\u3002<\/p>\n<h1>\u76f4\u5230Minikube\u53ef\u8fd0\u884c\uff08\u51c6\u5907Kubernetes\u73af\u5883\uff09<\/h1>\n<p>\u9996\u5148\uff0c\u6211\u4eec\u9700\u8981\u5728\u672c\u5730\u673a\u5668\u4e0a\u51c6\u5907\u597dKubernetes\u73af\u5883\u3002<br \/>\n\u57fa\u672c\u4e0a\uff0c\u6211\u4eec\u4f1a\u6309\u7167Minikube\u7f51\u7ad9\u4e0a\u5217\u51fa\u7684\u5b89\u88c5\u6b65\u9aa4\u8fdb\u884c\u64cd\u4f5c\uff0c\u4f46\u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\uff0c\u6211\u4f1a\u7b80\u5355\u4ecb\u7ecd\u6211\u4eec\u6b63\u5728\u4f7f\u7528\u7684\u65b9\u6cd5\u3002<\/p>\n<h2>\u8d85\u7ea7\u865a\u62df\u673a j\u012b)<\/h2>\n<p>\u5728\u672c\u7bc7\u6587\u7ae0\u4e2d\uff0c\u6211\u4eec\u4f1a\u4f7f\u7528VirtualBox\u3002\u5728\u8fdb\u884c\u5e38\u89c4\u5b89\u88c5\u540e\uff0c\u8fd8\u4f1a\u5b89\u88c5\u201c\u6269\u5c55\u5305\u201d\u3002<\/p>\n<h2>Kubernetes\u547d\u4ee4\u884c\u5de5\u5177<\/h2>\n<p>\u5728macOS\u4e0a\u4f7f\u7528brew\u6765\u8fdb\u884c\u5b89\u88c5\u3002(brew\u7684\u5b89\u88c5\u672c\u8eab\u5c31\u50cf\u5728brew\u7684\u5b98\u7f51\u4e0a\u6240\u8bf4\u7684\u90a3\u6837\uff0c\u5728\u4e0a\u9762\u7528\u4e00\u884c\u4ee3\u7801\u5c31\u80fd\u5b8c\u6210\u3002)<\/p>\n<pre class=\"post-pre\"><code>$ brew install kubernetes-cli\r\n<\/code><\/pre>\n<details>\u8fd9\u6837\u5c31\u5b89\u88c5\u4e86Kubernetes-cli 1.11.1\u3002&#8220;`<br \/>\n==&gt; \u6b63\u5728\u4e0b\u8f7d https:\/\/homebrew.bintray.com\/bottles\/kubernetes-cli-1.11.1.high_sierra.bottle.tar.gz<\/p>\n<p>################################################################## 100.0%<\/p>\n<p>==&gt; \u6b63\u5728\u5012\u5165 kubernetes-cli-1.11.1.high_sierra.bottle.tar.gz<br \/>\n==&gt; \u6ce8\u610f\u4e8b\u9879<br \/>\nBash\u8865\u5168\u5df2\u5b89\u88c5\u5230\uff1a<br \/>\n\/usr\/local\/etc\/bash_completion.d<\/p>\n<p>zsh\u8865\u5168\u5df2\u5b89\u88c5\u5230\uff1a<br \/>\n\/usr\/local\/share\/zsh\/site-functions<br \/>\n==&gt; \u6982\u8981<br \/>\n? \/usr\/local\/Cellar\/kubernetes-cli\/1.11.1\uff1a196\u4e2a\u6587\u4ef6\uff0c53.7MB<br \/>\n&#8220;`<\/p>\n<\/details>\n<h2>\u8ff7\u4f60\u7acb\u65b9<\/h2>\n<p>\u4ece\u53d1\u5e03\u9875\u9762\u83b7\u53d6\u6700\u65b0\u7248\u672c\uff08\u5728\u521b\u5efa\u6761\u76ee\u65f6\u662fv0.28.2\uff09\u3002\u4e0b\u8f7d\u9002\u7528\u4e8emacOS\u7684\u300cminikube-darwin-amd64\u300d\u3002<\/p>\n<p>\u4f7f\u7528Knative\u7f51\u7ad9\u4e0a\u63d0\u4f9b\u7684\u9009\u9879\u542f\u52a8Minikube\u3002\u4e0e\u4e0a\u65b9\u76f8\u540c\uff0c&#8211;vm-driver\u9009\u9879\u6307\u5b9a\u4e3avirtualbox\u3002\uff08\u5982\u679c\u758f\u5ffd\u5730\u5355\u72ec\u6267\u884c&#8221;minikube&#8221;\u547d\u4ee4\uff0c\u751f\u6210\u7684\u865a\u62df\u673a\u5c06\u9ed8\u8ba4\u914d\u7f6e\u4e3a\u7ea62G\u5185\u5b58\uff0c\u5e76\u53ef\u80fd\u9047\u5230\u5728\u4e4b\u540e\u589e\u52a0\u670d\u52a1\u65f6\u51fa\u73b0\u7684\u95ee\u9898\u3002\uff09<\/p>\n<p>\u56e0\u4e3a\u547d\u4ee4\u6709\u70b9\u957f\uff0c\u6240\u4ee5\u6211\u628a\u5b83\u5199\u6210\u4e86\u811a\u672c\u5e76\u6267\u884c\u4e86\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\">#!\/bin\/sh<\/span>\r\nminikube start <span class=\"nt\">--memory<\/span><span class=\"o\">=<\/span>8192 <span class=\"nt\">--cpus<\/span><span class=\"o\">=<\/span>4 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--kubernetes-version<\/span><span class=\"o\">=<\/span>v1.10.5 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--vm-driver<\/span><span class=\"o\">=<\/span>virtualbox <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--bootstrapper<\/span><span class=\"o\">=<\/span>kubeadm <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--extra-config<\/span><span class=\"o\">=<\/span>controller-manager.cluster-signing-cert-file<span class=\"o\">=<\/span><span class=\"s2\">\"\/var\/lib\/localkube\/certs\/ca.crt\"<\/span> <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--extra-config<\/span><span class=\"o\">=<\/span>controller-manager.cluster-signing-key-file<span class=\"o\">=<\/span><span class=\"s2\">\"\/var\/lib\/localkube\/certs\/ca.key\"<\/span> <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--extra-config<\/span><span class=\"o\">=<\/span>apiserver.admission-control<span class=\"o\">=<\/span><span class=\"s2\">\"LimitRanger,NamespaceExists,NamespaceLifecycle,ResourceQuota,ServiceAccount,DefaultStorageClass,MutatingAdmissionWebhook\"<\/span>\r\n<\/code><\/pre>\n<h2>Istio: Istio<\/h2>\n<p>\u6309\u7167\u7f51\u7ad9\u4e0a\u63d0\u4f9b\u7684\u6b65\u9aa4\u5f00\u59cb\u4f7f\u7528\u670d\u52a1\u7f51\u683cIstio\u3002<\/p>\n<pre class=\"post-pre\"><code>curl -L https:\/\/storage.googleapis.com\/knative-releases\/serving\/latest\/istio.yaml \\\r\n  | sed 's\/LoadBalancer\/NodePort\/' \\\r\n  | kubectl apply -f -\r\n<\/code><\/pre>\n<p>\u6211\u4f1a\u7b49\u5f85\u670d\u52a1\u63d0\u9ad8\u3002<\/p>\n<details>\u786e\u8ba4\u72b6\u6001\u540e\uff0c\u6700\u521d\u5305\u542b\u4e86\u201cContainerCreating\u201d\u72b6\u6001\u7684\u670d\u52a1\u5982\u4e0b\u6240\u793a\uff1a$ kubectl get pods -n istio-system<br \/>\nNAME READY STATUS RESTARTS AGE<br \/>\nistio-citadel-7bdc7775c7-2nqq6 0\/1 \u6b63\u5728\u521b\u5efa\u5bb9\u5668 0 1\u5206\u949f<br \/>\nistio-cleanup-old-ca-vgg5g 0\/1 \u6b63\u5728\u521b\u5efa\u5bb9\u5668 0 1\u5206\u949f<br \/>\nistio-egressgateway-795fc9b47-fkpw9 1\/1 \u8fd0\u884c\u4e2d 0 1\u5206\u949f<br \/>\nistio-ingress-84659cf44c-46rmd 0\/1 \u6b63\u5728\u521b\u5efa\u5bb9\u5668 0 1\u5206\u949f<br \/>\nistio-ingressgateway-7d89dbf85f-vkgcw 0\/1 \u6b63\u5728\u521b\u5efa\u5bb9\u5668 0 1\u5206\u949f<br \/>\nistio-mixer-post-install-4jgcb 0\/1 \u5df2\u5b8c\u6210 0 1\u5206\u949f<br \/>\nistio-pilot-66f4dd866c-f4kpt 0\/2 \u6b63\u5728\u521b\u5efa\u5bb9\u5668 0 1\u5206\u949f<br \/>\nistio-policy-76c8896799-2lggq 0\/2 \u6b63\u5728\u521b\u5efa\u5bb9\u5668 0 1\u5206\u949f<br \/>\nistio-sidecar-injector-645c89bc64-hgcbq 0\/1 \u6b63\u5728\u521b\u5efa\u5bb9\u5668 0 1\u5206\u949f<br \/>\nistio-statsd-prom-bridge-949999c4c-9dzd7 1\/1 \u8fd0\u884c\u4e2d 0 1\u5206\u949f<br \/>\nistio-telemetry-6554768879-sz59r 0\/2 \u6b63\u5728\u521b\u5efa\u5bb9\u5668 0 1\u5206\u949f<\/p>\n<\/details>\n<details>\u786e\u8ba4\u72b6\u6001\uff0c\u5982\u679c\u5168\u90e8\u662f\u201cRunning\u201d\u6216\u201cCompleted\u201d\uff0c\u5c31\u53ef\u4ee5\u4e86\u3002$ kubectl get pods -n istio-system<br \/>\n\u540d\u79f0 \u51c6\u5907\u597d\u7684 \u72b6\u6001 \u91cd\u542f\u6b21\u6570 \u5e74\u9f84<br \/>\nistio-citadel-7bdc7775c7-2nqq6 1\/1 \u8fd0\u884c\u4e2d 0 3\u5206\u949f<br \/>\nistio-cleanup-old-ca-vgg5g 0\/1 \u5df2\u5b8c\u6210 0 3\u5206\u949f<br \/>\nistio-egressgateway-795fc9b47-fkpw9 1\/1 \u8fd0\u884c\u4e2d 0 3\u5206\u949f<br \/>\nistio-ingress-84659cf44c-46rmd 1\/1 \u8fd0\u884c\u4e2d 0 3\u5206\u949f<br \/>\nistio-ingressgateway-7d89dbf85f-vkgcw 1\/1 \u8fd0\u884c\u4e2d 0 3\u5206\u949f<br \/>\nistio-mixer-post-install-4jgcb 0\/1 \u5df2\u5b8c\u6210 0 3\u5206\u949f<br \/>\nistio-pilot-66f4dd866c-f4kpt 1\/2 \u8fd0\u884c\u4e2d 0 3\u5206\u949f<br \/>\nistio-policy-76c8896799-2lggq 2\/2 \u8fd0\u884c\u4e2d 0 3\u5206\u949f<br \/>\nistio-sidecar-injector-645c89bc64-hgcbq 1\/1 \u8fd0\u884c\u4e2d 0 3\u5206\u949f<br \/>\nistio-statsd-prom-bridge-949999c4c-9dzd7 1\/1 \u8fd0\u884c\u4e2d 0 3\u5206\u949f<br \/>\nistio-telemetry-6554768879-sz59r 2\/2 \u8fd0\u884c\u4e2d 0 3\u5206\u949f<\/p>\n<\/details>\n<h2>Knative \u670d\u52a1<\/h2>\n<p>\u6211\u4eec\u5c06\u5f15\u5165Knative Serving\u3002<\/p>\n<p>\u6309\u7167\u7f51\u7ad9\u4e0a\u7684\u6307\u793a\u5f00\u59cb\u3002<\/p>\n<pre class=\"post-pre\"><code>curl <span class=\"nt\">-L<\/span> https:\/\/storage.googleapis.com\/knative-releases\/serving\/latest\/release-lite.yaml <span class=\"se\">\\<\/span>\r\n  | <span class=\"nb\">sed<\/span> <span class=\"s1\">'s\/LoadBalancer\/NodePort\/'<\/span> <span class=\"se\">\\<\/span>\r\n  | kubectl apply <span class=\"nt\">-f<\/span> -\r\n<\/code><\/pre>\n<details>\u65f6\u95f4 curl -L https:\/\/storage.googleapis.com\/knative-releases\/serving\/latest\/release-lite.yaml \\<br \/>\n&gt; | sed &#8216;s\/LoadBalancer\/NodePort\/&#8217; \\<br \/>\n&gt; | kubectl apply -f &#8211;<br \/>\n\u603b\u5171 \u603b\u8ba1 \u5df2\u63a5\u53d7 \u5ba2\u6237\u6709\u6548\u6570\u636e\u4f20\u8f93\u5e73\u5747\u901f\u7387 \u65f6\u95f4 \u603b\u65f6\u95f4 \u5e73\u5747\u7b49\u5f85\u65f6\u95f4 \u5e73\u5747\u8fde\u63a5\u65f6\u95f4 \u5e73\u5747\u901f\u5ea6<br \/>\n0% 0 0 0 0 0 0 0 &#8211;:&#8211;:&#8211; &#8211;:&#8211;:&#8211; &#8211;:&#8211;:&#8211; 0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\/knative-build<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272.rbac.authorization.k8s.io\/knative-build-admin<br \/>\n\u521b\u5efa\u670d\u52a1\u8d26\u53f7\/build-controller<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/build-controller-admin<br \/>\n\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u5b9a\u4e49.apiextensions.k8s.io\/builds.build.knative.dev<br \/>\n\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u5b9a\u4e49.apiextensions.k8s.io\/buildtemplates.build.knative.dev<br \/>\n\u521b\u5efa\u670d\u52a1\/build-controller<br \/>\n\u521b\u5efa\u670d\u52a1\/build-webhook<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/config-logging<br \/>\n\u521b\u5efa\u90e8\u7f72.app\/build-controller<br \/>\n\u521b\u5efa\u90e8\u7f72.app\/build-webhook<br \/>\n\u521b\u5efa\u547d\u540d\u7a7a\u95f4\/knative-serving<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272.rbac.authorization.k8s.io\/knative-serving-admin<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272.rbac.authorization.k8s.io\/knative-serving-write<br \/>\n\u521b\u5efa\u670d\u52a1\u8d26\u53f7\/controller<br \/>\n\u521b\u5efa\u670d\u52a1\u8d26\u53f7\/autoscaler<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/knative-serving-controller-admin<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/knative-serving-autoscaler-write<br \/>\n\u521b\u5efa\u7f51\u5173.networking.istio.io\/knative-shared-gateway<br \/>\n\u521b\u5efa\u670d\u52a1\/knative-ingressgateway<br \/>\n\u521b\u5efa\u90e8\u7f72.app\/knative-ingressgateway<br \/>\n\u521b\u5efa\u6c34\u5e73Pod\u81ea\u52a8\u7f29\u653e\u5668.autoscaling\/knative-ingressgateway<br \/>\n\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u5b9a\u4e49.apiextensions.k8s.io\/configurations.serving.knative.dev<br \/>\n\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u5b9a\u4e49.apiextensions.k8s.io\/revisions.serving.knative.dev<br \/>\n\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u5b9a\u4e49.apiextensions.k8s.io\/routes.serving.knative.dev<br \/>\n\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u5b9a\u4e49.apiextensions.k8s.io\/services.serving.knative.dev<br \/>\n\u521b\u5efa\u670d\u52a1\/activator-service<br \/>\n\u521b\u5efa\u670d\u52a1\/controller<br \/>\n\u521b\u5efa\u670d\u52a1\/webhook<br \/>\n\u521b\u5efa\u90e8\u7f72.app\/activator<br \/>\n\u521b\u5efa\u670d\u52a1\/autoscaler<br \/>\n\u521b\u5efa\u90e8\u7f72.app\/autoscaler<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/config-autoscaler<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/config-controller<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/config-domain<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/config-logging<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/config-network<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/config-observability<br \/>\n\u521b\u5efa\u90e8\u7f72.app\/controller<br \/>\n\u521b\u5efa\u90e8\u7f72.app\/webhook<br \/>\n\u521b\u5efa\u547d\u540d\u7a7a\u95f4\/monitoring<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-istio<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-mixer<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-pilot<br \/>\n\u521b\u5efa\u670d\u52a1\u8d26\u53f7\/kube-state-metrics<br \/>\n\u521b\u5efa\u89d2\u8272.rbac.authorization.k8s.io\/kube-state-metrics-resizer<br \/>\n\u521b\u5efa\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/kube-state-metrics<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272.rbac.authorization.k8s.io\/kube-state-metrics<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/kube-state-metrics<br \/>\n\u521b\u5efa\u90e8\u7f72.app\/kube-state-metrics<br \/>\n\u521b\u5efa\u670d\u52a1\/kube-state-metrics<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-kubernetes-deployment<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-kubernetes-capacity-planning<br \/>\n83 485k 83 403k 0 0 167k 0 0:00:02 0:00:02 &#8211;:&#8211;:&#8211; 167k\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-kubernetes-cluster-health<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-kubernetes-cluster-status<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-kubernetes-control-plane-status<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-kubernetes-resource-requests<br \/>\n100 485k 100 485k 0 0 160k 0 0:00:03 0:00:03 &#8211;:&#8211;:&#8211; 160k<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-kubernetes-nodes<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-kubernetes-pods<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-kubernetes-statefulset<br \/>\n\u521b\u5efa\u670d\u52a1\u8d26\u53f7\/node-exporter<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272.rbac.authorization.k8s.io\/node-exporter<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/node-exporter<br \/>\n\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u96c6.extensions\/node-exporter<br \/>\n\u521b\u5efa\u670d\u52a1\/node-exporter<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/scaling-config<br \/>\n\u521b\u5efa\u670d\u52a1\/fluentd-ds<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-knative-efficiency<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboard-definition-knative<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-datasources<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/grafana-dashboards<br \/>\n\u521b\u5efa\u670d\u52a1\/grafana<br \/>\n\u521b\u5efa\u90e8\u7f72.app\/grafana<br \/>\n\u521b\u5efa\u65e5\u5fd7\u8bb0\u5f55.config.istio.io\/requestlog<br \/>\n\u521b\u5efa\u65e5\u5fd7\u8bb0\u5f55\u5904\u7406\u5668.fluentd.config.istio.io\/requestloghandler<br \/>\n\u521b\u5efa\u89c4\u5219.config.istio.io\/requestlogtofluentd<br \/>\n\u521b\u5efa\u5ea6\u91cf.config.istio.io\/revisionrequestcount<br \/>\n\u521b\u5efa\u5ea6\u91cf.config.istio.io\/revisionrequestduration<br \/>\n\u521b\u5efa\u5ea6\u91cf.config.istio.io\/revisionrequestsize<br \/>\n\u521b\u5efa\u5ea6\u91cf.config.istio.io\/revisionresponsesize<br \/>\n\u521b\u5efa\u666e\u7f57\u7c73\u4fee\u65af\u914d\u7f6e.config.istio.io\/revisionpromhandler<br \/>\n\u521b\u5efa\u89c4\u5219.config.istio.io\/revisionpromhttp<br \/>\n\u521b\u5efa\u670d\u52a1\/kube-controller-manager<br \/>\n\u521b\u5efa\u670d\u52a1\/prometheus-system-discovery<br \/>\n\u521b\u5efa\u914d\u7f6e\u6620\u5c04\/prometheus-scrape-config<br \/>\n\u521b\u5efa\u670d\u52a1\u8d26\u53f7\/prometheus-system<br \/>\n\u521b\u5efa\u89d2\u8272.rbac.authorization.k8s.io\/prometheus-system<br \/>\n\u521b\u5efa\u89d2\u8272.rbac.authorization.k8s.io\/prometheus-system<br \/>\n\u521b\u5efa\u89d2\u8272.rbac.authorization.k8s.io\/prometheus-system<br \/>\n\u521b\u5efa\u89d2\u8272.rbac.authorization.k8s.io\/prometheus-system<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272.rbac.authorization.k8s.io\/prometheus-system<br \/>\n\u521b\u5efa\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/prometheus-system<br \/>\n\u521b\u5efa\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/prometheus-system<br \/>\n\u521b\u5efa\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/prometheus-system<br \/>\n\u521b\u5efa\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/prometheus-system<br \/>\n\u521b\u5efa\u96c6\u7fa4\u89d2\u8272\u7ed1\u5b9a.rbac.authorization.k8s.io\/prometheus-system<br \/>\n\u521b\u5efa\u670d\u52a1\/prometheus-system-np<br \/>\n\u521b\u5efa\u6709\u72b6\u6001\u96c6.app\/prometheus-system<br \/>\n\u65e5\u5fd7\u8bb0\u5f55.config.istio.io\/requestlog \u65e0\u53d8\u5316<br \/>\nfluentd.config.istio.io\/requestloghandler \u65e0\u53d8\u5316<br \/>\n\u89c4\u5219.config.istio.io\/requestlogtofluentd \u65e0\u53d8\u5316<br \/>\n\u5ea6\u91cf.config.istio.io\/revisionrequestcount \u65e0\u53d8\u5316<br \/>\n\u5ea6\u91cf.config.istio.io\/revisionrequestduration \u65e0\u53d8\u5316<br \/>\n\u5ea6\u91cf.config.istio.io\/revisionrequestsize \u65e0\u53d8\u5316<br \/>\n\u5ea6\u91cf.config.istio.io\/revisionresponsesize \u65e0\u53d8\u5316<br \/>\n\u666e\u7f57\u7c73\u4fee\u65af\u914d\u7f6e.config.istio.io\/revisionpromhandler \u65e0\u53d8\u5316<br \/>\n\u89c4\u5219.config.istio.io\/revisionpromhttp \u65e0\u53d8\u5316\u771f\u5b9e 0m7.227\u79d2<br \/>\n\u7528\u6237 0m0.604\u79d2<br \/>\n\u7cfb\u7edf 0m0.154\u79d2<\/p>\n<\/details>\n<p>\u6211\u4f1a\u68c0\u67e5\u52a8\u4f5c\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl get pods -n knative-serving\r\nNAME                          READY     STATUS    RESTARTS   AGE\r\nactivator-5f78d674df-b7f2v    2\/2       Running   4          17m\r\nautoscaler-5787568ff8-5mg79   2\/2       Running   4          17m\r\ncontroller-c8dd5d467-8hnhx    1\/1       Running   2          17m\r\nwebhook-78f58769cb-m5s7z      1\/1       Running   2          17m\r\n<\/code><\/pre>\n<h1>\u5728Knative\u4e0a\u8fd0\u884c\u793a\u4f8b<\/h1>\n<p>\u5c1d\u8bd5\u5728Knative\u7f51\u7ad9\u4e0a\u8fd0\u884c\u300aKnative\u5e94\u7528\u90e8\u7f72\u5165\u95e8\u300b\u6307\u5357\u4e2d\u7684\u793a\u4f8b\u3002<\/p>\n<h2>\u51c6\u5907 services.yaml \u6587\u4ef6<\/h2>\n<p>\u6211\u5c06\u51c6\u5907\u8fd9\u6837\u4e00\u4e2a\u6587\u4ef6\u3002\u4f7f\u7528\u4e86\u6307\u5357\u4e2d\u63d0\u4f9b\u7684&#8221;gcr.io\/knative-samples\/helloworld-go&#8221;\u7684\u6620\u50cf\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">serving.knative.dev\/v1alpha1<\/span> <span class=\"c1\"># Current version of Knative<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">helloworld-go<\/span> <span class=\"c1\"># The name of the app<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">default<\/span> <span class=\"c1\"># The namespace the app will use<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">runLatest<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">configuration<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">revisionTemplate<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"na\">container<\/span><span class=\"pi\">:<\/span>\r\n            <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">gcr.io\/knative-samples\/helloworld-go<\/span> <span class=\"c1\"># The URL to the image of the app<\/span>\r\n            <span class=\"na\">env<\/span><span class=\"pi\">:<\/span>\r\n            <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">TARGET<\/span> <span class=\"c1\"># The environment variable printed out by the sample app<\/span>\r\n              <span class=\"na\">value<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">Go<\/span> <span class=\"s\">Sample<\/span> <span class=\"s\">v1\"<\/span>\r\n<\/code><\/pre>\n<p>\u8ba9\u5176\u8fd0\u884c\u8d77\u6765\u3002\uff08\u8fd9\u91cc\u7684\u7b80\u6613\u6027\u662fKnative\u7684\u4f18\u70b9\u4e4b\u4e00\uff09<\/p>\n<pre class=\"post-pre\"><code>$ kubectl apply -f service.yaml\r\nservice.serving.knative.dev\/helloworld-go created\r\n<\/code><\/pre>\n<p>\u5728\u8fd9\u4e00\u884c\u4ee3\u7801\u4e2d\uff0cKnative\u5c06\u8d1f\u8d23\u4ee5\u4e0b\u4e8b\u9879\uff1a<br \/>\n&#8211; \u521b\u5efa\u6b64\u5e94\u7528\u7a0b\u5e8f\u7684\u666e\u904d\u7248\u672c<br \/>\n&#8211; \u521b\u5efa\u8def\u7531\u3001\u5165\u53e3\u548c\u8d1f\u8f7d\u5747\u8861\u5668<br \/>\n&#8211; \u5bf9pod\u8fdb\u884c\u6269\u7f29\u5bb9\u3002<\/p>\n<p>\u6211\u4f1a\u786e\u8ba4\u52a8\u4f5c\u60c5\u51b5\u3002<\/p>\n<pre class=\"post-pre\"><code>$ \r\nNAME                     TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)                                      AGE\r\nknative-ingressgateway   NodePort   10.104.55.123   &lt;none&gt;        80:32380\/TCP,443:32390\/TCP,32400:32400\/TCP   25m\r\n<\/code><\/pre>\n<p>\u8bf7\u67e5\u627e\u670d\u52a1\u7684URL\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl get services.serving.knative.dev helloworld-go  -o=custom-columns=NAME:.metadata.name,DOMAIN:.status.domain\r\nNAME            DOMAIN\r\nhelloworld-go   helloworld-go.default.example.com\r\n<\/code><\/pre>\n<p>\u5728Knative\u7684\u7f51\u7ad9\u4e0a\u67e5\u627e\u8fde\u63a5\u76ee\u6807\u7684IP\u5730\u5740\u7684\u65b9\u6cd5\uff0c<\/p>\n<pre class=\"post-pre\"><code>$ echo $(minikube ip):$(kubectl get svc knative-ingressgateway -n istio-system -o 'jsonpath={.spec.ports[?(@.port==80)].nodePort}')\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>192.168.99.101:32380\r\n<\/code><\/pre>\n<p>\u5c06\u8fd9\u4e2a\u5730\u5740\u8bbe\u7f6e\u4e3a\u53d8\u91cf\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nb\">export <\/span><span class=\"nv\">IP_ADDRESS<\/span><span class=\"o\">=<\/span>192.168.99.100:32380\r\n<\/code><\/pre>\n<p>\u6211\u8bd5\u7740\u8fde\u63a5\u4e00\u4e0b\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>curl <span class=\"nt\">-H<\/span> <span class=\"s2\">\"Host: <\/span><span class=\"k\">${<\/span><span class=\"nv\">HOST_URL<\/span><span class=\"k\">}<\/span><span class=\"s2\">\"<\/span> http:\/\/<span class=\"k\">${<\/span><span class=\"nv\">IP_ADDRESS<\/span><span class=\"k\">}<\/span>\r\nHello World: Go Sample v1!\r\n<\/code><\/pre>\n<p>\u6211\u53d1\u73b0\u4e86\u6765\u81eaGo\u7a0b\u5e8f\u7684\u8f93\u51fa\u3002<\/p>\n<p>\u7a0d\u5fae\u4fee\u6539services.yaml\u6587\u4ef6\u7684\u5185\u5bb9<\/p>\n<pre class=\"post-pre\"><code>              <span class=\"na\">value<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">Go<\/span> <span class=\"s\">Sample<\/span> <span class=\"s\">version2\"<\/span>\r\n<\/code><\/pre>\n<p>\u91cd\u65b0\u8a3b\u518a\u670d\u52d9\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>kubectl apply <span class=\"nt\">-f<\/span> service.yaml\r\nservice.serving.knative.dev\/helloworld-go configured\r\n<\/code><\/pre>\n<p>\u7a0d\u8fc7\u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u670d\u52a1\u7684\u73af\u5883\u53d8\u91cf\u5c06\u4f1a\u66f4\u65b0\uff0c\u5e76\u4e14\u53ef\u4ee5\u901a\u8fc7\u63a7\u5236\u53f0\u8f93\u51fa\u7684\u53d8\u5316\u6765\u786e\u8ba4\u3002<\/p>\n<pre class=\"post-pre\"><code>$ curl -H \"Host: ${HOST_URL}\" http:\/\/${IP_ADDRESS}\r\nHello World: Go Sample version2\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>minikube dashboard\r\n<\/code><\/pre>\n<p>\u5f53\u60a8\u6267\u884c\u8be5\u64cd\u4f5c\u65f6\uff0c\u60a8\u53ef\u4ee5\u5728Web\u63a7\u5236\u53f0\u4e0a\u786e\u8ba4\u670d\u52a1\u90e8\u7f72\u7684\u60c5\u51b5(\u8bf7\u53c2\u8003\u672c\u6761\u76ee\u5f00\u5934\u7684\u56fe\u8868)\u3002<\/p>\n<h1>\u6574\u7406<\/h1>\n<p>\u672c\u7bc7\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728\u4e00\u53f0\u672c\u5730\u673a\u5668\u4e0a\u5c1d\u8bd5Knative\u3002\u63a8\u8350\u4f7f\u7528Minikube\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u5728\u4e00\u53f0\u673a\u5668\u4e0a\u8fdb\u884c\u6d4b\u8bd5\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6982\u51b5 \u5728Google Cloud Next &#8217;18\u4e0a\uff0c\u5ba3\u5e03\u4e86Knative\u3002Knative\u662f\u5728Ku [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-43622","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cKnative\uff0c\u76f4\u5230\u5b8c\u6210 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cknative\uff0c\u76f4\u5230\u5b8c\u6210\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cKnative\uff0c\u76f4\u5230\u5b8c\u6210\" \/>\n<meta property=\"og:description\" content=\"\u6982\u51b5 \u5728Google Cloud Next &#8217;18\u4e0a\uff0c\u5ba3\u5e03\u4e86Knative\u3002Knative\u662f\u5728Ku [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cknative\uff0c\u76f4\u5230\u5b8c\u6210\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-02T19:54:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T09:44:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d536e37434c4406ccfa52\/3-0.png\" \/>\n<meta name=\"author\" content=\"\u97f5, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u97f5, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/\",\"name\":\"\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cKnative\uff0c\u76f4\u5230\u5b8c\u6210 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-05-02T19:54:02+00:00\",\"dateModified\":\"2024-04-29T09:44:28+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cKnative\uff0c\u76f4\u5230\u5b8c\u6210\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\",\"name\":\"\u97f5, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"caption\":\"\u97f5, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cKnative\uff0c\u76f4\u5230\u5b8c\u6210 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cknative\uff0c\u76f4\u5230\u5b8c\u6210\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cKnative\uff0c\u76f4\u5230\u5b8c\u6210","og_description":"\u6982\u51b5 \u5728Google Cloud Next &#8217;18\u4e0a\uff0c\u5ba3\u5e03\u4e86Knative\u3002Knative\u662f\u5728Ku [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cknative\uff0c\u76f4\u5230\u5b8c\u6210\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-05-02T19:54:02+00:00","article_modified_time":"2024-04-29T09:44:28+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d536e37434c4406ccfa52\/3-0.png"}],"author":"\u97f5, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u97f5, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/","name":"\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cKnative\uff0c\u76f4\u5230\u5b8c\u6210 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-05-02T19:54:02+00:00","dateModified":"2024-04-29T09:44:28+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u4f7f\u7528minikube\u5728\u672c\u5730\u4e00\u53f0\u673a\u5668\u4e0a\u8fd0\u884cKnative\uff0c\u76f4\u5230\u5b8c\u6210"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e","name":"\u97f5, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","caption":"\u97f5, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8minikube%e5%9c%a8%e6%9c%ac%e5%9c%b0%e4%b8%80%e5%8f%b0%e6%9c%ba%e5%99%a8%e4%b8%8a%e8%bf%90%e8%a1%8cknative%ef%bc%8c%e7%9b%b4%e5%88%b0%e5%ae%8c%e6%88%90%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43622"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43622\/revisions"}],"predecessor-version":[{"id":86710,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43622\/revisions\/86710"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}