<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Kubernetes的整體架構 ![Kubernetes架構](https://img.kancloud.cn/8c/cf/8ccfee08287f58fd8e083338d5581a14_793x573.png) - Master節點: 作為控制節點,對集群進行調度管理;Master由kube-apiserver、kube-scheduler和kube-controller-manager所組成。 - Node節點: 作為真正的工作節點,運行業務應用的容器;Node包含kubelet、kube-proxy和Container Runtime;kubectl用于通過命令行與API Server進行交互,而對Kubernetes進行操作,實現在集群中進行各種資源的增刪改查等操作。 - ETCD:是Kubernetes用來備份所有集群數據的數據庫。它存儲集群的整個配置和狀態。主節點查詢etcd以檢索節點,容器和容器的狀態參數。 - Add-on:是對Kubernetes核心功能的擴展,例如增加網絡和網絡策略等能力。 ## Master節點 **kube-apiserver**:主要用來處理REST的操作,確保它們生效,并執行相關業務邏輯,以及更新etcd(或者其他存儲)中的相關對象。API Server是所有REST命令的入口,它的相關結果狀態將被保存在etcd(或其他存儲)中。API Server的基本功能包括: - REST語義,監控,持久化和一致性保證,API 版本控制,放棄和生效 - 內置準入控制語義,同步準入控制鉤子,以及異步資源初始化 - API注冊和發現 > 另外,API Server也作為集群的網關。默認情況,客戶端通過API Server對集群進行訪問,客戶端需要通過認證,并使用API Server作為訪問Node和Pod(以及service)的堡壘和代理/通道。 **kube-controller-manager**:用于執行大部分的集群層次的功能,它既執行生命周期功能(例如:命名空間創建和生命周期、事件垃圾收集、已終止垃圾收集、級聯刪除垃圾收集、node垃圾收集),也執行API業務邏輯(例如:pod的彈性擴容)。控制管理提供自愈能力、擴容、應用生命周期管理、服務發現、路由、服務綁定和提供。Kubernetes默認提供Replication Controller、Node Controller、Namespace Controller、Service Controller、Endpoints Controller、Persistent Controller、DaemonSet Controller等控制器。 **kube-scheduler**:scheduler組件為容器自動選擇運行的主機。依據請求資源的可用性,服務請求的質量等約束條件,scheduler監控未綁定的pod,并將其綁定至特定的node節點。Kubernetes也支持用戶自己提供的調度器,Scheduler負責根據調度策略自動將Pod部署到合適Node中,調度策略分為預選策略和優選策略,Pod的整個調度過程分為兩步: - 預選Node:遍歷集群中所有的Node,按照具體的預選策略篩選出符合要求的Node列表。如沒有Node符合預選策略規則,該Pod就會被掛起,直到集群中出現符合要求的Node。 - 優選Node:預選Node列表的基礎上,按照優選策略為待選的Node進行打分和排序,從中獲取最優Node。 ## Node節點 **kubelet**:Kubelet是Kubernetes中最主要的控制器,它是Pod和Node API的主要實現者,Kubelet負責驅動容器執行層。在Kubernetes中,應用容器彼此是隔離的,并且與運行其的主機也是隔離的,這是對應用進行獨立解耦管理的關鍵點。 在Kubernets中,Pod作為基本的執行單元,它可以擁有多個容器和存儲數據卷,能夠方便在每個容器中打包一個單一的應用,從而解耦了應用構建時和部署時的所關心的事項,已經能夠方便在物理機/虛擬機之間進行遷移。API準入控制可以拒絕或者Pod,或者為Pod添加額外的調度約束,但是Kubelet才是Pod是否能夠運行在特定Node上的最終裁決者,而不是scheduler或者DaemonSet。kubelet默認情況使用cAdvisor進行資源監控。負責管理Pod、容器、鏡像、數據卷等,實現集群對節點的管理,并將容器的運行狀態匯報給Kubernetes API Server。 **Container Runtime**:每一個Node都會運行一個Container Runtime,其負責下載鏡像和運行容器。Kubernetes本身并不停容器運行時環境,但提供了接口,可以插入所選擇的容器運行時環境。kubelet使用Unix socket之上的gRPC框架與容器運行時進行通信,kubelet作為客戶端,而CRI shim作為服務器。常用于docker。不過1.24版本已經不支持docker-shim。 protocol buffers API提供兩個gRPC服務,ImageService和RuntimeService。ImageService提供拉取、查看、和移除鏡像的RPC。RuntimeSerivce則提供管理Pods和容器生命周期管理的RPC,以及與容器進行交互(exec/attach/port-forward)。容器運行時能夠同時管理鏡像和容器(例如:Docker和Rkt),并且可以通過同一個套接字提供這兩種服務。在Kubelet中,這個套接字通過–container-runtime-endpoint和–image-service-endpoint字段進行設置。Kubernetes CRI支持的容器運行時包括docker、rkt、cri-o、frankti、kata-containers和clear-containers等。 **kube-proxy**:基于一種公共訪問策略(例如:負載均衡),服務提供了一種訪問一群pod的途徑。此方式通過創建一個虛擬的IP來實現,客戶端能夠訪問此IP,并能夠將服務透明的代理至Pod。每一個Node都會運行一個kube-proxy,kube proxy通過iptables規則引導訪問至服務IP,并將重定向至正確的后端應用,通過這種方式kube-proxy提供了一個高可用的負載均衡解決方案。服務發現主要通過DNS實現。 在Kubernetes中,kube proxy負責為Pod創建代理服務;引到訪問至服務;并實現服務到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>

                              哎呀哎呀视频在线观看