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

                [TOC] 自動擴縮容 https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale # Lifecycle(生命周期) > 官網:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/ > 官網:https://kubernetes.io/docs/concepts/workloads/pods/pod/ # 介紹 * Pod是K8s集群中運行部署應用或服務的最小單元 * Pod用于存放一組 container(包含一個或多個 container 容器),以及這些 container (容器)的一些共享資源。這些資源包括: * 共享存儲(Volumes) * 網絡,每個Pod在集群中有唯一的IP,Pod中容器共享該IP地址 * 容器基本信息 * 支持多容器。Pod支持多個容器在一個Pod中共享網絡地址和文件系統,可以通過進程間通信和文件共享方式組合完成服務。 * Pod是K8s集群中所有業務類型的基礎,主要業務類型如下 | 類型 | 說明 | Pod | | --- | --- | --- | | long-running |長期伺服型 | Deployment | | batch | 批處理型 | Job | | node-daemon | 節點后臺支撐型 | DaemonSet | | stateful application |有狀態應用型 | PetSet | :-: ![](https://img.kancloud.cn/62/df/62df08a9be324689a1380a3c23d749b7_353x353.png) # Pod使用 Pod主要支持位于同一位置的、共同管理的工具程序: * 內容管理系統、文件和數據加載器、本地緩存管理器等。 * 日志和檢查點備份、壓縮、旋轉、快照等。 * 數據更改監視器、日志跟蹤器、日志和監視適配器、事件發布器等。 * 代理、橋接器和適配器 * 控制器、管理器、配置器和更新器 # Labels標簽和選擇器 > Label官網:https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ * 標簽是附加到Kubernetes對象上的鍵值對 * 標簽用于用戶指定對象的標識屬性 * 標簽可以在創建是附加到對象,也可以隨時添加和修改 * 每個對象都一個定義***一組*鍵/值標簽** * 每個鍵對應給定對象必須唯一 * 將標簽索引和反向索引,用于高效查詢和監視 ```json "metadata": { "labels": { "key1" : "value1", "key2" : "value2" } } ``` ## 示例標簽 * `"release" : "stable"`,`"release" : "canary"` * `"environment" : "dev"`,`"environment" : "qa"`,`"environment" : "production"` * `"tier" : "frontend"`,`"tier" : "backend"`,`"tier" : "cache"` * `"partition" : "customerA"`,`"partition" : "customerB"` * `"track" : "daily"`,`"track" : "weekly"` ## 語法和字符集 * 標簽 * *標簽*是鍵值對。有效的標簽鍵有兩個段: * 可選的前綴和名稱,用斜杠(`/`)分隔。 * 名稱段是必需的,必須小于等于 63 個字符,以字母數字字符(`[a-z0-9A-Z]`)開頭和結尾,帶有破折號(`-`),下劃線(`_`),點(`.`)和之間的字母數字。 * 前綴是可選的。如果指定,前綴必須是 DNS 子域:由點(`.`)分隔的一系列 DNS 標簽,總共不超過 253 個字符,后跟斜杠(`/`)。 * 如果省略前綴,則假定標簽鍵對用戶是私有的。 * 向最終用戶對象添加標簽的自動系統組件(例如`kube-scheduler`,`kube-controller-manager`,`kube-apiserver`,`kubectl`或其他第三方自動化)必須指定前綴。 * `kubernetes.io/`前綴是為 Kubernetes 核心組件保留的。 * 標簽值 * 有效標簽值必須為 63 個字符或更少 * 必須為空或以字母數字字符(`[a-z0-9A-Z]`)開頭和結尾,中間可以包含破折號(`-`)、下劃線(`_`)、點(`.`)和字母或數字。 ## 標簽選擇器 * 標簽不提供唯一性 * 多個對象會攜帶相同標簽 * 通過 _標簽選擇器_,客戶端/用戶可以識別一組對象。標簽選擇器是 Kubernetes 中的核心分組原語 * API 目前支持兩種類型的選擇器:*基于相等性的*和 _基于集合的_ * 標簽選擇器可以由逗號分隔的多個*需求*組成。在多個需求的情況下,必須滿足所有要求,因此逗號分隔符充當邏輯 _與_(`&&`)運算符 * **空標簽選擇器**(即,需求為零的選擇器)選擇集合中的每個對象 * null 值的標簽選擇器(僅可用于可選選擇器字段)不選擇任何對象 > 兩個控制器的標簽選擇器不得在**命名空間內重疊**,否則它們將互相沖突 ### 基于相等性的需求 * *基于相等性*或*不相等*的需求允許按標簽**鍵和值**進行過濾 * 匹配對象必須滿足所有指定的標簽約束 * 運算符有`=`(相等)、`==`(相等)和`!=`(不相等)三種 * 支持 *基于相等性*需求的選擇器的對象有`Service`和`ReplicationController` * 基于相等性的標簽要求的使用場景如Pods要指定節點選擇標準 ```yaml # Pod選擇帶有標簽accelerator: nvidia-tesla-p100的節點 apiVersion: v1 kind: Pod metadata: name: cuda-test spec: containers: - name: cuda-test image: "k8s.gcr.io/cuda-vector-add:v0.1" resources: limits: nvidia.com/gpu: 1 nodeSelector: accelerator: nvidia-tesla-p100 ``` #### 舉例 ``` environment = production tier != frontend ``` * `environment = production`選擇所有資源,其鍵名等于`enviromment`,值等于`production` * `tier != frontend`選擇鍵名等于`tier`,值不等于`frontend`的所有資源 * 使用逗號運算符過濾`production`環境中的非`frontend`層資源`environment=production,tier!=frontend` ### 基于集合的需求 * *基于集合*的標簽需求允許您通過一組值來過濾鍵 * 支持三種操作符:`in`,`notin`,`exists`(只能用于建標識符上) * *基于集合*的要求可以與基于*相等*的要求混合使用,如`partition in (customerA, customerB),environment!=qa` * 支持 *基于集合的*需求的對象有`Job`、`Deployment`、`Replica Set`、`Daemon Set` #### 舉例 ``` environment in (production, qa) tier notin (frontend, backend) partition !partition ``` * `environment in (production, qa)`選擇所有鍵等于 `environment`并且值等于`production`或`qa`的資源 * `tier notin (frontend, backend)`選擇所有鍵等于`tier`并且值不等于`frontend`或`backend`的資源,**以及所有沒有`tier`鍵標簽的資源** * `partition`選擇所有包含`partition`標簽的資源,對值未校驗 * `!partition`選擇所有沒有`partition`標簽的資源,對值未校驗 ### Label API `kubectl get pods -l environment=production,tier=frontend`等同于`kubectl get pods -l 'environment in (production),tier in (frontend)'` `kubectl get pods -l 'environment in (production, qa)'` ### 在API對象上設置引用 #### 基于相等性需求的資源 * 支持的對象`Service`、`ReplicationController` * 兩個對象的標簽選擇器都是在`json`或者`yaml`文件中使用映射定義 ```json "selector": { "component" : "redis", } ``` 或者 ```yaml selector: component: redis ``` #### 基于集合需求的資源 * 支持的對象,`Job`、`Deployment`、`Replica Set`、`Daemon Set` ```yaml selector: matchLabels: component: redis matchExpressions: - {key: tier, operator: In, values: [cache]} - {key: environment, operator: NotIn, values: [dev]} ``` * `matchLabels`是由`{key,value}`對組成的映射 * `matchLabels`映射中的單個`{key,value }`等同于`matchExpressions`的元素,其`key`字段為 “key”,`operator`為 “In”,而`values`數組僅包含 “value” * `matchExpressions`是 pod 選擇器要求的列表 * 有效的運算符包括 In,NotIn,Exists 和 DoesNotExist。**在 In 和 NotIn 的情況下,設置的值必須是非空的** * 來自`matchLabels`和`matchExpressions`的所有要求都是合在一起 – 它們必須都滿足才能匹配 # Pod歸類 Pod通過Label將相同或者有關聯的Pod歸為一類 :-: ![](https://img.kancloud.cn/92/d6/92d61fa92a78aac0b8806979945aea89_824x409.png)
                  <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>

                              哎呀哎呀视频在线观看