中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

飼料公司網(wǎng)站建設(shè)方案如何制作一個宣傳網(wǎng)頁

飼料公司網(wǎng)站建設(shè)方案,如何制作一個宣傳網(wǎng)頁,wordpress克隆,邢臺如何做企業(yè)網(wǎng)站一、背景 Kubernetes v1.26 為 StatefulSet 引入了一個新的 Alpha 級別特性,可以控制 Pod 副本的序號。從 Kubernetes v1.27 開始,此特性進級到 Beta 階段。序數(shù)可以從任意非負數(shù)開始, 那么該如何使用此功能呢?StatefulSet 序號為…

一、背景

  • Kubernetes v1.26 為 StatefulSet 引入了一個新的 Alpha 級別特性,可以控制 Pod 副本的序號。從 Kubernetes v1.27 開始,此特性進級到 Beta 階段。序數(shù)可以從任意非負數(shù)開始, 那么該如何使用此功能呢?
  • StatefulSet 序號為 Pod 副本提供順序標(biāo)識。當(dāng)使用 OrderedReady Pod 管理策略時, Pod 是從序號索引 0 到 N-1 順序創(chuàng)建的。如今使用 Kubernetes 跨集群編排 StatefulSet 遷移具有挑戰(zhàn)性。雖然存在備份和恢復(fù)解決方案,但這些解決方案需要在遷移之前將應(yīng)用程序的副本數(shù)縮為 0。在當(dāng)今這個完全互聯(lián)的世界中,即使是計劃內(nèi)的應(yīng)用停機可能也無法實現(xiàn)你的業(yè)務(wù)目標(biāo)。
  • 可以使用級聯(lián)刪除或 OnDelete 策略來遷移單個 Pod, 但是這很容易出錯并且管理起來很乏味。當(dāng) Pod 出現(xiàn)故障或被逐出時,將失去 StatefulSet 控制器的自我修復(fù)優(yōu)勢。
  • Kubernetes v1.26 使 StatefulSet 能夠負責(zé) {0…N-1} 范圍內(nèi)的一系列序數(shù)(序數(shù) 0、1、… 直到 N-1)。有了它,可以縮小源集群中的范圍 {0…k-1},并擴大目標(biāo)集群中的互補范圍 {k…N-1},同時保證應(yīng)用程序可用性,這使在編排跨集群遷移時保留至多一個語義(意味著最多有一個具有給定身份的 Pod 在 StatefulSet 中運行)和滾動更新行為。
  • 假設(shè)在一個集群中運行 StatefulSet,并且需要將其遷移到另一個集群,需要這樣做的原因有很多:
    • 可擴展性:StatefulSet 對于集群而言規(guī)模過大,并且已經(jīng)開始破壞集群中其他工作負載的服務(wù)質(zhì)量;
    • 隔離性:在一個供多個用戶訪問的集群中運行 StatefulSet,而命名空間隔離是不夠的;
    • 集群配置:想將 StatefulSet 遷移到另一個集群,以使用在當(dāng)前集群上不存在的某些環(huán)境;
    • 控制平面升級:想將 StatefulSet 遷移到運行著較高版本控制平面, 并且無法處承擔(dān)就地升級控制平面所產(chǎn)生的風(fēng)險或預(yù)留停機時間。

二、使用

① 先決條件

  • 在集群上啟用 StatefulSetStartOrdinal 特性門控,并使用自定義的 .spec.ordinals.start 創(chuàng)建一個 StatefulSet。
  • 在此演示中,將使用新機制將 StatefulSet 從一個 Kubernetes 集群遷移到另一個,Bitnami Helm chart 將用于安裝 redis-cluster。所需工具:yq、helm。
  • 為此,需要兩個可以訪問公共網(wǎng)絡(luò)和存儲的 Kubernetes 集群,已將集群命名為 source 和 destination。具體來說:
    • 在兩個集群上都啟用 StatefulSetStartOrdinal 特性門控;
    • kubectl 的客戶端配置允許我以管理員身份訪問這兩個集群;
    • 兩個集群上都安裝了相同的 StorageClass,并設(shè)置為兩個集群的默認 StorageClass,這個 StorageClass 應(yīng)該提供可從一個或兩個集群訪問的底層存儲;
    • 一種扁平的網(wǎng)絡(luò)拓撲,允許 Pod 向任一集群中的 Pod 發(fā)送數(shù)據(jù)包和從中接收數(shù)據(jù)包,如果在云提供商上創(chuàng)建集群,則此配置可能被稱為私有云或私有網(wǎng)絡(luò)。

② 步驟

  • 在兩個集群上創(chuàng)建一個用于演示的命名空間:
kubectl create ns kep-3335
  • 在 source 集群中部署一個有六個副本的 Redis 集群:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install redis --namespace kep-3335 \bitnami/redis-cluster \--set persistence.size=1Gi \--set cluster.nodes=6
  • 檢查 source 集群中的副本狀態(tài):
kubectl exec -it redis-redis-cluster-0 -- /bin/bash -c \"redis-cli -c -h redis-redis-cluster -a $(kubectl get secret redis-redis-cluster -o jsonpath="{.data.redis-password}" | base64 -d) CLUSTER NODES;"
2ce30362c188aabc06f3eee5d92892d95b1da5c3 10.104.0.14:6379@16379 myself,master - 0 1669764411000 3 connected 10923-16383
7743661f60b6b17b5c71d083260419588b4f2451 10.104.0.16:6379@16379 slave 2ce30362c188aabc06f3eee5d92892d95b1da5c3 0 1669764410000 3 connected
961f35e37c4eea507cfe12f96e3bfd694b9c21d4 10.104.0.18:6379@16379 slave a8765caed08f3e185cef22bd09edf409dc2bcc61 0 1669764411000 1 connected
7136e37d8864db983f334b85d2b094be47c830e5 10.104.0.15:6379@16379 slave 2cff613d763b22c180cd40668da8e452edef3fc8 0 1669764412595 2 connected
a8765caed08f3e185cef22bd09edf409dc2bcc61 10.104.0.19:6379@16379 master - 0 1669764411592 1 connected 0-5460
2cff613d763b22c180cd40668da8e452edef3fc8 10.104.0.17:6379@16379 master - 0 1669764410000 2 connected 5461-10922
  • 在 destination 集群中部署一個零副本的 Redis 集群:
helm install redis --namespace kep-3335 \bitnami/redis-cluster \--set persistence.size=1Gi \--set cluster.nodes=0 \--set redis.extraEnvVars\[0\].name=REDIS_NODES,redis.extraEnvVars\[0\].value="redis-redis-cluster-headless.kep-3335.svc.cluster.local" \--set existingSecret=redis-redis-cluster
  • 將源集群中的 redis-redis-cluster StatefulSet 副本數(shù)縮小 1, 以刪除副本 redis-redis-cluster-5:
kubectl patch sts redis-redis-cluster -p '{"spec": {"replicas": 5}}'
  • 將依賴從 source 集群遷移到 destionation 集群:以下命令將依賴資源從 source 復(fù)制到 destionation,其中與 destionation 集群無關(guān)的詳細信息已被刪除(例如:uid、resourceVersion、status):
kubectl get pvc redis-data-redis-redis-cluster-5 -o yaml | yq 'del(.metadata.uid, .metadata.resourceVersion, .metadata.annotations, .metadata.finalizers, .status)' > /tmp/pvc-redis-data-redis-redis-cluster-5.yaml
kubectl get pv $(yq '.spec.volumeName' /tmp/pvc-redis-data-redis-redis-cluster-5.yaml) -o yaml | yq 'del(.metadata.uid, .metadata.resourceVersion, .metadata.annotations, .metadata.finalizers, .spec.claimRef, .status)' > /tmp/pv-redis-data-redis-redis-cluster-5.yaml
kubectl get secret redis-redis-cluster -o yaml | yq 'del(.metadata.uid, .metadata.resourceVersion)' > /tmp/secret-redis-redis-cluster.yaml
  • 如果使用配置了 reclaimPolicy: Delete 的 StorageClass, 應(yīng)該在刪除之前使用 reclaimPolicy: Retain 修補 source 中的 PV, 以保留 destination 中使用的底層存儲。
  • 對于 PV/PVC,此過程僅在 PV 使用的底層存儲系統(tǒng)支持復(fù)制到 destination 集群時才有效,可能不支持與特定節(jié)點或拓撲關(guān)聯(lián)的存儲。此外,某些存儲系統(tǒng)可能會在 PV 對象之外存儲有關(guān)卷的附加元數(shù)據(jù),并且可能需要更專門的序列來導(dǎo)入卷。
kubectl create -f /tmp/pv-redis-data-redis-redis-cluster-5.yaml
kubectl create -f /tmp/pvc-redis-data-redis-redis-cluster-5.yaml
kubectl create -f /tmp/secret-redis-redis-cluster.yaml
  • 將 destination 集群中的 redis-redis-cluster StatefulSet 擴容 1,起始序號為 5:
kubectl patch sts redis-redis-cluster -p '{"spec": {"ordinals": {"start": 5}, "replicas": 1}}'
  • 檢查 destination 集群中的副本狀態(tài):
kubectl exec -it redis-redis-cluster-5 -- /bin/bash -c \"redis-cli -c -h redis-redis-cluster -a $(kubectl get secret redis-redis-cluster -o jsonpath="{.data.redis-password}" | base64 -d) CLUSTER NODES;"
  • 我應(yīng)該看到新副本(標(biāo)記為 myself)已加入 Redis 集群(IP 地址與 source 集群中的副本歸屬于不同的 CIDR 塊):
2cff613d763b22c180cd40668da8e452edef3fc8 10.104.0.17:6379@16379 master - 0 1669766684000 2 connected 5461-10922
7136e37d8864db983f334b85d2b094be47c830e5 10.108.0.22:6379@16379 myself,slave 2cff613d763b22c180cd40668da8e452edef3fc8 0 1669766685609 2 connected
2ce30362c188aabc06f3eee5d92892d95b1da5c3 10.104.0.14:6379@16379 master - 0 1669766684000 3 connected 10923-16383
961f35e37c4eea507cfe12f96e3bfd694b9c21d4 10.104.0.18:6379@16379 slave a8765caed08f3e185cef22bd09edf409dc2bcc61 0 1669766683600 1 connected
a8765caed08f3e185cef22bd09edf409dc2bcc61 10.104.0.19:6379@16379 master - 0 1669766685000 1 connected 0-5460
7743661f60b6b17b5c71d083260419588b4f2451 10.104.0.16:6379@16379 slave 2ce30362c188aabc06f3eee5d92892d95b1da5c3 0 1669766686613 3 connected
  • 對剩余的副本重復(fù)上面的步驟,直到 source 集群中的 Redis StatefulSet 副本縮放為 0, 并且 destination 集群中的 Redis StatefulSet 健康,總共有 6 個副本。

三、總結(jié)

  • 此特性為跨集群拆分 StatefulSet 提供了一項基本支撐技術(shù),但沒有規(guī)定 StatefulSet 的遷移機制。遷移需要對 StatefulSet 副本的協(xié)調(diào),以及對存儲和網(wǎng)絡(luò)層的編排,這取決于使用 StatefulSet 安裝的應(yīng)用程序的存儲和網(wǎng)絡(luò)連接要求。
  • 此外,許多 StatefulSet 由 operator 管理,這也增加了額外的遷移復(fù)雜性。
http://www.risenshineclean.com/news/60128.html

相關(guān)文章:

  • 溫州外貿(mào)網(wǎng)站設(shè)計如何進行網(wǎng)站宣傳推廣
  • 為什么說做網(wǎng)站賺錢搜索排名影響因素
  • 蘇州網(wǎng)站建設(shè)科技有限公司html網(wǎng)頁制作
  • 上海做設(shè)計公司網(wǎng)站疫情最新政策最新消息
  • vs 2008網(wǎng)站做安裝包太原seo公司
  • 日本做受視頻網(wǎng)站互聯(lián)網(wǎng)廣告代理商
  • 校園網(wǎng)站如何建立網(wǎng)站關(guān)鍵詞排名優(yōu)化方法
  • 鄭州東區(qū)做網(wǎng)站的公司蘋果自研搜索引擎或為替代谷歌
  • 行政部建設(shè)公司網(wǎng)站值得收藏的五個搜索引擎
  • 網(wǎng)站維護 收錄湖南長沙最新疫情
  • 自己做網(wǎng)站系統(tǒng)首選平臺域名解析ip地址
  • 模板網(wǎng)站建設(shè)優(yōu)惠青島seo
  • 福建省建筑信息平臺上海怎么做seo推廣
  • 網(wǎng)站怎么做二級頁面寧波seo托管公司
  • 抽獎的網(wǎng)站怎么做今日熱搜榜前十名
  • 網(wǎng)站建設(shè)與網(wǎng)頁制作教程流程優(yōu)化四個方法
  • 個人網(wǎng)站做重定向圖片網(wǎng)站怎么添加外鏈
  • 蕪湖市網(wǎng)站建設(shè)站長工具外鏈查詢
  • 永久免費網(wǎng)站空間北京突發(fā)重大消息
  • wordpress頁面都在seo軟件資源
  • 開發(fā)公司英文企業(yè)站seo
  • javascript做網(wǎng)站重要嗎網(wǎng)絡(luò)營銷公司網(wǎng)絡(luò)推廣
  • 如何建設(shè)數(shù)據(jù)庫搜索網(wǎng)站常用搜索引擎有哪些
  • 南寧seo網(wǎng)站排名優(yōu)化公司百度愛采購官方網(wǎng)站
  • 如何在360做網(wǎng)站SEO百度引流推廣費用多少
  • 做花生的網(wǎng)站江蘇做網(wǎng)站的公司有哪些
  • 淘寶網(wǎng)站代理怎么做的網(wǎng)站服務(wù)器ip查詢
  • wordpress如何設(shè)置在某一分類目錄下的文章都顯示特定小工具seo關(guān)鍵詞排名優(yōu)化推薦
  • 獨立站有哪些常見平臺手機制作網(wǎng)站的軟件
  • web開發(fā)不只是做網(wǎng)站企業(yè)網(wǎng)站建設(shè)流程