container.training开源项目

我要开发同款
匿名用户2021年11月26日
52阅读
所属分类Google Go、云计算、云原生
授权协议View license

作品详情

ContainerTraining

Thisrepository(formerlyknownasorchestration-workshop)containsmaterials(slides,scripts,demoapp,andothercodesamples)usedforvariousworkshops,tutorials,andtrainingsessionsaroundthethemesofDocker,containers,andorchestration.

Forthemoment,itincludes:

IntroductiontoDockerandContainers,ContainerOrchestrationwithDockerSwarm,ContainerOrchestrationwithKubernetes.

Thesematerialshavebeendesignedaroundthefollowingprinciples:

theyassumeverylittlepriorknowledgeofDocker,containers,oraparticularprogramminglanguage;theycanbeusedinaclassroomsetup(withaninstructor),orself-pacedathome;theyarehands-on,meaningthattheycontainlotsofexamplesandexercisesthatyoucaneasilyreproduce;theyprogressivelyintroduceconceptsinchaptersthatbuildontopofeachother.

Ifyou'relookingforthematerials,youcanstopreadingrightnow,andhoptohttps://container.training/,whichhostsalltheslidesdecksavailable.

Therestofthisdocumentexplainshowthisrepositoryisstructured,andhowtouseittodeliver(orcreate)yourowntutorials.

Whyasinglerepository?

Allthesematerialshavebeengatheredinasinglerepositorybecausetheyhaveafewthingsincommon:

somesharedslidesthatarere-used(andupdated)identicallybetweendifferentdecks;abuildsystemgeneratingHTMLslidesfromMarkdownsourcefiles;asemi-automatedtestharnesstocheckthattheexercisesandexamplesprovidedworkproperly;aPhantomJSscripttocheckthattheslideslookgoodanddon'thaveformattingissues;deploymentscriptstostarttrainingVMsinbulk;afancypipelinepoweredbyNetlifyandcontinuouslydeployingmastertohttps://container.training/.Whatarethedifferentcoursesavailable?

IntroductiontoDockerisderivedfromthefirst"DockerFundamentals"trainingmaterials.Formoreinformation,seejpetazzo/intro-to-docker.TheversioninthisrepositoryhasbeenadaptedtotheMarkdownpublishingpipeline.Itisstillmaintained,butonlyreceivesminorupdatesonceinawhile.

ContainerOrchestrationwithDockerSwarm(formerlyknownas"OrchestrationWorkshop")isaworkshopcreatedbyJérômePetazzoniinJune2015.Sincethen,ithasbeencontinuouslyupdatedandimproved,andreceivedcontributionsfrommanyothersauthors.Itisactivelymaintained.

ContainerOrchestrationwithKuberneteswascreatedbyJérômePetazzoniinOctober2017,withhelpandfeedbackfromafewothercontributors.Itisactivelymaintained.

RepositorystructurebinAfewhelperscriptsthatyoucansafelyignorefornow.dockercoinsThedemoappusedthroughouttheorchestrationworkshops.efk,elk,prom,snap:Loggingandmetricsstacksusedinthelaterpartsoftheorchestrationworkshops.prepare-local,prepare-machine:Contributedscriptstoautomatethecreationoflocalenvironments.Thesecouldusesomehelptotest/checkthattheywork.prepare-vms:ScriptstoautomatethecreationofAWSinstancesforstudents.Theseareroutinelyusedandactivelymaintained.slides:Alltheslides!TheyareassembledfromMarkdownfileswithacustomPythonscript,andthenrenderedusinggnab/remark.Checkthisdirectoryformoredetails.stacks:AhandfulofComposefiles(version3)allowingtoeasilydeploycomplexapplicationstacks.Coursestructure

(Thisappliesonlyfortheorchestrationworkshops.)

Theworkshopintroducesademoapp,"DockerCoins,"builtaroundamicro-servicesarchitecture.First,werunitonasinglenode,usingDockerCompose.Then,wepretendthatweneedtoscaleit,andweuseanorchestrator(SwarmKitorKubernetes)todeployandscaletheapponacluster.

Weexplaintheconceptsoftheorchestrator.ForSwarmKit,wesetuptheclusterwithdockerswarminitanddockerswarmjoin.ForKubernetes,weusepre-configuredclusters.

Then,wecovermoreadvancedconcepts:scaling,loadbalancing,updates,globalservicesordaemonsets.

Thereareanumberofadvancedoptionalchaptersaboutlogging,metrics,secrets,networkencryption,etc.

Thecontentisverymodular:itisbrokendowninalargenumberofMarkdownfiles,thatareputtogetheraccordingtoaYAMLmanifest.Thisallowstore-usecontentbetweendifferentworkshopsveryeasily.

DockerCoins

Thesampleappisinthedockercoinsdirectory.It'susedduringallchaptersforexplainingdifferentconceptsoforchestration.

Toseeitinaction:

cddockercoins&&docker-composeup-dthiswillbuildandstartalltheservicesthewebUIwillbeavailableonport8000RunningtheWorkshop

Ifyouwanttodeliveroneoftheseworkshopsyourself,thissectionisforyou!

*ThissectionhasbeenmostlycontributedbyBretFisher,whowasoneofthefirstpersonstohavethebraveryofdeliveringthisworkshopwithoutme.ThanksBret!

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论