<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                #### **一、理解Kubernetes Pod** ![](https://img.kancloud.cn/0a/e6/0ae6034035ecef9b324b887b07549e53_1257x725.png) 起初我們所有的應用都部署在物理服務器,后續為了解決成本等問題引來虛擬化技術,例如OpenStack,直到今天的Kubernetes平臺上; ***** Kubernetes就好比我們傳統的數據中心,在Kubernetes數據中心中,沒有物理機房及服務器的概念,所有的計算資源都是軟件定義的,Pod可以認為是Kubernetes數據中心的一種虛擬資源,他具有邏輯上的CPU,內存,網絡和存儲。Pod是Kubernetes集群當中最小的資源單位。 * 容器是一種軟件打包的技術,是一種資源隔離抽象; * pod是容器的包裝,是一種虛擬機抽象; * Kubernetes是管理pod虛擬機數據中心的一種抽象概念 ***** 2、為什么需要Pod 容器的本質: **一個視圖被隔離、資源受限的進程** (容器里PID=1的進程就是應用本身),管理虛擬機就相當于管理基礎設施,管理容器就相當于管理應用本身 Kubernetes其實就是云時代的操作系統(容器鏡像就是這個操作系統的軟件安裝包) 案例1: ![](https://img.kancloud.cn/01/24/012477729e513c741a8e9b805ddee2a1_1110x416.png) 我們說Kubernetes類比于操作系統,容器就類比于進程,Pod就類比于進程組;上圖中HelloWorld有4個進程組成,那么該程序該如何用容器運行起來呢? 方案1: 在一個Docker容器中,啟動4個進程 疑問: 那么容器PID為1的進程該設置哪個呢? 在容器里運行復雜程序特別復雜 方案2: 定義4個容器啟動,把他們定義到一個pod里 ![](https://img.kancloud.cn/40/70/40703a433c2bf36f796168928ada9857_1439x736.png) 3、理解Pod Pod是Kubernetes的原子調度單位,Pod是用來解決超親密關系的兩個應用服務,兩個應用之間需要發生文件交換,并且需要通過localhost進行本地通訊,同時也會發生非常頻繁的RPC調用。比如日志收集 **共享網絡** ***** ![](https://img.kancloud.cn/d6/0d/d60dd34739e3a6ff40a55d543a425263_367x295.png) * 容器A和容器B通過Pause(Infra Container)的方式共享同一個Network Namespace * 他們之間使用Localhost進行通信 * 容器A和容器B看到的網絡設備和Pause容器看到的完全一樣 * 一個Pod只有一個IP地址,也就是這個Pod的Network Namespace對應的IP地址 * 整個Pod的生命周期跟Pause容器一致,而與容器A和B無關 **共享存儲** ***** ![](https://img.kancloud.cn/c4/fa/c4fae03470e72eff50e6e6812ec0fce8_390x295.png) 同一個Pod中的多個容器能夠共享Pod級別的存儲卷Volume,Volume可以被定義為各種類型,多個容器各自進行掛載操作,將一個Volume掛載為容器內部需要的目錄 案例1: ![](https://img.kancloud.cn/0f/72/0f72157f952160cc9c33c6cc0a4c95fd_788x753.png) 4、多容器Pod ***** Kubernetes 集群中的 Pod 主要有兩種用法: * **運行單個容器的 Pod**。"每個 Pod 一個容器"模型是最常見的 Kubernetes 用例; 在這種情況下,可以將 Pod 看作單個容器的包裝器,并且 Kubernetes 直接管理 Pod,而不是容器。 * **運行多個協同工作的容器的 Pod**。 Pod 可能封裝由多個緊密耦合且需要共享資源的共處容器組成的應用程序。 這些位于同一位置的容器可能形成單個內聚的服務單元 —— 一個容器將文件從共享卷提供給公眾, 而另一個單獨的“掛斗”(sidecar)容器則刷新或更新這些文件。 Pod 將這些容器和存儲資源打包為一個可管理的實體。 官網參考文檔:[https://kubernetes.io/zh/docs/concepts/workloads/pods/](https://kubernetes.io/zh/docs/concepts/workloads/pods/) ### **總結: 一般情況下一個Pod中只運行一個容器,但是除個別情況外,一個Pod會起兩個容器,一個為主容器,另一個為輔助容器** #### **二、實戰發布Pod** ``` apiVersion: v1 kind: Pod metadata: name: petclinic spec: containers: - name: petclinic image: spring2go/spring-petclinic:1.0.1.RELEASE restartPolicy: OnFailure ``` 發布Petclinic Pod ``` ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看