{"id":75,"date":"2026-08-22T17:38:44","date_gmt":"2026-08-22T09:38:44","guid":{"rendered":"https:\/\/www.xiaoxindong.cloud\/?p=75"},"modified":"2026-09-06T19:58:49","modified_gmt":"2026-09-06T11:58:49","slug":"pod-%e7%94%9f%e5%91%bd%e5%91%a8%e6%9c%9f%e7%ae%a1%e7%90%86%e4%b8%8e%e9%85%8d%e7%bd%ae","status":"publish","type":"post","link":"https:\/\/www.xiaoxindong.cloud\/?p=75","title":{"rendered":"3.Pod \u751f\u547d\u5468\u671f\u7ba1\u7406\u4e0e\u914d\u7f6e"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u4e00\u3001Init \u5bb9\u5668\uff08\u521d\u59cb\u5316\u5bb9\u5668\uff09\u2b50\u91cd\u70b9<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. \u6982\u5ff5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Init \u5bb9\u5668\u662f Pod \u5185<strong>\u7279\u6b8a\u521d\u59cb\u5316\u5bb9\u5668<\/strong>\uff0c<strong>pause \u5bb9\u5668\u542f\u52a8\u5b8c\u6210\u4e4b\u540e\uff0c\u4e1a\u52a1\u5bb9\u5668\u542f\u52a8\u4e4b\u524d\u6267\u884c<\/strong>\u3002<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u6267\u884c\u89c4\u5219\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u591a\u4e2a init \u5bb9\u5668<strong>\u6309 yaml \u5b9a\u4e49\u987a\u5e8f\u4e32\u884c\u6267\u884c<\/strong>\uff1b<\/li>\n\n\n\n<li><strong>\u5168\u90e8 init \u5bb9\u5668\u5fc5\u987b\u6b63\u5e38\u9000\u51fa\uff08exit 0\uff09\uff0c\u624d\u4f1a\u542f\u52a8\u4e3b\u4e1a\u52a1\u5bb9\u5668<\/strong>\uff1b<\/li>\n\n\n\n<li>\u67d0\u4e00\u4e2a init \u5bb9\u5668\u5931\u8d25\uff0ckubelet \u4f1a\u53cd\u590d\u91cd\u8bd5\uff0c\u4e3b\u5bb9\u5668\u6c38\u8fdc\u4e0d\u4f1a\u542f\u52a8\u3002<\/li>\n<\/ol>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pod \u5b8c\u6574\u542f\u52a8\u987a\u5e8f<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>pause \u57fa\u7840\u8bbe\u65bd\u5bb9\u5668\uff08\u6700\u5148\u542f\u52a8\uff0c\u6784\u5efa\u5171\u4eab\u547d\u540d\u7a7a\u95f4\uff09<\/li>\n\n\n\n<li>init \u5bb9\u5668\u3010\u4e32\u884c\u4f9d\u6b21\u6267\u884c\uff0c\u5168\u90e8\u6210\u529f\u9000\u51fa\u3011<\/li>\n\n\n\n<li>\u4e3b\u4e1a\u52a1\u5bb9\u5668\u3010\u5e76\u884c\u542f\u52a8\u3011<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">2.Init \u5bb9\u5668\u5178\u578b\u4f7f\u7528\u573a\u666f<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4f9d\u8d56\u7b49\u5f85<\/strong>\uff1a\u7b49\u5f85 MySQL\u3001Redis \u7b49\u5916\u90e8\u670d\u52a1\u5c31\u7eea\uff0c\u518d\u542f\u52a8\u4e1a\u52a1\uff1b<\/li>\n\n\n\n<li><strong>\u73af\u5883 \/ \u76ee\u5f55\u51c6\u5907<\/strong>\uff1a\u521b\u5efa\u76ee\u5f55\u3001\u4fee\u6539\u6587\u4ef6\u6743\u9650\uff1b<\/li>\n\n\n\n<li><strong>\u751f\u6210\u914d\u7f6e\u6587\u4ef6<\/strong>\uff1a\u57fa\u4e8e\u6a21\u677f\u52a8\u6001\u751f\u6210\u4e1a\u52a1\u914d\u7f6e\uff1b<\/li>\n\n\n\n<li><strong>\u6570\u636e\u51c6\u5907<\/strong>\uff1a\u4e0b\u8f7d\u9759\u6001\u8d44\u6e90\u3001\u521d\u59cb\u5316\u6570\u636e\uff1b<\/li>\n\n\n\n<li><strong>\u4e00\u6b21\u6027\u4efb\u52a1<\/strong>\uff1a\u6570\u636e\u5e93\u8fc1\u79fb\u811a\u672c\u6267\u884c\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">3.yaml \u7b80\u5355\u793a\u4f8b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: v1\nkind: Pod\nmetadata:\n  name: test-initpod\nspec:\n  initContainers:\n  - name: init-myservice\n    image: busybox:1.28.4\n    command: &#91;'sh','-c','echo init1\u5b8c\u6210 &amp;&amp; sleep 3']\n  - name: init-mydb\n    image: busybox:1.28.4\n    command: &#91;'sh','-c','echo init2\u5b8c\u6210']\n  containers:\n  - name: myapp\n    image: nginx:1.22.1\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u6545\u969c\u73b0\u8c61\uff1ainit \u5bb9\u5668\u5931\u8d25\uff0cPod \u72b6\u6001\u663e\u793a<code>Init:1\/2<\/code>\uff0c\u4e0d\u65ad\u91cd\u542f\u5931\u8d25 init \u5bb9\u5668\uff0c\u4e1a\u52a1\u5bb9\u5668\u6c38\u8fdc\u4e0d\u542f\u52a8\u3002 \u6392\u67e5\uff1a<code>kubectl logs pod-name -c init\u5bb9\u5668\u540d -p<\/code>\u67e5\u770b\u4e0a\u4e00\u6b21\u5931\u8d25\u65e5\u5fd7\u3002<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e8c\u3001Pod \u751f\u547d\u5468\u671f\u4e0e Pod \u57fa\u7840\u72b6\u6001<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Pod \u4e94\u5927\u57fa\u7840\u9636\u6bb5\uff08Phase\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8868\u683c<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u72b6\u6001<\/th><th>\u542b\u4e49<\/th><th>\u5178\u578b\u4ea7\u751f\u539f\u56e0<\/th><\/tr><\/thead><tbody><tr><td><strong>Pending<\/strong><\/td><td>Pod \u5df2\u7ecf\u88ab\u96c6\u7fa4\u63a5\u6536\uff0c\u8fd8\u6ca1\u6709\u5b8c\u5168\u5c31\u7eea<\/td><td>\u8d44\u6e90\u4e0d\u8db3\u3001\u955c\u50cf\u62c9\u53d6\u4e2d\u3001init \u5bb9\u5668\u6267\u884c\u4e2d\u3001\u5b58\u50a8\u672a\u6302\u8f7d\u3001\u8c03\u5ea6\u5931\u8d25<\/td><\/tr><tr><td><strong>Running<\/strong><\/td><td>Pod \u5df2\u7ecf\u7ed1\u5b9a\u8282\u70b9\uff0c<strong>\u81f3\u5c11\u4e00\u4e2a\u5bb9\u5668\u5904\u4e8e\u8fd0\u884c \/ \u91cd\u542f\u4e2d<\/strong><\/td><td>\u53ea\u8981\u6709\u4e00\u4e2a\u5bb9\u5668\u6b63\u5e38\u8fd0\u884c\uff0c\u54ea\u6015\u5176\u4ed6\u5bb9\u5668\u4e0d\u65ad\u5d29\u6e83\u91cd\u542f\uff0c\u72b6\u6001\u4f9d\u65e7 Running\uff01<\/td><\/tr><tr><td><strong>Succeeded<\/strong><\/td><td>\u5168\u90e8\u5bb9\u5668\u6b63\u5e38\u7ec8\u6b62\uff0c\u4e0d\u4f1a\u518d\u91cd\u542f<\/td><td>\u4e00\u6b21\u6027\u4efb\u52a1\u811a\u672c\u6267\u884c\u6210\u529f\uff08exit 0\uff09\uff0c<code>restartPolicy: Never<\/code><\/td><\/tr><tr><td><strong>Failed<\/strong><\/td><td>\u5168\u90e8\u5bb9\u5668\u7ec8\u6b62\uff0c\u81f3\u5c11\u4e00\u4e2a\u5bb9\u5668\u5f02\u5e38\u9000\u51fa (\u975e 0 \u9000\u51fa\u7801)<\/td><td>\u811a\u672c\u62a5\u9519\u3001\u547d\u4ee4\u9519\u8bef\u3001OOM \u6740\u6b7b\uff0c<code>restartPolicy: Never<\/code><\/td><\/tr><tr><td><strong>Unknown<\/strong><\/td><td>Master \u65e0\u6cd5\u83b7\u53d6 Pod \u72b6\u6001<\/td><td>\u8282\u70b9\u5b95\u673a\u3001kubelet \u65ad\u5f00\u3001\u8282\u70b9\u7f51\u7edc\u4e2d\u65ad<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f\u91cd\u8981\u8bef\u533a\uff1a<code>Running<\/code>\u4e0d\u7b49\u4e8e\u5e94\u7528\u5168\u90e8\u5065\u5eb7\uff0c\u53ea\u662f Pod \u5b58\u6d3b\uff0c\u9700\u8981\u914d\u5408\u63a2\u9488\u5224\u65ad\u4e1a\u52a1\u662f\u5426\u6b63\u5e38\u3002<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">\u8c03\u5ea6 &amp; \u521d\u59cb\u5316\u4e2d\u95f4\u72b6\u6001<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>PodScheduled<\/code>\uff1a\u8c03\u5ea6\u5668\u5df2\u7ecf\u628a Pod \u5206\u914d\u5230\u67d0\u4e2a\u8282\u70b9\uff1b<\/li>\n\n\n\n<li><code>Unschedulable<\/code>\uff1a<strong>\u6ca1\u6709\u8282\u70b9\u6ee1\u8db3 Pod \u8d44\u6e90 \/ \u4eb2\u548c\u6027\u8981\u6c42\uff0c\u65e0\u6cd5\u8c03\u5ea6\uff0cPod \u505c\u7559\u5728 Pending<\/strong>\uff1b<\/li>\n\n\n\n<li><code>PodInitializing<\/code>\uff1a\u6b63\u5728\u6267\u884c init \u5bb9\u5668\uff1b<\/li>\n\n\n\n<li><code>Initialized<\/code>\uff1a<strong>\u6240\u6709 init \u5bb9\u5668\u5168\u90e8\u6267\u884c\u5b8c\u6210\uff0c\u9a6c\u4e0a\u542f\u52a8\u4e1a\u52a1\u5bb9\u5668<\/strong>\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u5bb9\u5668\u5185\u90e8\u72b6\u6001<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Waiting<\/code>\uff1a\u5bb9\u5668\u7b49\u5f85\uff08\u62c9\u53d6\u955c\u50cf\u3001\u7b49\u5f85\u4f9d\u8d56\uff09<\/li>\n\n\n\n<li><code>ContainerCreating<\/code>\uff1a\u6b63\u5728\u521b\u5efa\u5bb9\u5668\uff08\u62c9\u955c\u50cf\u3001\u6302\u8f7d\u5b58\u50a8\uff09<\/li>\n\n\n\n<li><code>Running<\/code>\uff1a\u5bb9\u5668\u6b63\u5e38\u8fd0\u884c<\/li>\n\n\n\n<li><code>Terminated<\/code>\uff1a\u5bb9\u5668\u5df2\u7ecf\u9000\u51fa\uff08\u6b63\u5e38 0 \/ \u5f02\u5e38\u975e 0\uff09<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u9ad8\u9891\u5f02\u5e38\u72b6\u6001\uff08\u2b50\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8868\u683c<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u5f02\u5e38\u72b6\u6001<\/th><th>\u6839\u56e0<\/th><\/tr><\/thead><tbody><tr><td><code>ImagePullBackOff \/ ErrImagePull<\/code><\/td><td>\u955c\u50cf\u540d\u5b57\u9519\u8bef\u3001\u7f51\u7edc\u4e0d\u901a\u3001\u79c1\u6709\u4ed3\u5e93\u8ba4\u8bc1\u5931\u8d25\uff0c\u62c9\u955c\u50cf\u5931\u8d25<\/td><\/tr><tr><td><code>CrashLoopBackOff<\/code><\/td><td>\u5bb9\u5668\u53cd\u590d\u542f\u52a8\u7acb\u523b\u5d29\u6e83\uff0c\u9677\u5165\u5faa\u73af\u91cd\u542f\uff1b\u4e1a\u52a1\u547d\u4ee4\u9519\u8bef\u3001OOM\u3001\u914d\u7f6e\u9519\u8bef<\/td><\/tr><tr><td><code>InvalidImageName<\/code><\/td><td>\u955c\u50cf\u540d\u79f0\u683c\u5f0f\u975e\u6cd5<\/td><\/tr><tr><td><code>CreateContainerConfigError<\/code><\/td><td>\u914d\u7f6e\u5f15\u7528\u9519\u8bef\uff0c\u5982\u627e\u4e0d\u5230 configmap\u3001secret<\/td><\/tr><tr><td><code>RunContainerError<\/code><\/td><td>\u5bb9\u5668\u542f\u52a8\u5931\u8d25\uff0c\u955c\u50cf\u5185\u90e8 PID1 \u8fdb\u7a0b\u65e0\u6cd5\u542f\u52a8<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Pod \u91cd\u542f\u7b56\u7565 restartPolicy<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u5199\u5728 Pod \u7684 spec \u5c42\u7ea7\uff0c\u4e0d\u662f containers \u4e0b\u9762\uff01<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u8868\u683c<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u91cd\u542f\u7b56\u7565<\/th><th>\u8bf4\u660e<\/th><th>\u9002\u7528\u573a\u666f<\/th><\/tr><\/thead><tbody><tr><td><code>Always<\/code><\/td><td><strong>\u9ed8\u8ba4\u503c<\/strong>\uff0c\u5bb9\u5668\u9000\u51fa\u65e0\u8bba\u6210\u529f\u5931\u8d25\uff0c\u6c38\u8fdc\u91cd\u542f<\/td><td>\u957f\u671f\u8fd0\u884c\u4e1a\u52a1\uff08Nginx\u3001Java \u5fae\u670d\u52a1\uff09<\/td><\/tr><tr><td><code>OnFailure<\/code><\/td><td>\u53ea\u6709\u5bb9\u5668\u5f02\u5e38\u9000\u51fa\uff08\u975e 0\uff09\u624d\u91cd\u542f\uff1b\u6b63\u5e38\u9000\u51fa\u4e0d\u91cd\u542f<\/td><td>\u79bb\u7ebf\u4f5c\u4e1a<\/td><\/tr><tr><td><code>Never<\/code><\/td><td>\u5bb9\u5668\u9000\u51fa\uff0c\u65e0\u8bba\u6210\u529f\u5931\u8d25<strong>\u7edd\u4e0d\u91cd\u542f<\/strong><\/td><td>\u4e00\u6b21\u6027\u811a\u672c\u4efb\u52a1\uff08Job\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Succeeded\/Failed \u72b6\u6001\u7684 Pod\uff0c\u4e00\u822c\u4f7f\u7528<code>restartPolicy:Never<\/code>\u3002<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e09\u3001\u4e09\u5927\u63a2\u9488 Probe\u2b50<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u63a2\u9488\u6267\u884c\u8fd4\u56de\u7ed3\u679c\uff1a<code>Success<\/code>\u6210\u529f \/ <code>Failure<\/code>\u5931\u8d25 \/ <code>Unknown<\/code>\u672a\u77e5\uff0c\u4e0d\u6267\u884c\u52a8\u4f5c\u3002<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">\u901a\u7528\u63a2\u9488\u516c\u5171\u914d\u7f6e\u5b57\u6bb5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8868\u683c<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u5b57\u6bb5<\/th><th>\u4f5c\u7528<\/th><th>\u9ed8\u8ba4\u503c<\/th><\/tr><\/thead><tbody><tr><td><code>initialDelaySeconds<\/code><\/td><td>\u5bb9\u5668\u542f\u52a8\u540e\uff0c\u591a\u4e45<strong>\u7b2c\u4e00\u6b21\u5f00\u59cb\u63a2\u6d4b<\/strong><\/td><td>0\uff0c\u5efa\u8bae\u4e1a\u52a1\u8bbe\u7f6e\uff0c\u907f\u514d\u5e94\u7528\u8fd8\u6ca1\u542f\u52a8\u5c31\u63a2\u6d4b<\/td><\/tr><tr><td><code>periodSeconds<\/code><\/td><td>\u63a2\u6d4b\u6267\u884c\u95f4\u9694\uff0c\u591a\u4e45\u68c0\u67e5\u4e00\u6b21<\/td><td>10s<\/td><\/tr><tr><td><code>timeoutSeconds<\/code><\/td><td>\u63a2\u6d4b\u8d85\u65f6\u65f6\u95f4<\/td><td>1s<\/td><\/tr><tr><td><code>failureThreshold<\/code><\/td><td>\u8fde\u7eed\u5931\u8d25\u591a\u5c11\u6b21\uff0c\u5224\u5b9a\u6545\u969c\uff0c\u6267\u884c\u5bf9\u5e94\u52a8\u4f5c<\/td><td>3 \u6b21<\/td><\/tr><tr><td><code>successThreshold<\/code><\/td><td>\u8fde\u7eed\u6210\u529f\u591a\u5c11\u6b21\u5224\u5b9a\u5065\u5eb7\uff1b<strong>livenessProbe \u5fc5\u987b = 1<\/strong><\/td><td>1<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u63a2\u9488\u4e09\u79cd\u63a2\u6d4b\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>exec<\/strong>\uff1a\u5728\u5bb9\u5668\u5185\u90e8\u6267\u884c\u547d\u4ee4\uff1b\u8fd4\u56de exit 0 \u4ee3\u8868\u6210\u529f\u3002<\/li>\n\n\n\n<li><strong>httpGet<\/strong>\uff1a\u53d1 http get \u8bf7\u6c42\uff1b\u8fd4\u56de 2xx\/3xx \u4e3a\u6210\u529f\uff0c\u9002\u5408 web \u670d\u52a1\u3002<\/li>\n\n\n\n<li><strong>tcpSocket<\/strong>\uff1a\u5c1d\u8bd5\u5efa\u7acb tcp \u8fde\u63a5\uff1b\u7aef\u53e3\u8fde\u901a\u4ee3\u8868\u6210\u529f\uff0c\u9002\u5408\u6570\u636e\u5e93\u3001\u7f13\u5b58\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">1. LivenessProbe \u5b58\u6d3b\u63a2\u9488\uff08\u4fdd\u6d3b\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6838\u5fc3\uff1a\u68c0\u6d4b\u5bb9\u5668\u8fdb\u7a0b\u662f\u5426 \u201c\u6d3b\u7740\u201d\uff0c\u89e3\u51b3\u5047\u6b7b\u5361\u6b7b<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5931\u8d25\u52a8\u4f5c\uff1a<strong>kill \u6740\u6b7b\u5bb9\u5668\uff0c\u6309\u7167 restartPolicy \u91cd\u542f\u5bb9\u5668<\/strong><\/li>\n\n\n\n<li>\u4f7f\u7528\u573a\u666f\uff1a\u8fdb\u7a0b\u5361\u6b7b\u3001\u6b7b\u9501\u3001\u5185\u5b58\u6cc4\u6f0f\uff0c\u8fdb\u7a0b\u8fd8\u5728\u4f46\u4e1a\u52a1\u5b8c\u5168\u4e0d\u5de5\u4f5c\u3002<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">yaml \u7247\u6bb5\u793a\u4f8b<\/p>\n<\/blockquote>\n\n\n\n<pre class=\"wp-block-code\"><code>livenessProbe:\n  tcpSocket:\n    port: 3306\n  initialDelaySeconds: 30\n  periodSeconds: 10\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. ReadinessProbe \u5c31\u7eea\u63a2\u9488\uff08\u6d41\u91cf\u5f00\u5173\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6838\u5fc3\uff1a\u68c0\u6d4b\u5e94\u7528\u662f\u5426\u51c6\u5907\u597d\u63a5\u6536\u7528\u6237\u6d41\u91cf<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u26a0\ufe0f\u5931\u8d25\u52a8\u4f5c\uff1a<strong>\u4e0d\u4f1a\u91cd\u542f\u5bb9\u5668\uff01\u4ec5\u4ec5\u628a\u8be5 Pod \u4ece Service \u7684 Endpoints \u5217\u8868\u79fb\u9664\uff0c\u4e0d\u518d\u8f6c\u53d1\u6d41\u91cf<\/strong>\uff1b\u63a2\u6d4b\u6062\u590d\u6210\u529f\u540e\uff0c\u91cd\u65b0\u52a0\u56de Endpoints \u63a5\u6536\u6d41\u91cf\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528\u573a\u666f\uff1a\u5e94\u7528\u542f\u52a8\u6162\uff0cJVM \u9884\u70ed\u3001\u7b49\u5f85\u6570\u636e\u5e93\u8fde\u63a5\uff0c\u542f\u52a8\u5b8c\u4e00\u6bb5\u65f6\u95f4\u624d\u80fd\u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>readinessProbe:\n  httpGet:\n    path: \/\n    port: 80\n  initialDelaySeconds: 5\n  periodSeconds: 5\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. StartupProbe \u542f\u52a8\u63a2\u9488\uff08\u6162\u542f\u52a8\u4fdd\u62a4\u7f69\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6838\u5fc3\uff1a\u4e13\u95e8\u4fdd\u62a4\u542f\u52a8\u8017\u65f6\u5f88\u957f\u7684\u5e94\u7528<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u89c4\u5219\uff1a<strong>startupProbe \u63a2\u6d4b\u6210\u529f\u4e4b\u524d\uff0cliveness\u3001readiness \u63a2\u9488\u5168\u90e8\u7981\u7528\uff0c\u4e0d\u4f1a\u6267\u884c<\/strong>\uff1b\u7b49 startup \u6210\u529f\uff0c\u624d\u5f00\u542f\u53e6\u5916\u4e24\u4e2a\u63a2\u9488\u3002<\/li>\n\n\n\n<li>\u573a\u666f\uff1aJava\u3001ES\u3001\u6570\u636e\u5e93\u7b49\u542f\u52a8\u8017\u65f6\u51e0\u5341\u79d2\u751a\u81f3\u51e0\u5206\u949f\uff0c\u9632\u6b62\u8fd8\u6ca1\u542f\u52a8\u5b8c\u5c31\u88ab liveness \u63a2\u9488\u8bef\u6740\u91cd\u542f\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>startupProbe:\n  httpGet:\n    path: \/\n    port:80\n  failureThreshold:20\n  periodSeconds:5\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u4e09\u8005\u5bf9\u6bd4\u603b\u7ed3 | \u63a2\u9488 | \u5931\u8d25\u540e\u52a8\u4f5c | \u4f5c\u7528 | |&#8212;|&#8212;|&#8212;| |livenessProbe | \u6740\u6b7b\u5bb9\u5668\uff0c\u91cd\u542f | \u5224\u65ad\u5bb9\u5668\u662f\u5426\u5b58\u6d3b\uff0c\u6545\u969c\u5c31\u91cd\u542f\u6062\u590d | |readinessProbe | \u6458\u9664\u6d41\u91cf\uff0c\u4e0d\u91cd\u542f\u5bb9\u5668 | \u5224\u65ad\u80fd\u4e0d\u80fd\u63a5\u6536\u4e1a\u52a1\u6d41\u91cf | |startupProbe | \u63a2\u6d4b\u5931\u8d25\u4f1a\u6740\u6b7b\u91cd\u542f\uff1b\u6210\u529f\u540e\u624d\u542f\u7528\u53e6\u5916\u4e24\u4e2a\u63a2\u9488 | \u6162\u542f\u52a8\u5e94\u7528\u4fdd\u62a4\uff0c\u5c4f\u853d\u542f\u52a8\u9636\u6bb5\u5176\u4ed6\u63a2\u9488 |<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u56db\u3001Pod \u8d44\u6e90\u8bf7\u6c42 requests &amp; \u8d44\u6e90\u9650\u5236 limits\u2b50\u91cd\u70b9<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u5355\u4f4d\u8bf4\u660e\uff1a CPU\uff1a<code>100m<\/code>=100 \u6beb\u6838 = 0.1 \u6838\uff1b \u5185\u5b58\uff1a<code>Mi<\/code>\u3001<code>Gi<\/code>\u3002<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">requests\uff08\u8d44\u6e90\u8bf7\u6c42\uff09<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u8c03\u5ea6\u5668\u4f7f\u7528\uff01\u8c03\u5ea6\u4f9d\u636e<\/strong><\/p>\n<\/blockquote>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u542b\u4e49\uff1a<strong>Pod \u8fd0\u884c\u9700\u8981\u7684\u6700\u5c0f\u8d44\u6e90\u4fdd\u969c<\/strong>\uff1b<\/li>\n\n\n\n<li>scheduler \u8c03\u5ea6 Pod \u7684\u65f6\u5019\uff0c\u4f1a\u7b5b\u9009\u8282\u70b9\uff0c<strong>\u8282\u70b9\u5269\u4f59\u8d44\u6e90\u5fc5\u987b\u2265requests\uff0c\u624d\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9<\/strong>\uff1b<\/li>\n\n\n\n<li>\u5bb9\u5668\u8fd0\u884c\u7684\u65f6\u5019\uff0c\u5141\u8bb8\u8d85\u8fc7 requests \u4f7f\u7528\u8d44\u6e90\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">limits\uff08\u8d44\u6e90\u4e0a\u9650\u9650\u5236\uff09<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u8fd0\u884c\u65f6 cgroup \u5f3a\u5236\u7ea6\u675f\uff0c\u5bb9\u5668\u6700\u5927\u53ef\u4ee5\u4f7f\u7528\u8d44\u6e90<\/strong><\/p>\n<\/blockquote>\n\n\n\n<ol class=\"wp-block-list\">\n<li>CPU \u8d85\u8fc7 limits\uff1aCPU \u4f1a\u88ab<strong>\u8282\u6d41\u9650\u6d41 (throttling)<\/strong>\uff0c\u4e0d\u4f1a\u6740\u6b7b\u5bb9\u5668\uff1b<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u8d85\u8fc7 limits\uff1a\u5bb9\u5668\u89e6\u53d1 OOM Kill\uff0c\u5185\u6838\u76f4\u63a5\u6740\u6b7b\u5bb9\u5668\uff0c\u6839\u636e\u91cd\u542f\u7b56\u7565\u91cd\u542f<\/strong>\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">yaml \u5b8c\u6574\u793a\u4f8b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: v1\nkind: Pod\nmetadata:\n  name: oom-demo\nspec:\n  containers:\n  - name: stress\n    image: polinux\/stress:latest\n    command: &#91;\"stress\"]\n    args: &#91;\"--vm\",\"1\",\"--vm-bytes\",\"150M\",\"--vm-hang\",\"0\"]\n    resources:\n      requests:\n        memory: \"64Mi\"\n        cpu: \"100m\"\n      limits:\n        memory: \"128Mi\"\n        cpu: \"200m\"\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u6700\u4f73\u5b9e\u8df5\uff1a\u751f\u4ea7\u73af\u5883<strong>\u6bcf\u4e2a\u5bb9\u5668\u540c\u65f6\u914d\u7f6e requests \u548c limits<\/strong>\uff0c\u4e0d\u8981\u53ea\u5199\u4e00\u4e2a\u3002<\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u73b0\u8c61\uff1a\u5185\u5b58\u8d85\u8fc7 limits\uff0cPod \u4e8b\u4ef6\u4f1a\u51fa\u73b0<code>OOMKilled<\/code>\uff0cRESTARTS \u8ba1\u6570\u5668\u589e\u52a0\u3002<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">\u4f5c\u7528\u603b\u7ed3<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>requests\uff1a\u4fdd\u8bc1\u8c03\u5ea6\uff0c\u8ba9 Pod \u843d\u5230\u8d44\u6e90\u5145\u8db3\u8282\u70b9\uff1b<\/li>\n\n\n\n<li>limits\uff1a\u9694\u79bb\u6545\u969c\uff0c\u9632\u6b62\u5355\u4e2a Pod \u8017\u5c3d\u8282\u70b9 CPU \u5185\u5b58\uff0c\u907f\u514d \u201c\u90bb\u5c45\u566a\u58f0\u201d\uff0c\u4fdd\u62a4\u6574\u4e2a\u8282\u70b9\u6240\u6709 Pod\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e94\u3001\u6c47\u603b<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Pod \u5b8c\u6574\u542f\u52a8\u987a\u5e8f\uff1f<\/strong> pause \u5bb9\u5668\u542f\u52a8 \u2192 init \u5bb9\u5668\u4e32\u884c\u5168\u90e8\u6267\u884c\u5b8c\u6210 \u2192 \u4e1a\u52a1\u5bb9\u5668\u5e76\u884c\u542f\u52a8\u3002init \u5bb9\u5668\u4efb\u610f\u4e00\u4e2a\u5931\u8d25\uff0c\u4e1a\u52a1\u5bb9\u5668\u6c38\u8fdc\u4e0d\u542f\u52a8\u3002<\/li>\n\n\n\n<li><strong>Pod Pending \u5e38\u89c1\u539f\u56e0\uff1f<\/strong> \u2460 \u8d44\u6e90\u4e0d\u8db3 CPU \/ \u5185\u5b58\u4e0d\u6ee1\u8db3 requests\uff1b\u2461 \u955c\u50cf\u62c9\u53d6\u5931\u8d25\uff1b\u2462 PVC \u5b58\u50a8\u65e0\u6cd5\u6302\u8f7d\uff1b\u2463 \u8282\u70b9 NotReady\uff1b\u2464 \u6c61\u70b9 Taint \u4e0d\u5339\u914d\uff1b\u2465 \u4eb2\u548c\u6027 \/ \u53cd\u4eb2\u548c\u6027\u6761\u4ef6\u4e0d\u6ee1\u8db3\u3002<\/li>\n\n\n\n<li><strong>CrashLoopBackOff \u662f\u4ec0\u4e48\uff1f\u4ea7\u751f\u539f\u56e0\uff1f<\/strong> \u5bb9\u5668\u53cd\u590d\u542f\u52a8\u7acb\u523b\u5d29\u6e83\u5faa\u73af\u91cd\u542f\uff1b \u539f\u56e0\uff1a\u542f\u52a8\u547d\u4ee4\u9519\u8bef\u3001\u7a0b\u5e8f\u5f02\u5e38\u9000\u51fa\u3001OOM \u5185\u5b58\u6ea2\u51fa\u3001liveness \u63a2\u9488\u6301\u7eed\u5931\u8d25\u3001\u914d\u7f6e\u6587\u4ef6\u9519\u8bef\u3001\u4f9d\u8d56\u670d\u52a1\u4e0d\u53ef\u8fbe\u3002<\/li>\n\n\n\n<li><strong>livenessProbe \u548c readinessProbe \u533a\u522b<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>liveness \u5b58\u6d3b\u63a2\u9488\uff1a\u5224\u65ad\u5bb9\u5668\u662f\u5426\u6d3b\u7740\uff0c\u5931\u8d25<strong>\u6740\u6b7b\u91cd\u542f\u5bb9\u5668<\/strong>\uff0c\u89e3\u51b3\u5361\u6b7b\u5047\u6b7b\uff1b<\/li>\n\n\n\n<li>readiness \u5c31\u7eea\u63a2\u9488\uff1a\u5224\u65ad\u662f\u5426\u53ef\u4ee5\u63a5\u6536\u6d41\u91cf\uff1b\u5931\u8d25<strong>\u4e0d\u91cd\u542f\u5bb9\u5668\uff0c\u53ea\u662f\u6458\u9664 Service \u6d41\u91cf<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li>startupProbe \u4f5c\u7528\uff1f \u4e13\u95e8\u7ed9\u542f\u52a8\u5f88\u6162\u7684\u5e94\u7528\uff1b\u5728 startupProbe \u6210\u529f\u4e4b\u524d\uff0c\u7981\u7528 liveness \u548c readiness \u63a2\u9488\uff1b\u9632\u6b62\u5e94\u7528\u8fd8\u6ca1\u521d\u59cb\u5316\u5b8c\u6210\u5c31\u88ab\u5b58\u6d3b\u63a2\u9488\u8bef\u6740\u6389\u3002<\/li>\n\n\n\n<li>requests \u548c limits \u7684\u533a\u522b\uff0c\u8d85\u8fc7\u4f1a\u53d1\u751f\u4ec0\u4e48\uff1f<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>requests<\/code>\uff1a\u8c03\u5ea6\u5668\u5224\u65ad\u8282\u70b9\u8d44\u6e90\u662f\u5426\u6ee1\u8db3 Pod \u7684<strong>\u6700\u5c0f\u8d44\u6e90\u9700\u6c42<\/strong>\uff0c\u8c03\u5ea6\u9636\u6bb5\u751f\u6548\uff0c\u8fd0\u884c\u65f6\u4e0d\u9650\u5236\u4f7f\u7528\uff1b<\/li>\n\n\n\n<li><code>limits<\/code>\uff1a\u5bb9\u5668\u8d44\u6e90\u6700\u5927\u4e0a\u9650\uff0c\u8fd0\u884c\u65f6 cgroup \u5f3a\u5236\u7ba1\u63a7\u3002\n<ul class=\"wp-block-list\">\n<li>CPU \u8d85\u8fc7 limits\uff1aCPU \u88ab\u9650\u6d41\uff1b<\/li>\n\n\n\n<li>\u5185\u5b58\u8d85\u8fc7 limits\uff1aOOM Kill \u6740\u6b7b\u5bb9\u5668\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u76ee\u7684\uff1a\u8d44\u6e90\u9694\u79bb\uff0c\u9632\u6b62\u5355\u4e2a Pod \u62a2\u5360\u5168\u90e8\u8282\u70b9\u8d44\u6e90\u3002<\/li>\n<\/ul>\n\n\n\n<ol start=\"7\" class=\"wp-block-list\">\n<li>Pod \u72b6\u6001 Running \u662f\u5426\u4ee3\u8868\u4e1a\u52a1\u6b63\u5e38\uff1f<strong>\u4e0d\u662f\uff01Running \u53ea\u4ee3\u8868 Pod \u91cc\u9762\u81f3\u5c11\u4e00\u4e2a\u5bb9\u5668\u5728\u8fd0\u884c\uff0c\u4e0d\u80fd\u4ee3\u8868\u4e1a\u52a1\u5e94\u7528\u5065\u5eb7\u3002\u5fc5\u987b\u4f9d\u9760\u63a2\u9488 liveness\/readiness \u68c0\u6d4b\u4e1a\u52a1\u771f\u5b9e\u72b6\u6001\u3002<\/strong><\/li>\n\n\n\n<li>restartPolicy \u4e09\u4e2a\u7b56\u7565\u548c\u9002\u7528\u573a\u666f\uff1f Always\uff1a\u9ed8\u8ba4\uff0c\u957f\u671f\u8fd0\u884c\u670d\u52a1\uff1b OnFailure\uff1a\u5f02\u5e38\u9000\u51fa\u624d\u91cd\u542f\uff1b Never\uff1a\u4e00\u6b21\u6027\u4efb\u52a1\uff0c\u6210\u529f\u5931\u8d25\u5747\u4e0d\u91cd\u542f\uff0cSucceeded\/Failed \u72b6\u6001 Pod\u3002<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u516d\u3001\u6392\u9519\u547d\u4ee4\u6c47\u603b<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl get pod -w                          # \u5b9e\u65f6\u89c2\u5bdfPod\u72b6\u6001\nkubectl describe pod &lt;podname&gt;              # \u770bEvents\u4e8b\u4ef6\uff0c\u6392\u9519\u6838\u5fc3\uff01\nkubectl logs &lt;podname&gt; -c &lt;\u5bb9\u5668\u540d&gt; &#91;-p]     # \u67e5\u770b\u65e5\u5fd7\uff0c-p\u67e5\u770b\u4e0a\u4e00\u6b21\u5d29\u6e83\u5bb9\u5668\u65e5\u5fd7\nkubectl exec -it &lt;podname&gt; -c &lt;\u5bb9\u5668\u540d&gt; -- sh # \u8fdb\u5165\u5bb9\u5668\u8c03\u8bd5\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001Init \u5bb9\u5668\uff08\u521d\u59cb\u5316\u5bb9\u5668\uff09\u2b50\u91cd\u70b9 1. \u6982\u5ff5 Init \u5bb9\u5668\u662f Pod \u5185\u7279\u6b8a\u521d\u59cb\u5316\u5bb9\u5668\uff0cpause \u5bb9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-75","post","type-post","status-publish","format-standard","hentry","category-kubernetes"],"_links":{"self":[{"href":"https:\/\/www.xiaoxindong.cloud\/index.php?rest_route=\/wp\/v2\/posts\/75","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xiaoxindong.cloud\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xiaoxindong.cloud\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xiaoxindong.cloud\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xiaoxindong.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=75"}],"version-history":[{"count":3,"href":"https:\/\/www.xiaoxindong.cloud\/index.php?rest_route=\/wp\/v2\/posts\/75\/revisions"}],"predecessor-version":[{"id":192,"href":"https:\/\/www.xiaoxindong.cloud\/index.php?rest_route=\/wp\/v2\/posts\/75\/revisions\/192"}],"wp:attachment":[{"href":"https:\/\/www.xiaoxindong.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=75"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xiaoxindong.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=75"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xiaoxindong.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}