![電商平臺(tái)的原生遷移技術(shù)實(shí)踐_第1頁(yè)](http://file4.renrendoc.com/view/7e1e5d31e4107f14c99ee625c9ef4daa/7e1e5d31e4107f14c99ee625c9ef4daa1.gif)
![電商平臺(tái)的原生遷移技術(shù)實(shí)踐_第2頁(yè)](http://file4.renrendoc.com/view/7e1e5d31e4107f14c99ee625c9ef4daa/7e1e5d31e4107f14c99ee625c9ef4daa2.gif)
![電商平臺(tái)的原生遷移技術(shù)實(shí)踐_第3頁(yè)](http://file4.renrendoc.com/view/7e1e5d31e4107f14c99ee625c9ef4daa/7e1e5d31e4107f14c99ee625c9ef4daa3.gif)
![電商平臺(tái)的原生遷移技術(shù)實(shí)踐_第4頁(yè)](http://file4.renrendoc.com/view/7e1e5d31e4107f14c99ee625c9ef4daa/7e1e5d31e4107f14c99ee625c9ef4daa4.gif)
![電商平臺(tái)的原生遷移技術(shù)實(shí)踐_第5頁(yè)](http://file4.renrendoc.com/view/7e1e5d31e4107f14c99ee625c9ef4daa/7e1e5d31e4107f14c99ee625c9ef4daa5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 美發(fā)店員工合同范本(7篇)
- 2024-2025學(xué)年第2課諸侯紛爭(zhēng)與變法運(yùn)動(dòng)-勤徑學(xué)升高中歷史必修上同步練測(cè)(統(tǒng)編版2019)
- 2025年企業(yè)市場(chǎng)營(yíng)銷(xiāo)合作伙伴協(xié)議
- 2025年酒店客房用品訂購(gòu)合同模板
- 2025年不動(dòng)產(chǎn)權(quán)益讓與擔(dān)保協(xié)議版
- 2025年電動(dòng)車(chē)維修服務(wù)合同示范
- 2025年水文測(cè)量?jī)x器項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模范
- 2025年企業(yè)銷(xiāo)售專(zhuān)員合同格式
- 2025年戀愛(ài)雙方保密協(xié)議策劃模板
- 2025年度股權(quán)變更持有人協(xié)議
- GB/T 5019.5-2023以云母為基的絕緣材料第5部分:電熱設(shè)備用硬質(zhì)云母板
- 《工傷保險(xiǎn)專(zhuān)題》課件
- 2024年農(nóng)發(fā)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 京東運(yùn)營(yíng)課件
- 安寧療護(hù)中的人文護(hù)理課件
- 頭痛的護(hù)理小課件
- 熱工基礎(chǔ)(第二版)-張學(xué)學(xué)(8)第七章
- 南京師范大學(xué)-高等數(shù)學(xué)-期末試卷20套
- 胸痛中心培訓(xùn)課件高危胸痛識(shí)別
- 2023年新高考物理廣東卷試題真題及答案詳解(精校版)
- 研學(xué)旅行課程標(biāo)準(zhǔn)(一)-前言、課程性質(zhì)與定位、課程基本理念、課程目標(biāo)
評(píng)論
0/150
提交評(píng)論