<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Kubernetes on 蓝尾蜂鸟</title><link>https://clibing.com/tags/kubernetes/</link><description>Recent content in Kubernetes on 蓝尾蜂鸟</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>Copyright © 2011-2026 clibing. All Rights Reserved.</copyright><lastBuildDate>Wed, 17 Jun 2020 17:34:56 +0800</lastBuildDate><atom:link href="https://clibing.com/tags/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>Kubernetes ARM平台 安装</title><link>https://clibing.com/posts/linux/k8s%E5%AE%89%E8%A3%85/</link><pubDate>Wed, 17 Jun 2020 17:34:56 +0800</pubDate><guid>https://clibing.com/posts/linux/k8s%E5%AE%89%E8%A3%85/</guid><description><![CDATA[<h3 id="安装" data-numberify>安装<a class="anchor ms-1" href="#安装"></a></h3>
<p>环境
arm平台</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="ln"> 1</span><span class="cl">Kernel
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">Linux rock64 4.4.132-1075-rockchip-ayufan-ga83beded8524 <span class="c1">#1 SMP Thu Jul 26 08:22:22 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">System
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">No LSB modules are available.
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">Distributor ID: Ubuntu
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">Description:    Ubuntu 18.04.4 LTS
</span></span><span class="line"><span class="ln">10</span><span class="cl">Release:        18.04
</span></span><span class="line"><span class="ln">11</span><span class="cl">Codename:       bionic
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl">Memory
</span></span><span class="line"><span class="ln">14</span><span class="cl">              total        used        free      shared  buff/cache   available
</span></span><span class="line"><span class="ln">15</span><span class="cl">Mem:           <span class="m">3924</span>         <span class="m">198</span>         <span class="m">105</span>           <span class="m">3</span>        <span class="m">3619</span>        <span class="m">3692</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl">Swap:          <span class="m">1962</span>           <span class="m">0</span>        <span class="m">1961</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl">
</span></span><span class="line"><span class="ln">18</span><span class="cl">Network
</span></span><span class="line"><span class="ln">19</span><span class="cl">
</span></span><span class="line"><span class="ln">20</span><span class="cl">docker0: <span class="nv">flags</span><span class="o">=</span>4099&lt;UP,BROADCAST,MULTICAST&gt;  mtu <span class="m">1500</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl">        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
</span></span><span class="line"><span class="ln">22</span><span class="cl">        ether 02:42:cf:ca:aa:ce  txqueuelen <span class="m">0</span>  <span class="o">(</span>Ethernet<span class="o">)</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl">        RX packets <span class="m">43147</span>  bytes <span class="m">2477474</span> <span class="o">(</span>2.4 MB<span class="o">)</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl">        RX errors <span class="m">0</span>  dropped <span class="m">0</span>  overruns <span class="m">0</span>  frame <span class="m">0</span>
</span></span><span class="line"><span class="ln">25</span><span class="cl">        TX packets <span class="m">43353</span>  bytes <span class="m">92327114</span> <span class="o">(</span>92.3 MB<span class="o">)</span>
</span></span><span class="line"><span class="ln">26</span><span class="cl">        TX errors <span class="m">0</span>  dropped <span class="m">0</span> overruns <span class="m">0</span>  carrier <span class="m">0</span>  collisions <span class="m">0</span>
</span></span><span class="line"><span class="ln">27</span><span class="cl">
</span></span><span class="line"><span class="ln">28</span><span class="cl">eth0: <span class="nv">flags</span><span class="o">=</span>4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt;  mtu <span class="m">1500</span>
</span></span><span class="line"><span class="ln">29</span><span class="cl">        inet 192.168.1.58  netmask 255.255.255.0  broadcast 192.168.1.255
</span></span><span class="line"><span class="ln">30</span><span class="cl">        ether 06:14:d5:2c:82:aa  txqueuelen <span class="m">1000</span>  <span class="o">(</span>Ethernet<span class="o">)</span>
</span></span><span class="line"><span class="ln">31</span><span class="cl">        RX packets <span class="m">2303981</span>  bytes <span class="m">1891341723</span> <span class="o">(</span>1.8 GB<span class="o">)</span>
</span></span><span class="line"><span class="ln">32</span><span class="cl">        RX errors <span class="m">0</span>  dropped <span class="m">0</span>  overruns <span class="m">0</span>  frame <span class="m">0</span>
</span></span><span class="line"><span class="ln">33</span><span class="cl">        TX packets <span class="m">1427379</span>  bytes <span class="m">369022653</span> <span class="o">(</span>369.0 MB<span class="o">)</span>
</span></span><span class="line"><span class="ln">34</span><span class="cl">        TX errors <span class="m">2</span>  dropped <span class="m">0</span> overruns <span class="m">2</span>  carrier <span class="m">0</span>  collisions <span class="m">0</span>
</span></span><span class="line"><span class="ln">35</span><span class="cl">        device interrupt <span class="m">40</span>
</span></span><span class="line"><span class="ln">36</span><span class="cl">
</span></span><span class="line"><span class="ln">37</span><span class="cl">lo: <span class="nv">flags</span><span class="o">=</span>73&lt;UP,LOOPBACK,RUNNING&gt;  mtu <span class="m">65536</span>
</span></span><span class="line"><span class="ln">38</span><span class="cl">        inet 127.0.0.1  netmask 255.0.0.0
</span></span><span class="line"><span class="ln">39</span><span class="cl">        loop  txqueuelen <span class="m">1</span>  <span class="o">(</span>Local Loopback<span class="o">)</span>
</span></span><span class="line"><span class="ln">40</span><span class="cl">        RX packets <span class="m">1514</span>  bytes <span class="m">138738</span> <span class="o">(</span>138.7 KB<span class="o">)</span>
</span></span><span class="line"><span class="ln">41</span><span class="cl">        RX errors <span class="m">0</span>  dropped <span class="m">0</span>  overruns <span class="m">0</span>  frame <span class="m">0</span>
</span></span><span class="line"><span class="ln">42</span><span class="cl">        TX packets <span class="m">1514</span>  bytes <span class="m">138738</span> <span class="o">(</span>138.7 KB<span class="o">)</span>
</span></span><span class="line"><span class="ln">43</span><span class="cl">        TX errors <span class="m">0</span>  dropped <span class="m">0</span> overruns <span class="m">0</span>  carrier <span class="m">0</span>  collisions <span class="m">0</span>
</span></span><span class="line"><span class="ln">44</span><span class="cl">
</span></span><span class="line"><span class="ln">45</span><span class="cl">Disk
</span></span><span class="line"><span class="ln">46</span><span class="cl">Filesystem      Size  Used Avail Use% Mounted on
</span></span><span class="line"><span class="ln">47</span><span class="cl">udev            2.0G     <span class="m">0</span>  2.0G   0% /dev
</span></span><span class="line"><span class="ln">48</span><span class="cl">tmpfs           393M  664K  392M   1% /run
</span></span><span class="line"><span class="ln">49</span><span class="cl">/dev/mmcblk1p7  118G   47G   66G  42% /
</span></span><span class="line"><span class="ln">50</span><span class="cl">.....
</span></span></code></pre></div>
<h3 id="禁用swap" data-numberify>禁用swap<a class="anchor ms-1" href="#禁用swap"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="ln">1</span><span class="cl">sudo apt install dphys-swapfile <span class="se">\
</span></span></span><span class="line"><span class="ln">2</span><span class="cl">sudo dphys-swapfile swapoff <span class="o">&amp;&amp;</span> <span class="se">\
</span></span></span><span class="line"><span class="ln">3</span><span class="cl">sudo dphys-swapfile uninstall <span class="o">&amp;&amp;</span> <span class="se">\
</span></span></span><span class="line"><span class="ln">4</span><span class="cl">sudo update-rc.d dphys-swapfile remove
</span></span></code></pre></div><p>检查交换禁用是否成功</p>]]></description></item><item><title>Kubernetes Deployment yml说明</title><link>https://clibing.com/posts/linux/k8s-deployment/</link><pubDate>Wed, 13 Jun 2018 14:38:56 +0800</pubDate><guid>https://clibing.com/posts/linux/k8s-deployment/</guid><description><![CDATA[<p>部署 调度</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="ln">  1</span><span class="cl"><span class="nt">apiVersion</span><span class="p">:</span><span class="w"> </span><span class="l">apps/v1</span><span class="w">
</span></span></span><span class="line"><span class="ln">  2</span><span class="cl"><span class="nt">kind</span><span class="p">:</span><span class="w"> </span><span class="l">Deployment</span><span class="w">
</span></span></span><span class="line"><span class="ln">  3</span><span class="cl"><span class="c"># 元数据</span><span class="w">
</span></span></span><span class="line"><span class="ln">  4</span><span class="cl"><span class="nt">metadata</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln">  5</span><span class="cl"><span class="w">  </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">linuxcrypt-web</span><span class="w">
</span></span></span><span class="line"><span class="ln">  6</span><span class="cl"><span class="w">  </span><span class="nt">labels</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln">  7</span><span class="cl"><span class="w">    </span><span class="nt">app</span><span class="p">:</span><span class="w"> </span><span class="l">linuxcrypt-web</span><span class="w">
</span></span></span><span class="line"><span class="ln">  8</span><span class="cl"><span class="c"># 属性</span><span class="w">
</span></span></span><span class="line"><span class="ln">  9</span><span class="cl"><span class="nt">spec</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 10</span><span class="cl"><span class="w">  </span><span class="c"># 副本数量</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 11</span><span class="cl"><span class="w">  </span><span class="nt">replicas</span><span class="p">:</span><span class="w"> </span><span class="m">3</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 12</span><span class="cl"><span class="w">  </span><span class="c"># 滚动升级时，容器准备就绪时间最少为30s</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 13</span><span class="cl"><span class="w">  </span><span class="nt">minReadySeconds</span><span class="p">:</span><span class="w"> </span><span class="m">30</span><span class="w"> 
</span></span></span><span class="line"><span class="ln"> 14</span><span class="cl"><span class="w">  </span><span class="c"># 选择器</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 15</span><span class="cl"><span class="w">  </span><span class="nt">selector</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 16</span><span class="cl"><span class="w">    </span><span class="c"># 匹配lables， 从metadata.labels中匹配</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 17</span><span class="cl"><span class="w">    </span><span class="nt">matchLabels</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 18</span><span class="cl"><span class="w">      </span><span class="c"># 匹配lables， 从metadata.labels.app中匹配</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 19</span><span class="cl"><span class="w">      </span><span class="nt">app</span><span class="p">:</span><span class="w"> </span><span class="l">linuxcrypt-web</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 20</span><span class="cl"><span class="w">  </span><span class="nt">strategy</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 21</span><span class="cl"><span class="w">    </span><span class="c"># 升级方式 recreate和rollingUpdate</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 22</span><span class="cl"><span class="w">    </span><span class="c"># recreate--删除所有已存在的pod，重新创建新的; recreate策略将会在升级过程中，停止服务，但会保证应用版本一致；</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 23</span><span class="cl"><span class="w">    </span><span class="c"># rollingUpdate--滚动升级，逐步替换的策略，同时滚动升级时，支持更多的附加参数，例如设置最大不可用pod数量，最小升级间隔时间等等。使用rollingUpdate不会中断服务，但会导致调用时出现应用版本不一致的情况，输出内容不一致。</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 24</span><span class="cl"><span class="w">    </span><span class="c">#</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 25</span><span class="cl"><span class="w">    </span><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l">RollingUpdate</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 26</span><span class="cl"><span class="w">    </span><span class="c"># 由于replicas为3个， 则整个升级，pod个数在2-4个之间</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 27</span><span class="cl"><span class="w">    </span><span class="nt">rollingUpdate</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 28</span><span class="cl"><span class="w">      </span><span class="c"># 滚动升级时会先启动1个pod</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 29</span><span class="cl"><span class="w">      </span><span class="nt">maxSurge</span><span class="p">:</span><span class="w"> </span><span class="m">1</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 30</span><span class="cl"><span class="w">      </span><span class="c"># 滚表示滚动升级时允许的最大Unavailable的pod个数。由于replicas为3,则整个升级,pod个数在2-4个之间</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 31</span><span class="cl"><span class="w">      </span><span class="nt">maxUnavailable</span><span class="p">:</span><span class="w"> </span><span class="m">0</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 32</span><span class="cl"><span class="w">  </span><span class="c"># 滚动升级时90s后认为该pod就绪 </span><span class="w">
</span></span></span><span class="line"><span class="ln"> 33</span><span class="cl"><span class="w">  </span><span class="nt">minReadySeconds</span><span class="p">:</span><span class="w"> </span><span class="m">90</span><span class="w"> 
</span></span></span><span class="line"><span class="ln"> 34</span><span class="cl"><span class="w">  </span><span class="nt">template</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 35</span><span class="cl"><span class="w">    </span><span class="nt">metadata</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 36</span><span class="cl"><span class="w">      </span><span class="nt">labels</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 37</span><span class="cl"><span class="w">        </span><span class="nt">app</span><span class="p">:</span><span class="w"> </span><span class="l">linuxcrypt-web</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 38</span><span class="cl"><span class="w">    </span><span class="nt">spec</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 39</span><span class="cl"><span class="w">      </span><span class="c"># k8s将会给应用发送SIGTERM信号，可以用来正确、优雅地关闭应用,默认为30秒</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 40</span><span class="cl"><span class="w">      </span><span class="c"># 如果需要更优雅地关闭，则可以使用k8s提供的pre-stop lifecycle hook 的配置声明，将会在发送SIGTERM之前执行</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 41</span><span class="cl"><span class="w">      </span><span class="nt">terminationGracePeriodSeconds</span><span class="p">:</span><span class="w"> </span><span class="m">60</span><span class="w"> 
</span></span></span><span class="line"><span class="ln"> 42</span><span class="cl"><span class="w">      </span><span class="nt">containers</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 43</span><span class="cl"><span class="w">      </span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">linuxcrypt-web</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 44</span><span class="cl"><span class="w">        </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l">hub.docker.com/linuxcrypt-web:2.0.0-20180607.0749</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 45</span><span class="cl"><span class="w">        </span><span class="c">#command: [ &#34;sh&#34;, &#34;/etc/run.sh&#34;]</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 46</span><span class="cl"><span class="w">        </span><span class="nt">ports</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 47</span><span class="cl"><span class="w">        </span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">linuxcrypt-web</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 48</span><span class="cl"><span class="w">          </span><span class="nt">containerPort</span><span class="p">:</span><span class="w"> </span><span class="m">8080</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 49</span><span class="cl"><span class="w">          </span><span class="nt">protocol</span><span class="p">:</span><span class="w"> </span><span class="l">TCP</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 50</span><span class="cl"><span class="w">        </span><span class="c"># 容器资源分配</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 51</span><span class="cl"><span class="w">        </span><span class="nt">resources</span><span class="p">:</span><span class="w"> 
</span></span></span><span class="line"><span class="ln"> 52</span><span class="cl"><span class="w">          </span><span class="c"># requests主要作为pod调度时的参考依据</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 53</span><span class="cl"><span class="w">          </span><span class="nt">requests</span><span class="p">:</span><span class="w"> 
</span></span></span><span class="line"><span class="ln"> 54</span><span class="cl"><span class="w">            </span><span class="c"># cpu 的频率 250m赫兹 进制1000</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 55</span><span class="cl"><span class="w">            </span><span class="nt">cpu</span><span class="p">:</span><span class="w"> </span><span class="l">250m</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 56</span><span class="cl"><span class="w">            </span><span class="c"># 最低要求16M 进制1024;</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 57</span><span class="cl"><span class="w">            </span><span class="nt">memory</span><span class="p">:</span><span class="w"> </span><span class="l">16Mi </span><span class="w">
</span></span></span><span class="line"><span class="ln"> 58</span><span class="cl"><span class="w">          </span><span class="c"># limits主要用来限制每个容器使用资源的最大值</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 59</span><span class="cl"><span class="w">          </span><span class="nt">limits</span><span class="p">:</span><span class="w"> 
</span></span></span><span class="line"><span class="ln"> 60</span><span class="cl"><span class="w">            </span><span class="c"># 最多使用1个核</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 61</span><span class="cl"><span class="w">            </span><span class="nt">cpu</span><span class="p">:</span><span class="w"> </span><span class="m">1</span><span class="w"> 
</span></span></span><span class="line"><span class="ln"> 62</span><span class="cl"><span class="w">            </span><span class="c"># 最多使用32M</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 63</span><span class="cl"><span class="w">            </span><span class="nt">memory</span><span class="p">:</span><span class="w"> </span><span class="l">32Mi</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 64</span><span class="cl"><span class="w">        </span><span class="c"># 表示container是否以及处于可接受service请求的状态了。如果ReadinessProbe失败，endpoints controller将会从service所匹配到的endpoint列表中移除关于这个container的IP地址。</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 65</span><span class="cl"><span class="w">        </span><span class="c"># 因此对于Service匹配到的endpoint的维护其核心是ReadinessProbe。默认Readiness的初始值是Failure，如果一个container没有提供Readiness则被认为是Success。</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 66</span><span class="cl"><span class="w">        </span><span class="c">#</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 67</span><span class="cl"><span class="w">        </span><span class="c"># readinessProbe是K8S认为该pod是启动成功的，这里根据每个应用的特性，自己去判断，可以执行command，也可以进行httpGet。</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 68</span><span class="cl"><span class="w">        </span><span class="nt">readinessProbe</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 69</span><span class="cl"><span class="w">          </span><span class="c"># exec:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 70</span><span class="cl"><span class="w">          </span><span class="c">#   command: </span><span class="w">
</span></span></span><span class="line"><span class="ln"> 71</span><span class="cl"><span class="w">          </span><span class="c">#   - cat</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 72</span><span class="cl"><span class="w">          </span><span class="c">#   - /tmp/health</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 73</span><span class="cl"><span class="w">          </span><span class="nt">httpGet</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 74</span><span class="cl"><span class="w">            </span><span class="nt">path</span><span class="p">:</span><span class="w"> </span><span class="l">/health</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 75</span><span class="cl"><span class="w">            </span><span class="nt">port</span><span class="p">:</span><span class="w"> </span><span class="m">8080</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 76</span><span class="cl"><span class="w">            </span><span class="c"># host: www.linuxcrypt.cn</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 77</span><span class="cl"><span class="w">            </span><span class="c"># scheme: HTTP</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 78</span><span class="cl"><span class="w">          </span><span class="c"># 用来表示初始化延迟的时间，也就是告诉监测从多久之后开始运行，单位是秒</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 79</span><span class="cl"><span class="w">          </span><span class="nt">initialDelaySeconds</span><span class="p">:</span><span class="w"> </span><span class="m">60</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 80</span><span class="cl"><span class="w">          </span><span class="c"># 用来表示监测的超时时间，如果超过这个时长后，则认为监测失败</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 81</span><span class="cl"><span class="w">          </span><span class="nt">timeoutSeconds</span><span class="p">:</span><span class="w"> </span><span class="m">10</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 82</span><span class="cl"><span class="w">          </span><span class="c"># 告诉kubelet每5秒探测一次</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 83</span><span class="cl"><span class="w">          </span><span class="nt">periodSeconds</span><span class="p">:</span><span class="w"> </span><span class="m">5</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 84</span><span class="cl"><span class="w">          </span><span class="c"># 探测失败后成功1次就认为是成功的</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 85</span><span class="cl"><span class="w">          </span><span class="nt">successThreshold</span><span class="p">:</span><span class="w"> </span><span class="m">1</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 86</span><span class="cl"><span class="w">          </span><span class="c"># 探测失败阈值</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 87</span><span class="cl"><span class="w">          </span><span class="nt">failureThreshold</span><span class="p">:</span><span class="w"> </span><span class="m">3</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 88</span><span class="cl"><span class="w">        </span><span class="c"># 表示container是否处于live状态。如果LivenessProbe失败，LivenessProbe将会通知kubelet对应的container不健康了。</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 89</span><span class="cl"><span class="w">        </span><span class="c"># 随后kubelet将kill掉container，并根据RestarPolicy进行进一步的操作。</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 90</span><span class="cl"><span class="w">        </span><span class="c"># 默认情况下LivenessProbe在第一次检测之前初始化值为Success，如果container没有提供LivenessProbe，则也认为是Success；</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 91</span><span class="cl"><span class="w">        </span><span class="c"># </span><span class="w">
</span></span></span><span class="line"><span class="ln"> 92</span><span class="cl"><span class="w">        </span><span class="c"># livenessProbe是K8S认为该pod是存活的，不存在则需要kill掉，然后再新启动一个，以达到RS指定的个数。</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 93</span><span class="cl"><span class="w">        </span><span class="nt">livenessProbe</span><span class="p">:</span><span class="w">  
</span></span></span><span class="line"><span class="ln"> 94</span><span class="cl"><span class="w">          </span><span class="nt">httpGet</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 95</span><span class="cl"><span class="w">            </span><span class="nt">path</span><span class="p">:</span><span class="w"> </span><span class="l">/health</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 96</span><span class="cl"><span class="w">            </span><span class="nt">port</span><span class="p">:</span><span class="w"> </span><span class="m">8080</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 97</span><span class="cl"><span class="w">          </span><span class="c"># 用来表示初始化延迟的时间，也就是告诉监测从多久之后开始运行，单位是秒</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 98</span><span class="cl"><span class="w">          </span><span class="nt">initialDelaySeconds</span><span class="p">:</span><span class="w"> </span><span class="m">60</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 99</span><span class="cl"><span class="w">          </span><span class="c"># 告诉kubelet每5秒探测一次</span><span class="w">
</span></span></span><span class="line"><span class="ln">100</span><span class="cl"><span class="w">          </span><span class="nt">periodSeconds</span><span class="p">:</span><span class="w"> </span><span class="m">5</span><span class="w">
</span></span></span><span class="line"><span class="ln">101</span><span class="cl"><span class="w">          </span><span class="c"># 探测失败后成功1次就认为是成功的</span><span class="w">
</span></span></span><span class="line"><span class="ln">102</span><span class="cl"><span class="w">          </span><span class="nt">successThreshold</span><span class="p">:</span><span class="w"> </span><span class="m">1</span><span class="w">
</span></span></span><span class="line"><span class="ln">103</span><span class="cl"><span class="w">          </span><span class="c"># 探测失败阈值</span><span class="w">
</span></span></span><span class="line"><span class="ln">104</span><span class="cl"><span class="w">          </span><span class="nt">failureThreshold</span><span class="p">:</span><span class="w"> </span><span class="m">3</span><span class="w">
</span></span></span><span class="line"><span class="ln">105</span><span class="cl"><span class="w">          </span><span class="c"># 用来表示监测的超时时间，如果超过这个时长后，则认为监测失败</span><span class="w">
</span></span></span><span class="line"><span class="ln">106</span><span class="cl"><span class="w">          </span><span class="nt">timeoutSeconds</span><span class="p">:</span><span class="w"> </span><span class="m">10</span><span class="w">
</span></span></span></code></pre></div><p><code>livenessProbe、readinessProbe: 二者结合，通过健康监测，在滚动升级时会验证pod是否可用。如果不可用，在升级时会杀掉所有进程自动创建，然后自动检测时，如果不可用会根据策略自动处理，当前是重建</code></p>]]></description></item></channel></rss>