




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
電商平臺(tái)的原生遷移技術(shù)實(shí)踐SomeLessons
WeLearnedfromMovingE-businessGianttoCloud
NativeAlibaba’sJourneytoCloud
Native2011:
containerizeLXCOnepoolper
BU2015:dockerize
+smart
schedulingDockerIn-housescheduling2017-18:k8swithbasic
orchestration“Rich
Container”O(jiān)nePod
onecontainerK8S
API2019:cloud
nativeContainerdPod
withsidecarsFullK8S
stackExplore(K8sAPIcentric)Cloud
Native(Standard+Open)Containerize(container
centric)Current
StateAlibababegantomoveitse-businessplatformtocloudStandingontheshoulderofopen
source:KubernetesOperator
FrameworkCNI,CSI,CRI,DevicePlugin
…PrometheusContainerdrunC+
KataContainersDevOpsframeworkfrom
ACKACK=AlibabaContainerService
forKubernetesandmuchmore
…ArchitectureEliminate“Rich
Container”Before
2018JavaPID1processis
SystemdALLinONEcontainer("RichContainer"),independent
upgradeapp,sshd,log,monitoring,cache,VIP,DNS,proxy,agent,start/stopscripts
…Traditionaloperating
workflowStartcontainer->SSHintocontainer->Startthe
appLogfiles&userdataaredistributedeverywhereinthecontainerIn-houseorchestration&scheduling
systemEliminate“Rich
Container”Declarative:TheBiggestBenefitisUpgradeofOperating
ModelImperative:Create3more
containersDeletecontainernamedxxxUpgradethiscontainerwithnew
imageOnenodehasbroken,weshoulddeletethosecontainersonitandcreatetheminother
placesIneed5replicasformy
applicationThisapplicationshouldupdatetoanewversionAutomation
!Stability!Efficiency!As
ResultResourceutilizationCo-locationbyunified
schedulerApp
managementCloudNativeAppMgmtStorage
strategyDatainpersistentvolumeCooperatewithdevelopersalloverthe
worldStandard+Open+KeepupdatingwithupstreamK8s1.10->1.12->1.14
…CloudNativeApp
MgmtCloudNativeApp
MgmtK8s
作業(yè)管理挑戰(zhàn)巨大WorkloadMgmtinWeb-scaleis
ChallengingapplicationmigrationcomplicatedscenehelpPaaSmoveto
cloudnativecontainertransformationstabilityguaranteeWhatwearemovingtoCloudNative:almostonehundred
sitesmorethanahundredthousandapplicationsnearlyonemillion
containersBeforeAlibabaSinglesDaysale,we
may:CreatemorethanahundredthousandofPodsoverthousandsofapplicationsNodesofallthesePodswillbecalculatedbyaoff-linebatchschedulerbeforePod
creation
Throughthisway,wecanimproveresourceutilization,cpucoreallocation,affinity/anti-affinityofapplicationsandso
onBatch
placementBatch
placementBatchAllocationPlanCRDforcreatingbufferPodswithcandidate
nodesBatchAdoptionCRDforhelpingworkloadadoptbuffer
PodsApplication
upgradeAlldefaultworkloadsrecreatePodsduringrollingupdate.Strategiesthey
offered:maxSurge/maxUnavailable/partition/…What’sthe
problem?IfweusethedefaultupdatepolicyinK8s,thedeterminacywillbebrokenTopologychanges,imagere-warm,unexpectedoverhead,resourceallocationchurn
…Introduce:in-place
updateAdvanced
StatefulSetPod-1appsidecarPod-0appPod-1sidecar appsidecarNodeNodeKubeletUpdateappimageintemplatePartition=1Patchimage
ofapp
containerFindhash
changedRecreatecontainerwithnew
imageKubeletComparationRecreate
updateInPlaceupdateClusterdeterminacyEfficiencyofimage
downloadingRequirementof
resourceReschedulingandservice
registrationRecovery
automaticallySupportallfields
updaterolling
updateinplace
updateSidecar managementDefinedinapp
workloadsHardtomanagewhentherearelotsofapplicationsand
workloadsApplicationdevelopersdon’tknowwhichsidecartouseHowtoupdatesidecarintoomany
workloads……Injectedby
SidecarSetDefinesidecarsalone,partfromapplicationworkloadsApplicationdevelopershavenottocareaboutsidecarsUpdatesidecarcontainersin-place,noeffecton
applicationsSidecarSet
injectionWhenwehavethousandssidecars,we’ll
need:ASidecarSetCRD:Describeallsidecarsneedtobe
operatedA
SidecarOperator:Injectsidecarcontainerstoselected
PodsUpgradesidecarcontainersfollowingrolloutpolicywhenSidecarSetis
updatedDeletesidecarcontainerswhenSidecarSetisdeletedWhatcanSidecarSet
doSidecarSetcan
doIstiocan
doUpdate
strategyIn-placeupdateMountdata
volumesResourcelimitwithpodMore
configurationLabel
selectorInject
locationBasic
injectionapp
containersidecar
containerpod1.copy
data2.
trigger3.read
datasharedvolume0.updatesidecar
in-placeHotupgradeusing
sidecarOpenKruise/openkruise/kruiseSharewhathaveextremelyhelpedusmovetoCloud
NativeAdvancedStatefulSetAdvancedStatefulSetMaxUnavailableImprovespeedof
updating.(ForaStatefulSetwith500Podsandupdatein10batches,thismayaccelerate50times.)InPlaceUpdateUpdatePodswithoutrecreate.AvoidPodsrescheduleand
reshuffleReadinessGateensuresPodsstayNotReadyduring
updating.Morefeaturescoming
soon…SidecarSetand
BroadcastJobSidecarSetInjectsidecatcontainerintomatchedPods.Currently,itcanjustdoinjectionduringpodcreating,andwewillsupportsidecarupdatein-place
soonBroadcastJobAblendofDaemonSetand
JobRunpodsonallmachinesexactly
onceUsecase:softwareupgrade,nodevalidator,nodelabeler
etcScalabilityMattersin
AlibabaScalabilityboundaryofupstreamK8s
(v1.14)Nomorethan5k
nodesNomorethan150ktotal
podsNomorethan300ktotal
containersNomorethan100podsper
nodeScalabilitygoalinourweb-scale
clusterMorethan10k
nodesMorethan300k
podsNon-goal:Totalcontainers&podsper
nodeQuestion:Howtodiscoverscalabilityissuein10knodes
cluster?PerformanceBenchmark
ToolkitkubemarkwithHTTP
interfaceHollow-NodePodscmd/kubemark/hollow-node.goTaintanddrainnodesforperftest,andrun
itTypicaltestcasesin10knodes
cluster:Startuptimeduringscaling
podsTimeofcreatinganddeletingpodsPodlisting
RTFailure
countscurl-XPOST-H"Content-Type:application/json"
\"/api/kubemark/test"
\-d
'{"test_focus":"\\[Feature:Performance\\]","test_skip":"handle","node_count":10000,"pods_per_node":30}'Howto
run?DiscoverPerformance
BottlenecksFixingPerformanceBottleneckswith
Upstream#9296#9384#9511#9418bbolt#141#10283PodListIndexing:
~35x
(upstream
soon)Watch
Bookmark:#75474
(New!)etcd APIServer KubeletBug
fix:#72709LockAlgorithm
~24x*Cherrypick:Incrementalheartbeat
#14733PerfConfigureEtcd100clients,1millionrandomkeyvaluepairs,5000
QPSCompletiontime:
~200sLatency:99.9%in
97.6msK
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江省哈爾濱市南崗區(qū)哈爾濱三中2025年高考化學(xué)三模試卷含解析
- 2025屆陽(yáng)泉市重點(diǎn)中學(xué)高三六校第一次聯(lián)考化學(xué)試卷含解析
- 四川省廣元天立國(guó)際學(xué)校2025年高考化學(xué)一模試卷含解析
- 2025屆貴州省黔東南州劍河縣第四中學(xué)高考考前模擬化學(xué)試題含解析
- 涼菜間操作規(guī)范
- 護(hù)理年度培訓(xùn)總結(jié)
- 人教版四年級(jí)下冊(cè)數(shù)學(xué)期末測(cè)試基礎(chǔ)達(dá)標(biāo)卷(含答案)
- 豐城中學(xué)2024-2025學(xué)年下學(xué)期高二創(chuàng)新班第一次段考化學(xué)試卷
- 護(hù)理月度工作總結(jié)
- 婦產(chǎn)科腹腔鏡護(hù)理常規(guī)
- 胰膽線陣超聲內(nèi)鏡影像病理圖譜
- 中醫(yī)內(nèi)科學(xué)總論-課件
- 免疫學(xué)防治(免疫學(xué)檢驗(yàn)課件)
- 消防水泵房操作規(guī)程
- 腹腔雙套管沖洗操作
- 人教五年級(jí)語文上冊(cè)毛主席在花山課件
- 《微型消防站建設(shè)標(biāo)準(zhǔn)》
- 中國(guó)少年先鋒隊(duì)入隊(duì)申請(qǐng)書 帶拼音
- 環(huán)氧粉末涂料爆炸危險(xiǎn)性評(píng)估
- 拉斐爾課件完整版
- 機(jī)加工日語詞匯
評(píng)論
0/150
提交評(píng)論