{"id":36195,"date":"2022-12-03T13:34:58","date_gmt":"2023-09-28T20:02:11","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/"},"modified":"2024-04-29T03:36:05","modified_gmt":"2024-04-28T19:36:05","slug":"%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/","title":{"rendered":"\u4f7f\u7528k8s\uff1a\u5c06Docker\u5bb9\u5668\u90e8\u7f72\u5230Kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f"},"content":{"rendered":"<h3>\u603b\u7ed3<\/h3>\n<p>\u76ee\u6807\u662f\u4f7f\u7528GKE\u7684Kubernetes Engine\u5728Docker\u5bb9\u5668\u4e2d\u8fd0\u884c\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u6211\u4eec\u5c06\u4f7f\u7528GCP\u5b98\u65b9\u7684hello-app\u4f5c\u4e3a\u8981\u8fd0\u884c\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u8be5\u5e94\u7528\u7a0b\u5e8f\u5c06\u5728\u7aef\u53e380\u4e0a\u5bf9\u8bf7\u6c42\u4f5c\u51fa\u201cHello, World!\u201d\u7684\u56de\u5e94\u3002<\/p>\n<h4>\u51c6\u5907\u4e8b\u9879<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Google Cloud Platform\u306eKubernetes Engine\u3067\u4efb\u610f\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u5bfe\u3059\u308b\u8ab2\u91d1\u3092\u6709\u52b9\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u2192\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u8acb\u6c42\u8a2d\u5b9a\u306e\u5909\u66f4<\/ul>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d281b37434c4406c3f07c\/4-0.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8 2018-08-13 1.15.38.png\" \/><\/div>\n<ul class=\"post-ul\">\u57fa\u672c\u7684\u306agcloud, kubectl\u30b3\u30de\u30f3\u30c9\u306a\u3069\u306e\u521d\u671f\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u306f\u516c\u5f0f\u304bk8s : GKE\u306b\u3088\u308bKubernetes\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7(\u30af\u30e9\u30b9\u30bf\u4f5c\u6210\u307e\u3067)\u301c\u7121\u6599\u67a0\u301c\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/ul>\n<hr \/>\n<h4>\u6b65\u9aa41: \u521b\u5efa\u5bb9\u5668\u6620\u50cf\u3002<\/h4>\n<p>\u9996\u5148\uff0cKubernetes\u5f15\u64ce\u63a5\u53d7Docker\u955c\u50cf\u4f5c\u4e3a\u5e94\u7528\u7a0b\u5e8f\u90e8\u7f72\u683c\u5f0f\u3002\u6240\u4ee5\u9996\u5148\u9700\u8981\u521b\u5efa\u4e00\u4e2aDocker\u955c\u50cf\u3002<\/p>\n<p>\u514b\u9686hello-app\u3002<\/p>\n<pre class=\"post-pre\"><code>\r\n<span class=\"nv\">$ <\/span>git clone https:\/\/github.com\/GoogleCloudPlatform\/kubernetes-engine-samples\r\nCloning into <span class=\"s1\">'kubernetes-engine-samples'<\/span>...\r\nremote: Counting objects: 436, <span class=\"k\">done<\/span><span class=\"nb\">.<\/span>\r\nremote: Compressing objects: 100% <span class=\"o\">(<\/span>5\/5<span class=\"o\">)<\/span>, <span class=\"k\">done<\/span><span class=\"nb\">.<\/span>\r\nremote: Total 436 <span class=\"o\">(<\/span>delta 0<span class=\"o\">)<\/span>, reused 1 <span class=\"o\">(<\/span>delta 0<span class=\"o\">)<\/span>, pack-reused 431\r\nReceiving objects: 100% <span class=\"o\">(<\/span>436\/436<span class=\"o\">)<\/span>, 385.01 KiB | 332.00 KiB\/s, <span class=\"k\">done<\/span><span class=\"nb\">.<\/span>\r\nResolving deltas: 100% <span class=\"o\">(<\/span>180\/180<span class=\"o\">)<\/span>, <span class=\"k\">done<\/span><span class=\"nb\">.<\/span>\r\n<span class=\"nv\">$ <\/span><span class=\"nb\">cd <\/span>kubernetes-engine-samples\/hello-app\r\n<\/code><\/pre>\n<p>\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span><span class=\"nb\">export <\/span><span class=\"nv\">PROJECT_ID<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"<\/span><span class=\"si\">$(<\/span>gcloud config get-value project <span class=\"nt\">-q<\/span><span class=\"si\">)<\/span><span class=\"s2\">\"<\/span>\r\nYour active configuration is: <span class=\"o\">[<\/span>cloudshell-29771]\r\n<span class=\"nv\">$ <\/span><span class=\"nb\">echo<\/span> <span class=\"nv\">$PROJECT_ID<\/span>\r\nkubernetes-test-213018\r\n<\/code><\/pre>\n<p>\u521b\u5efa\u4e00\u4e2a\u5bb9\u5668\u955c\u50cf\uff0c\u4e3a\u5176\u6253\u4e0a\u4e0a\u4f20\u7528\u7684\u6807\u7b7e\u3002<br \/>\n\u8fd9\u4e2a\u547d\u4ee4\u544a\u8bc9Docker\u4f7f\u7528\u5f53\u524d\u76ee\u5f55\u4e0b\u7684Dockerfile\u6765\u521b\u5efa\u955c\u50cf\uff0c\u5e76\u6307\u793a\u901a\u8fc7gcr.io\/my-project\/hello-app:v1\u7b49\u540d\u79f0\u5bf9\u5176\u8fdb\u884c\u6807\u8bb0\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker build <span class=\"nt\">-t<\/span> gcr.io\/<span class=\"k\">${<\/span><span class=\"nv\">PROJECT_ID<\/span><span class=\"k\">}<\/span>\/hello-app:v1 <span class=\"nb\">.<\/span>\r\nSending build context to Docker daemon  9.728kB\r\nStep 1\/7 : FROM golang:1.8-alpine\r\n1.8-alpine: Pulling from library\/golang\r\n550fe1bea624: Pull <span class=\"nb\">complete\r\n<\/span>cbc8da23026a: Pull <span class=\"nb\">complete<\/span>\r\n\r\n~\u4e2d\u7565~\r\n\r\nSuccessfully built c0b949436195\r\nSuccessfully tagged gcr.io\/kubernetes-test-213018\/hello-app:v1\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker images\r\nREPOSITORY                                TAG                 IMAGE ID            CREATED              SIZE\r\ngcr.io\/kubernetes-test-213018\/hello-app   v1                  c0b949436195        About a minute ago   10.3MB\r\n&lt;none&gt;                                    &lt;none&gt;              c6c64569411f        About a minute ago   263MB\r\nalpine                                    latest              11cd0b38bc3c        5 weeks ago          4.41MB\r\ngolang                                    1.8-alpine          4cb86d3661bf        6 months ago         257MB\r\n\r\n<span class=\"nv\">$ <\/span>docker ps <span class=\"nt\">-a<\/span> \/\/\u30d7\u30ed\u30bb\u30b9\u306f\u307e\u3060\u306a\u3044\u3002\r\nCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES\r\n<\/code><\/pre>\n<h4>\u6b65\u9aa42\uff1a\u5c06\u5bb9\u5668\u6620\u50cf\u4e0a\u4f20\u81f3\u5bb9\u5668\u6ce8\u518c\u8868\u3002<\/h4>\n<p>\u5c06\u5bb9\u5668\u955c\u50cf\u4e0a\u4f20\u5230\u5bb9\u5668\u6ce8\u518c\u8868\u3002<\/p>\n<p>\u4e0a\u4f20<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>gcloud docker <span class=\"nt\">--<\/span> push gcr.io\/<span class=\"k\">${<\/span><span class=\"nv\">PROJECT_ID<\/span><span class=\"k\">}<\/span>\/hello-app:v1\r\nWARNING: <span class=\"sb\">`<\/span>gcloud docker<span class=\"sb\">`<\/span> will not be supported <span class=\"k\">for <\/span>Docker client versions above 18.03.\r\nAs an alternative, use <span class=\"sb\">`<\/span>gcloud auth configure-docker<span class=\"sb\">`<\/span> to configure <span class=\"sb\">`<\/span>docker<span class=\"sb\">`<\/span> to\r\nuse <span class=\"sb\">`<\/span>gcloud<span class=\"sb\">`<\/span> as a credential helper, <span class=\"k\">then <\/span>use <span class=\"sb\">`<\/span>docker<span class=\"sb\">`<\/span> as you would <span class=\"k\">for <\/span>non-GCR\r\nregistries, e.g. <span class=\"sb\">`<\/span>docker pull gcr.io\/project-id\/my-image<span class=\"sb\">`<\/span><span class=\"nb\">.<\/span> Add\r\n<span class=\"sb\">`<\/span><span class=\"nt\">--verbosity<\/span><span class=\"o\">=<\/span>error<span class=\"sb\">`<\/span> to silence this warning: <span class=\"sb\">`<\/span>gcloud docker\r\n<span class=\"nt\">--verbosity<\/span><span class=\"o\">=<\/span>error <span class=\"nt\">--<\/span> pull gcr.io\/project-id\/my-image<span class=\"sb\">`<\/span><span class=\"nb\">.<\/span>\r\nSee: https:\/\/cloud.google.com\/container-registry\/docs\/support\/deprecation-notices#gcloud-docker\r\nThe push refers to repository <span class=\"o\">[<\/span>gcr.io\/kubernetes-test-213018\/hello-app]\r\n29c39384924b: Pushed\r\n\r\n~\u4e2d\u7565~\r\n<\/code><\/pre>\n<h4>\u6b65\u9aa43\uff1a\u672c\u5730\u8fd0\u884c\u5bb9\u5668\uff08\u53ef\u9009\uff09\u3002<\/h4>\n<p>\u8ba9\u6211\u4eec\u5728\u672c\u5730\uff08\u63a7\u5236\u53f0\uff09\u4e0a\u6267\u884c\uff0c\u5e76\u5c1d\u8bd5\u901a\u8fc7\u7aef\u53e38080\u8fdb\u884c\u8bbf\u95ee\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker run <span class=\"nt\">--rm<\/span> <span class=\"nt\">-p<\/span> 8080:8080 gcr.io\/<span class=\"k\">${<\/span><span class=\"nv\">PROJECT_ID<\/span><span class=\"k\">}<\/span>\/hello-app:v1\r\n2018\/08\/12 16:43:49 Server listening on port 8080\r\n2018\/08\/12 16:44:25 Serving request: \/\r\n2018\/08\/12 16:44:25 Serving request: \/favicon.ico\r\n\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d281b37434c4406c3f07c\/23-0.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8 2018-08-13 1.44.36.png\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d281b37434c4406c3f07c\/24-0.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8 2018-08-13 1.47.39.png\" \/><\/div>\n<p>\u5728\u4f7f\u7528curl\u8fdb\u884c\u9a8c\u8bc1\u4e5f\u6ca1\u6709\u95ee\u9898\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>curl http:\/\/localhost:8080\r\nHello, world!\r\nVersion: 1.0.0\r\nHostname: f871bced7ec5\r\n<\/code><\/pre>\n<p>\u6211\u5011\u5df2\u7d93\u78ba\u8a8d\u4e86\u5728\u672c\u5730\u9032\u884c\u7684App\u9a57\u8b49\u3002\u73fe\u5728\u8b93\u6211\u5011\u9032\u884c\u90e8\u7f72\u3002<\/p>\n<h4>\u6b65\u9aa44\uff1a\u521b\u5efa\u5bb9\u5668\u96c6\u7fa4\u3002<\/h4>\n<p>\u5728\u521b\u5efa\u7fa4\u96c6\u65b9\u9762\uff0c\u5c06\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u3002<br \/>\n\u53c2\u8003\u8d44\u6599\uff1ak8s\uff1a\u4f7f\u7528GKE\u8fdb\u884cKubernetes\u8bbe\u7f6e\uff08\u76f4\u5230\u521b\u5efa\u7fa4\u96c6\uff09\u301c\u514d\u8d39\u9636\u68af\u301c<\/p>\n<pre class=\"post-pre\"><code>$gcloud config set project [\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d]\r\n$gcloud config set compute\/zone [\u30be\u30fc\u30f3\u540d]\r\n$gcloud config set compute\/region [\u30ea\u30fc\u30b8\u30e7\u30f3\u540d]\r\n$gcloud config list\r\n<\/code><\/pre>\n<p>\u6211\u4f1a\u6309\u7167\u4ee5\u4e0b\u7684\u65b9\u5f0f\u521b\u5efa\u672c\u6b21\u9879\u76ee\u3002<br \/>\n[\u9879\u76ee\u540d\u79f0]\uff1akubernetes-test<br \/>\n[\u533a\u57df\u540d\u79f0]\uff1aus-west1-a<br \/>\n[\u53ef\u7528\u533a\u540d\u79f0]\uff1aus-west1<\/p>\n<pre class=\"post-pre\"><code>\/\/ \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\r\n<span class=\"nv\">$ <\/span>gcloud config <span class=\"nb\">set <\/span>project kubernetes-test-213018\r\n\r\n\/\/ \u30be\u30fc\u30f3\r\n<span class=\"nv\">$ <\/span>gcloud config <span class=\"nb\">set <\/span>compute\/zone us-west1\r\n\r\n\/\/ \u30ea\u30fc\u30b8\u30e7\u30f3\r\n<span class=\"nv\">$ <\/span>gcloud config <span class=\"nb\">set <\/span>compute\/region us-west1-a\r\n\r\n\/\/ \u78ba\u8a8d\r\n<span class=\"nv\">$ <\/span>gcloud config list\r\n<span class=\"o\">[<\/span>compute]\r\nregion <span class=\"o\">=<\/span> us-west1-a\r\nzone <span class=\"o\">=<\/span> us-west1\r\n<span class=\"o\">[<\/span>core]\r\naccount <span class=\"o\">=<\/span> xxxxxx\r\ndisable_usage_reporting <span class=\"o\">=<\/span> False\r\npass_credentials_to_gsutil <span class=\"o\">=<\/span> <span class=\"nb\">false\r\n<\/span>project <span class=\"o\">=<\/span>  kubernetes-test-213018\r\n\r\nYour active configuration is: <span class=\"o\">[<\/span>default]\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>gcloud compute instances list\r\nNAME                                         ZONE        MACHINE_TYPE  PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP     STATUS\r\ngke-test-cluster-default-pool-ea04ffe6-tptm  us-west1-a  f1-micro      <span class=\"nb\">true         <\/span>10.138.0.2   35.233.147.83   RUNNING\r\ngke-test-cluster-default-pool-ea04ffe6-wmfz  us-west1-a  f1-micro      <span class=\"nb\">true         <\/span>10.138.0.3   35.233.215.176  RUNNING\r\ngke-test-cluster-default-pool-ea04ffe6-xwgq  us-west1-a  f1-micro      <span class=\"nb\">true         <\/span>10.138.0.4   35.227.149.76   RUNNING\r\n<\/code><\/pre>\n<h4>\u6b65\u9aa45\uff1a\u90e8\u7f72\u5e94\u7528\u7a0b\u5e8f<\/h4>\n<p>\u8981\u5728Kubernetes Engine\u96c6\u7fa4\u4e2d\u90e8\u7f72\u548c\u7ba1\u7406\u5e94\u7528\u7a0b\u5e8f\uff0c\u9700\u8981\u4e0eKubernetes\u96c6\u7fa4\u7ba1\u7406\u7cfb\u7edf\u8fdb\u884c\u901a\u4fe1\u3002<\/p>\n<p>\u63d0\u793a<br \/>\n\u00b7 \u5728Kubernetes\u4e0a\u8fd0\u884c\u7684\u5e94\u7528\u5355\u4f4d\u88ab\u79f0\u4e3aPods\u3002<br \/>\n\u00b7 \u6267\u884ckubectl run\u547d\u4ee4\u65f6\uff0cKubernetes\u5c06\u5728\u96c6\u7fa4\u4e2d\u521b\u5efa\u4e00\u4e2a\u540d\u4e3ahello-web\u7684Deployment\u3002Deployment\u53ef\u4ee5\u7ba1\u7406\u591a\u4e2a\u5e94\u7528\u7a0b\u5e8f\u526f\u672c\uff0c\u79f0\u4e3aReplica\uff0c\u5e76\u5b89\u6392\u5728\u96c6\u7fa4\u4e2d\u7684\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002\u5728\u672c\u4f8b\u4e2d\uff0cDeployment\u53ea\u4f1a\u6267\u884c\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u7684Pod\u3002<br \/>\n\u5f15\u7528\uff1ahttps:\/\/cloud.google.com\/kubernetes-engine\/docs\/tutorials\/hello-app<\/p>\n<p>\u542c\u7aef\u53e3<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>kubectl run hello-web <span class=\"nt\">--image<\/span><span class=\"o\">=<\/span>gcr.io\/<span class=\"k\">${<\/span><span class=\"nv\">PROJECT_ID<\/span><span class=\"k\">}<\/span>\/hello-app:v1 <span class=\"nt\">--port<\/span> 8080\r\ndeployment <span class=\"s2\">\"hello-web\"<\/span> created\r\n<\/code><\/pre>\n<p>Pods\u9a8c\u8bc1<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>kubectl get pods\r\nNAME                         READY     STATUS    RESTARTS   AGE\r\nhello-web-6f5854c4f4-c8kt8   1\/1       Running   0          35s\r\n<\/code><\/pre>\n<h4>\u6b65\u9aa46\uff1a\u5c06\u5e94\u7528\u7a0b\u5e8f\u53d1\u5e03\u5230\u4e92\u8054\u7f51\u4e0a\u3002<\/h4>\n<p>\u5982\u679c\u8981\u5c06\u5e94\u7528\u7a0b\u5e8f\u660e\u786e\u516c\u5f00\u5230\u4e92\u8054\u7f51\u4e0a\uff0c\u7531\u4e8e\u5728Kubernetes\u5f15\u64ce\u4e0a\u8fd0\u884c\u7684\u5bb9\u5668\u6ca1\u6709\u5916\u90e8IP\u5730\u5740\uff0c\u56e0\u6b64\u65e0\u6cd5\u4ece\u4e92\u8054\u7f51\u8bbf\u95ee\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u8bf7\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>kubectl expose deployment hello-web <span class=\"nt\">--type<\/span><span class=\"o\">=<\/span>LoadBalancer <span class=\"nt\">--port<\/span> 80 <span class=\"nt\">--target-port<\/span> 8080\r\nservice <span class=\"s2\">\"hello-web\"<\/span> exposed\r\n\r\n<span class=\"nv\">$ <\/span>kubectl get service\r\nNAME         TYPE           CLUSTER-IP      EXTERNAL-IP     PORT<span class=\"o\">(<\/span>S<span class=\"o\">)<\/span>        AGE\r\nhello-web    LoadBalancer   10.59.246.168   35.233.225.41   80:32667\/TCP   4m\r\n<\/code><\/pre>\n<p>\u786e\u8ba4\u8bbf\u95ee<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>curl http:\/\/35.233.225.41:80\r\nHello, world!\r\nVersion: 1.0.0\r\nHostname: hello-web-6f5854c4f4-c8kt8\r\n<\/code><\/pre>\n<p>\u4e00\u5207\u987a\u5229\uff0c\u6211\u6210\u529f\u8bbf\u95ee\u4e86\uff01<\/p>\n<p>\u516c\u958b\u5df2\u7d93\u9806\u5229\u7d50\u675f\u4e86\uff0c\u4f46\u5728\u9019\u88e1\u6211\u60f3\u63d0\u5230\u4e00\u4e9b\u548c\u898f\u6a21\u6709\u95dc\u7684\u6280\u5de7\u3002<\/p>\n<p>\u8bf7\u786e\u8ba4\u76ee\u524d\u7684\u590d\u5236\u54c1\u6570\u91cf\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>kubectl get deployment hello-web\r\nNAME        DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE\r\nhello-web   1         1         1            1           8m\r\n<\/code><\/pre>\n<p>\u5c06\u6b64\u8bbe\u7f6e\u4e3a3\u4e2a\u3002\u6267\u884ckubectl scale deployment {app_name} &#8211;replicas=3\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>kubectl scale deployment hello-web <span class=\"nt\">--replicas<\/span><span class=\"o\">=<\/span>3\r\ndeployment <span class=\"s2\">\"hello-web\"<\/span> scaled\r\ni35_267_m@kubernetes-test-213018:~\/kubernetes-engine-samples\/hello-app<span class=\"nv\">$ <\/span>kubectl get deployment hello-web\r\nNAME        DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE\r\nhello-web   3         3         3            2           9m\r\n<\/code><\/pre>\n<p>\u8fd9\u6837\u5c31\u53d8\u6210\u4e86\u3002<\/p>\n<p>\u518d\u8005\uff0c\u5982\u679c\u4fdd\u6301\u73b0\u72b6\uff0c\u5c06\u4f1a\u88ab\u6536\u8d39\uff0c\u56e0\u6b64\u6211\u4eec\u5c06\u8fdb\u884c\u6e05\u7406\u5de5\u4f5c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>kubectl delete service hello-web\r\nservice <span class=\"s2\">\"hello-web\"<\/span> deleted\r\n<span class=\"nv\">$ <\/span>gcloud compute forwarding-rules list\r\nNAME                              REGION    IP_ADDRESS     IP_PROTOCOL  TARGET\r\na84f4475b9e5111e89f1442010a8a001  us-west1  35.233.225.41  TCP          us-west1\/targetPools\/a84f4475b9e5111e89f1442010a8a001\r\n<span class=\"nv\">$ <\/span>gcloud container clusters delete test-cluster\r\nERROR: <span class=\"o\">(<\/span>gcloud.container.clusters.delete<span class=\"o\">)<\/span> One of <span class=\"o\">[<\/span><span class=\"nt\">--zone<\/span>, <span class=\"nt\">--region<\/span><span class=\"o\">]<\/span> must be supplied: Please specify location..\r\n<span class=\"nv\">$ <\/span>gcloud container clusters delete test-cluster <span class=\"nt\">--zone<\/span> us-west1-a\r\nThe following clusters will be deleted.\r\n - <span class=\"o\">[<\/span>test-cluster] <span class=\"k\">in<\/span> <span class=\"o\">[<\/span>us-west1-a]\r\nDo you want to <span class=\"k\">continue<\/span> <span class=\"o\">(<\/span>Y\/n<span class=\"o\">)<\/span>?  y\r\nDeleting cluster test-cluster...done.\r\n<\/code><\/pre>\n<p>\u5c31\u662f\u8fd9\u6837\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u603b\u7ed3 \u76ee\u6807\u662f\u4f7f\u7528GKE\u7684Kubernetes Engine\u5728Docker\u5bb9\u5668\u4e2d\u8fd0\u884c\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u6211\u4eec\u5c06\u4f7f\u7528GCP [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-36195","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\u7528k8s\uff1a\u5c06Docker\u5bb9\u5668\u90e8\u7f72\u5230Kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f - 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\u7528k8s\uff1a\u5c06docker\u5bb9\u5668\u90e8\u7f72\u5230kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4f7f\u7528k8s\uff1a\u5c06Docker\u5bb9\u5668\u90e8\u7f72\u5230Kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\" \/>\n<meta property=\"og:description\" content=\"\u603b\u7ed3 \u76ee\u6807\u662f\u4f7f\u7528GKE\u7684Kubernetes Engine\u5728Docker\u5bb9\u5668\u4e2d\u8fd0\u884c\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u6211\u4eec\u5c06\u4f7f\u7528GCP [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528k8s\uff1a\u5c06docker\u5bb9\u5668\u90e8\u7f72\u5230kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-28T20:02:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T19:36:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d281b37434c4406c3f07c\/4-0.png\" \/>\n<meta name=\"author\" content=\"\u6587, \u7fd4\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6587, \u7fd4\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \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%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/\",\"name\":\"\u4f7f\u7528k8s\uff1a\u5c06Docker\u5bb9\u5668\u90e8\u7f72\u5230Kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-09-28T20:02:11+00:00\",\"dateModified\":\"2024-04-28T19:36:05+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4f7f\u7528k8s\uff1a\u5c06Docker\u5bb9\u5668\u90e8\u7f72\u5230Kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\"}]},{\"@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\/64d5cc7727fffbff2f9a2a8da1de3e5c\",\"name\":\"\u6587, \u7fd4\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g\",\"caption\":\"\u6587, \u7fd4\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/wenxiang\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u4f7f\u7528k8s\uff1a\u5c06Docker\u5bb9\u5668\u90e8\u7f72\u5230Kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f - 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\u7528k8s\uff1a\u5c06docker\u5bb9\u5668\u90e8\u7f72\u5230kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\/","og_locale":"zh_CN","og_type":"article","og_title":"\u4f7f\u7528k8s\uff1a\u5c06Docker\u5bb9\u5668\u90e8\u7f72\u5230Kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f","og_description":"\u603b\u7ed3 \u76ee\u6807\u662f\u4f7f\u7528GKE\u7684Kubernetes Engine\u5728Docker\u5bb9\u5668\u4e2d\u8fd0\u884c\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u6211\u4eec\u5c06\u4f7f\u7528GCP [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528k8s\uff1a\u5c06docker\u5bb9\u5668\u90e8\u7f72\u5230kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-09-28T20:02:11+00:00","article_modified_time":"2024-04-28T19:36:05+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d281b37434c4406c3f07c\/4-0.png"}],"author":"\u6587, \u7fd4","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6587, \u7fd4","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"3 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/","name":"\u4f7f\u7528k8s\uff1a\u5c06Docker\u5bb9\u5668\u90e8\u7f72\u5230Kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-09-28T20:02:11+00:00","dateModified":"2024-04-28T19:36:05+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u4f7f\u7528k8s\uff1a\u5c06Docker\u5bb9\u5668\u90e8\u7f72\u5230Kubernetes\u5f15\u64ce\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f"}]},{"@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\/64d5cc7727fffbff2f9a2a8da1de3e5c","name":"\u6587, \u7fd4","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g","caption":"\u6587, \u7fd4"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/wenxiang\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8k8s%ef%bc%9a%e5%b0%86docker%e5%ae%b9%e5%99%a8%e9%83%a8%e7%bd%b2%e5%88%b0kubernetes%e5%bc%95%e6%93%8e%e5%b9%b6%e5%90%af%e5%8a%a8%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/36195","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\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=36195"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/36195\/revisions"}],"predecessor-version":[{"id":78847,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/36195\/revisions\/78847"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=36195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=36195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=36195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}