Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WaypointでCDパイプラインを抽象化(仮)

 WaypointでCDパイプラインを抽象化(仮)

techtekt

May 10, 2023
Tweet

More Decks by techtekt

Other Decks in Technology

Transcript

  1. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Waypoint ύʔιϧΩϟϦΞגࣜձࣾ ςΫϊϩδʔຊ෦ Πϯϑϥج൫౷ׅ෦ γεςϜڞ௨#*5" ϓϥοτϑΥʔϜάϧʔϓ Kenny Song Apr. 14 - 23
  2. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Mililani from HI, USA Chuo-ku to Tokyo, Japan MY LIFE Kenny R Song Passenger name FEB 5, 1992 Date of birth SET OF SKILLS Born at night and die in the morning My motto is Cellular Carrier company APRIL 2012 - AUGUST 2017 SEPTEMBER 2017 – AUGUST 2019 Fintech Venture-backed company PERSOL CAREER SEPTEMBER 2019 ~ All Seafood, Sun light Allergy Resume in Japan Java 6 years experience C++ 7 years experience C Sharp 2 years experience Python 5 years experience Rust 2 years experience k8s, Terraform, Golang Introduce USA Nationality Piano, Violin Hobby Born in USA Been in Japan 21 years More… 2
  3. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. ಥવͰ͕͢ɺΠϯϑϥ԰͞Μ͕ଟ͍Ͱ͋Ζ͏͜ͷ৔Λ͓आΓ͠ 1ਓͷΞϓϦ։ൃऀͱ͓ͯ͠ؾ࣋ͪද໌͍͖ͤͯͨͩ͞·͢ 3
  4. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. ๻͸ͬ͞͞ͱσϓϩΠ͍͚ͨͩ͠ͳͷ ผʹYAML΍TOMLॻ͖͍ͨΘ͚͡Όͳ͍ͷͶɺ σϓϩΠ͢Δͷʹඞཁ͍ͩͬͯ͏͔Βॻ͍ͯΔͷ ࣮૷͢Δ͔Βޙ͸΋͏͍͍ײ͡ʹ͓͍ͯͯ͠Αʂ 4
  5. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. * Photo borrowed from Twitter Hey!! 5
  6. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. ͦΕɺ׎͑Δ͜ͱ͕ग़དྷΔΑ (we can make it happen) 6
  7. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. ͦ͏ɺWaypoint ͳΒͶɻ (Only on the Waypoint) 7
  8. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 8
  9. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Q. What can it do? GitOps, IaCΛ࢝ΊΫϥ΢υΞʔΩςΫνϟʔʹ͓͍ͯߴ֬཰Ͱ৮ΕΔ͜ͱʹͳΔ Dockerfile, Serverless΍KubernetesͳͲStateΛఆٛ͢ΔϚχϑΣετͱCLI.. AWS, Azure, GCP౳ɺΫϥ΢υຖʹ༻ҙ͞Εͨଟछଟ༷ͳπʔϧɾαʔϏε.. ΞϓϦݴޠ͝ͱʹඞཁͳRuntime, CompilerʹLinker΍഑৴༻WSGI, ASGI Server.. ͜ΕΒΛ͏·͘ఆٛɾ૊Έ߹ΘͤCICD PipelineΛYAML΍֦ுݴޠͰఆٛͯ͠.. 9
  10. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. A. ここら辺まとめてエイヤッしてくれるのが Waypoint 10
  11. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Q. So what is it? • Package manager • PaaS • Platform ༷ʑͳPlatformʹରͯ͠Ұ؏ͨ͠WorkflowΛఏڙ͢Δ ेಙφΠϑͳπʔϧ ֤Ϋϥ΢υαʔϏε΍πʔϧͷҧ͍ΛҰखʹٵऩ͠ɺ ͓ೃછΈͷ*HCLΛ࢖ͬͯ؆ܿʹఆٛ͢Δ͜ͱ͕Մೳ * JSONܗࣜͰͷهड़΋Մ 11
  12. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. A. アプリデプロイに特化した Terraform みたいなもの 12
  13. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. A tool to build, deploy, and release any application on any platform ͋ΒΏΔϓϥοτϑΥʔϜͰ͋ΒΏΔΞϓϦέʔγϣϯΛ Ϗϧυ, σϓϩΠͦͯ͠ϦϦʔε͢ΔͨΊͷπʔϧ Purpose of Waypoint 13
  14. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Try it out! 14
  15. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Waypoint Architecture தԝूݖతͳػೳΛ࣋ͬͨ4FSWFSίϯϙʔωϯτ͕ඞཁ ͜Ε͸7.΍,VCFSOFUFT্ͳͲɺͲ͜Ͱ΋഑ஔͯ͠0, ݱࡏ͸#FUB൛͕ͩ 8BZQPJOU$MPVE ΋࢖༻Մೳ 15
  16. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Waypoint Architecture Ϗϧυ σϓϩΠ΍ϦϦʔεͱ͍֤ͬͨ+PC͸3VOOFSͰ࣮ߦ +PC͸σϓϩΠઌͷ1MBUGPSN"1*ͱ௚઀௨৴͢Δ ΑͬͯΞϓϦ͕σϓϩΠ͞ΕΔ؀ڥຖʹ3VOOFS͕ඞཁͱͳΔ ͜ΕΒͷ+PC͸8BZQPJOU4FSWFS͔Βఏڙ͞ΕΔ8FC (6*΍ 8BZQPJOU$-*͔Β)PPL͢Δ͜ͱ͕Ͱ͖Δ ·ͨɺ$*༻ʹ5SJHHFS63-Λ4FSWFS͔Β෷͍ग़͠)551ܦ༝Ͱ )PPL͢Δ͜ͱ΋Մೳ 16
  17. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. QA Architecture ࣮ӡ༻͢Δ৔߹ͷߏ੒Λҙࣝ͠ProxyഎޙͷEKS্ʹ Waypoint ServerΛ഑ஔ ʢฐࣾͷҰ෦੍໿ʹΑΓWaypoint Cloud͸ࢼ༻ෆՄʣ Istio഑ԼʹͤͣNginx IngressΛલ࠲ʹ഑ஔʢޙड़ʣ Route53ͱCert ManagerͰdns01Λ௨ͨ͠CertͰ NLB͸TLS passthroughɺGUIͷHTTPSͱCLIͷgRPC Λ୯ҰPortͰListen 17
  18. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Preparation 1. HelmΛ࢖༻͠Waypoint ServerΛInstall helm repo add hashicorp https://helm.releases.hashicorp.com helm install waypoint hashicorp/waypoint –f /path/to/values.yaml 2. ࡞ۀ୺຤ʹWaypoint CLIΛInstall brew tap hashicorp/tap brew install hashicorp/tap/waypoint 3. CLI͔ΒWaypoint ServerʹLogin waypoint login -from-kubernetes -server-addr=<ip-or-domain>:<grpc-port> 18
  19. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Preparation 4. Runner ProfileΛߋ৽͠ɺੜ੒͞ΕΔOn-Demand RunnerʹProxyઃఆΛຒΊࠐ·ͤΔ waypoint runner profile set \ -name=odr-profile \ -plugin-type=kubernetes \ -oci-url=docker.io/hashicorp/waypoint-odr:0.11.0 \ -default \ -env-var=WAYPOINT_SERVER_ADDR=waypoint-server:9701 \ -env-var=HTTP_PROXY=<method://server:port> \ -env-var=HTTPS_PROXY=<method://server:port> \ -env-var=NO_PROXY=<aaa,bbb,ccc> \ -plugin-config=path/to/runner-profile.json 19
  20. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Little Pitfalls ͜͜Ͱૣ଎ɺͪΐͬͱͨ͠མͱ݀͠ʹϋϚΔ • HelmͷdefaultͰ͸Waypoint Serverͷservice type͸ LoadBalancer • values.yaml ʹIngress༻ͷ୅ସઃఆ΋ଘࡏ͢Δ͕GUIͷΈͰgRPC Endpoint͸ରԠ֎ ޾͍Path rootingͰԿͱ͔Ͱ͖ΔͷͰIngress resourceΛ୯ҰͷFQDNʹ2छ࡞੒͢Δ • waypoint login ʹ -server-addr Ͱద੾ͳυϝΠϯͱIPΛࢦఆ͠ͳ͚Ε͹ClusterIP͕ ฦͬͯ͠·͍Endpointʹ౸ୡͰ͖ͳ͘ͳΔ • *TUJPͱͷڞଘ͕೉͍͠ɺ8BZQPJOU4FSWFSͷ#PPUTUSBQ͸/FHPUJBUFޙʹ4FDSFUΛ ࡞੒͢Δ͕*TUJPʹΑΓωοτϫʔΫมߋ͞Ε+PC͕౸ୡͰ͖ͣίέΔ 20
  21. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. waypoint.hcl جຊ͸Projectຖʹ୯Ұͷߏ੒ϑΝΠϧΛ࡞੒ VCS಺ʹؚΊΔ͔Waypoint Serverʹอ࣋ͤ͞Δ app {} build {} ͱ͍֤ͬͨϒϩοΫΛStanzaͱݺশ project ͱ app stanza ͕Required dockerfile ͳͲ૊ΈࠐΈͷఆٛࡁΈม਺͕ଘࡏ Ϣʔβʔఆٛ͞Εͨม਺ʹ΋ରԠ͠ɺHCL͓ೃછΈͷ variables {} Ͱهड़Մೳ 21
  22. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Hashicorp ੡඼ؒͷ࿈ܞ΋ͱͯ΋؆୯ ؀ڥࠩ෼ͱͯ͠ϕλॻ͖཰͕ߴ͍ઃఆ஋Λ Terraform State͔ΒҾͬுͬͯ͜ΕΔ env.HTTP_PROXY_SERVER ͱ౉͠ํ΋؆ܿ “terraform-cloud” ͷ෦෼Λ “vault” ͱ ͢Ε͹ͦͷ··7BVMUͷ஋΋औΕΔ %#ؔ࿈ͷ$SFEFOUJBMTͳͲ΋҆͝શʹ waypoint.hcl 22
  23. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. From the perspective of my position Pros and Cons • Waypoint URL Service • GitHub App not supported • Container image build & push • AWS Lambda΁σϓϩΠʢOnly OCI Basedʣ • EC2 AMIΛASGʹσϓϩΠ • Kubernetes΁σϓϩΠ 23
  24. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Case1: Container image build & push 24
  25. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. “build” stanzaͰdockerΛuse͢Δ ”registry” Λলུ͢ΔͱLocal registryʹอ࣋ ࢦఆͨ͠৔߹͸buildޙʹpush͞ΕΔ DefaultͰ͸Project root͔ΒDockerfileΛݕग़ ఆٛࡁΈม਺Ͱ೚ҙͷϑΝΠϧࢦఆՄೳ Container image build & push 25
  26. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. GitHub ActionsͰPermissionΛ༩͑WebIdTokenͳೝূΛͨ͠ͷͪ ECRʹLogin͠Πϝʔδϓογϡ ͋Γ͕ͪͳ޻ఔΛ waypoint up ͚ͩͰஔ͖׵͑Մೳ GitHub༻ͷRoleʹ෇༩͢Δݖݶ΋ߜΓࠐΊΔ ΋ͪΖΜɺAWSҎ֎ͷ؀ڥͰ΋ॊೈʹରԠͰ͖͜͜͸طଘͷGitOpsϑϩʔΛ अຐ͠ͳ͍έʔε͕ଟ͍ͷͰؾ͔ܰͭγϯϓϧʹಋೖՄ Impression 26
  27. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Case2: AWS Lambda΁σϓϩΠʢOnly OCI Basedʣ 27
  28. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. “build” stanzaͰdockerͨ͠ΓECR্ͷimageΛ Pull͠ “deploy” stanzaͰaws-lambdaΛuse Required͸ region ͷΈͰଞ͸Optional Role໊ͳͲಈతʹ౉͍ͨ͠৔߹͸VariablesΛ հͯ͠Ҿ͍ͨ஋Λ var.role ͱ͔Ͱ౉ͤΔ AWS Lambda ΁σϓϩΠ 28
  29. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. • TerraformΛ࢖͍ΨοπϦIaCΛ૊ΜͰ͍Δ • ֎෦ґଘؔ܎Λ࣋ͬͨίʔυ • ΠϯϑϥɾSREνʔϜ֎Ͱ࡞੒͞ΕΔLambda ͜Μͳ࣌TerraformͷRepositoryʹLambdaͷίʔυΛؚΊΔ͔ ґଘؔ܎ΛLayerʹ༬͚Δ͔ɺZipʹ͢Δ͔Stateͷ؅ཧ্গ͠໎͏͕࣌͋Δ Waypoint Λซ༻͢Δ͜ͱͰνʔϜؒͷ੹೚෼཭Λ໌֬ʹͰ͖Δ OCIϕʔεʹͳΓϚωίϯ͔Β͸֬ೝɾฤूͰ͖ͳ͍఺Ͱҙݟ͕ผΕΔ Impression 29
  30. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Case3: EC2 AMIΛASGʹσϓϩΠ 30
  31. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Hashicorp Packerͱ૊Έ߹Θͤͯ࢖༻͢Ε͹AMIͷ࡞੒͔Β ASGʹσϓϩΠ·ͰϫϯετοϓͳσϓϩΠମݧ͕ಘΒΕΔ Golden Imageͷऔಘ͔Βల։·ͰɺRunCommand౳Λۦ࢖͠ Lambda΍SQSͷ߹ମٕͰ࣮૷͢Δ͜ͱ΋Ͱ͖Δ͕ͪΐ͍൥ࡶ WaypointʹΑΓͱͯ΋εϚʔτʹఆٛͰ͖Δ EC2 AMIΛASGʹσϓϩΠ 31
  32. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. PackerͰద౰ͳAMIΛ࡞੒ EC2 AMIΛASGʹσϓϩΠ 32
  33. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. “build” stanzaͰPackerͨ͠AMIΛద౰ʹFilter͠ “deploy” stanzaͰEC2ύϥϝʔλΛࢦఆ count ΦϓγϣϯΛࢦఆ͢Δ͜ͱͰASGͱͯ͠ σϓϩΠ͞ΕΔ লུ͢Δͱ୯ҰͷEC2ΠϯελϯεʹͳΔ ෳ਺ͷPortΛListen͍ͤͨ͞৔߹͸ extra_port SSH Keyͷࢦఆʹ͸ key Φϓγϣϯ͕࢖͑Δ ࠓͷॴKeyPair͸طଘͷ΋ͷ͔͠ࢦఆͰ͖ͳ͍ EC2 AMIΛASGʹσϓϩΠ 33
  34. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. ඞཁʹԠ͡ “release” stanzaͰALBΛΞλον ACM ARNͱυϝΠϯ໊Λࢦఆ͠ɺRoute53ͷ ZoneIDΛఏڙ͢Δ͜ͱͰϨίʔυ΋࡞੒Մೳ ΋͠΋طଘͷALBʹ߹ྲྀ͍ͤͨ͞৔߹͸্هͷ ୅ΘΓʹ listener_arn Λࢦఆ͢Ε͹OK ಉ༷ͷهड़ͰEC2͚ͩͰͳ͘Lambdaؔ਺Λ ALBʹΞλον͢Δ͜ͱ΋Մೳ EC2 AMIΛASGʹσϓϩΠ 34
  35. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. શͯΛTerraform, CFn౳Ͱ૊΋͏ͱࢥ͏ͱͦΕͳΓͷྔϦιʔεఆ͕ٛඞཁ ·ͨɺGolden Imageͷ࡞੒͸ϓϩμΫτνʔϜଆͷ੹຿Ͱ͋Δ৔߹΋ଟ͍ ΠϯϑϥɾSREνʔϜ͸ࣄલʹϦεφʔϧʔϧΛ࡞੒͓ͯ͘͜͠ͱͰ σϓϩΠΛWaypointʹ੾Γग़͠৽AMIͷల։Λ෼཭Ͱ͖Δ ॎ࣠૊৫ͱԣ࣠૊৫ͷ࿈ܞ͸Կ͔ͱϓϩηε͕ൃੜ͕ͪ͠ͳͷͰ WaypointΛ࢖͏͜ͱͰϓϩμΫτνʔϜ͕೚ҙͷλΠϛϯάͰσϓϩΠՄೳʹ Delivery cycleͷҡ࣋ʹܨ͕ΓDX޲্͸໪࿦ɺUXվળʹ΋ظ଴Ͱ͖Δ Impression 35
  36. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Case4: Kubernetes΁σϓϩΠ 36
  37. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. ࠷΋γϯϓϧͰϛχϚϜͳઃఆ͸͜Ε͚ͩ “deploy” stanzaͰ kubernetesΛࢦఆ͢Δ Deployment ResourceͰ ”build” stanzaͷ Docker Image͕σϓϩΠ͞ΕΔ “release” stanzaͰkubernetesΛࢦఆ͢Δͱ Service Resource͕࡞੒Ͱ͖Δ Kubernetes΁σϓϩΠ 37
  38. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. YAMLΛ༻ҙ͢Δέʔεʹ΋ରԠՄೳ HCLͰ͓ೃછΈ templatedir() Λ࢖͏ Requiredͳ prune_label ͕গ͠ۂऀ ࢦఆͨ͠LabelΛ࣋ͨͳ͍Ϧιʔε͸ Prune͞Εͯ͠·͏ Kustomizeͷ commonLabels ͕࿀͍͠ ͕ɺKustomize͸ Not supported.. Kubernetes΁σϓϩΠ via kubectl 38
  39. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. HelmΛ࢖༻ͨ͠σϓϩΠ΋໪࿦Մೳ Local ChartΛར༻͢Δ৔߹ͷϛχϚϜ ࠨਤͰ͸ set Ͱ஋Λ౉͕ͨ͠ values Φϓγϣϯ΋͋ΓPathͰࢦఆՄೳ ֎෦Repository্ͷChartΛ࢖͏৔߹͸ɺ repository Ͱࢦఆ͠ chart ΛChart໊ʹ Kubernetes΁σϓϩΠ via Helm 39
  40. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. ݱঢ়BuildInͰ͸KustomizeʹରԠ͍ͯ͠ͳ͍ ͔͠͠Terraformಉ༷ʹlocal execػೳ͕͋Δ ͜ΕΛ༻͍Ε͹Kustomize͚ͩͰͳ͘ຆͲͷ Ϗϧυπʔϧͱ౷߹͢Δ͜ͱ͕Մೳ execΛ࢖͏ͱWaypointͷStateʹه࿥͞Εͳ͍ ૟আͷࡍ͸ݸผʹ࡟আ͍ͯ͘͠ඞཁ͕͋Δ Kubernetes΁σϓϩΠ via Kustomize 40
  41. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. ΍͸Γπʔϧͷࢥ૝͕ݩʑGitOpsΛҙࣝͨ͠੡඼Ͱ͸ͳ͍ͷͰɺ ArgoCD΍Flux CDͳͲͱൺ΂Δͱػೳ໘Ͱऑ͍෦෼͕͋Δ WaypointΛϝΠϯʹਾ͑ͯGitOpsؔ࿈Λஔ͖׵͑Δͷ͸ࠓͷஈ֊Ͱ͸·ͩ೉͍͠ ͨͩ͠։ൃνʔϜ͕Kubernetes্ͷطଘαʔϏεʹґଘ͢ΔίʔυΛಈ͍֬ͨ࣌͠ͳͲ αΫοͱσϓϩΠ͍ͨ͠ඇຊ൪؀ڥʹ͓͍ͯ͸े෼औΓೖΕΔ༨஍͕͋Δ Impression 41
  42. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. 42
  43. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Case1: Waypoint URL Service 43
  44. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. લฤͷSectionͰ͸׶͑ͯઆ໌Λආ͚͖ͯͨɺWaypointͷఏڙ͢ΔίΞαʔϏεͷ1ͭ ݴ͍ํΛม͑Ε͹ηʔϧεϙΠϯτͰ͋Γɺ·ͨۂऀͰ΋͋Δ WaypointΛ࢖༻͠URLΛ൐͏ΞϓϦΛϦϦʔε͢ΔͱLet’s EncryptͰTLSԽ͞Εͨɺ PublicͳαʔϏεΤϯυϙΠϯτ͕໰౴ແ༻Ͱެ։͞ΕΔ ݱঢ়͸։ൃ༻్͕ओͰຊ൪޲͚Ͱ͸ͳ͍ʢyetʣ Waypoint URL Service 44
  45. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. WEB API౳Λ࣮૷͢Δཱ৔͔ΒݟΔͱQA؀ڥ͕উखʹ্ཱ͕ͪΓศརͱݴ͑Δ ʢSidecar΍ServiceMeshͷAuth/AuthzʹཔΔઃܭͩͱதʑ೉͍͕͠ʣ ͨͩ͠ɺGitOpsͱͯ͠࢖༻͠ArgoCDͳΜ͔ΛϦϦʔε͢Δͱ ΋Εͳ͘؅ཧը໘͕ύϒϦοΫʹެ։͞Εͯ͠·͏ ͜ͷΑ͏ʹ޷·͘͠ͳ͍έʔε͕ଘࡏ͢Δͷ͸͔֬ͳͱ͜Ζ Waypoint URL Service 45
  46. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Project, AppϨϕϧͰͦΕͧΕ͜ͷػೳΛແޮʹ͢Δ͜ͱ͕Ͱ͖Δ σϑΥϧτͰ͸༗ޮ WaypointશମͰແޮʹ͍ͨ͠৔߹͸ waypoint server run ίϚϯυͰىಈ͢Δࡍʹ -url-enabled ϑϥάΛfalseʹ͢Δ͜ͱͰServerશମͰແޮʹͰ͖Δ -url-api prefixͳίϚϯυΦϓγϣϯ͸͍͔ͭ֬͘ೝͰ͖ΔͷͰࠓޙGitHub Pages΍ ΧελϜυϝΠϯͳͲରԠͰ͖Δ෯͕޿͕Ε͹Ұؾʹ࣮༻ੑ͕ग़ͯ͘Δ͔΋ Waypoint URL Service 46
  47. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Case2: GitHub App not supported 47
  48. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Waypoint ServerʹVCSͱͯ͠GitHubΛ઀ଓ͢Δ৔߹ɺαϙʔτ͞Ε͍ͯΔͷ͸ HTTPSϕʔεͷToken Auth͔SSH(22)઀ଓͷΈ ௨৴ཁ݅ͱͯ͠22൪ΛIn/Outڞʹ࠹͕Ε͍ͯͨΓ͢Δاۀ΋ଟ͍ ͜Μͳ࣌ͷͨΊʹGitHubͰ͸SSH over HTTPSΛ༻ҙ͍ͯ͠Δ͕Waypoint͸ඇରԠ ·ͨGitHubଆͰCAॺ໊ͷKeyར༻Λඞਢʹ͍ͯ͠ΔͱHTTPS͸ڐ༰͞ΕͣSSH͕ڧ੍͞ΕΔ ͜ΕΛbypass͠HTTPSͰΞΫηε͢Δʹ͸GitHub AppΛར༻͢Δ͔͠ͳ͍͕ɾɾ GitHub App not supported 48
  49. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. RepositoryͷURLઃఆʹInstallation IDϕʔεͷTokenΛ࢖༻͠Ͱͷ઀ଓ΋ࢼΈ͕ͨ Ұ൪ॳΊͷSFGΛऔΔஈ֊Ͱ HPHJU ʹ'PSCJEEFOΛฦ͞Εͯ͠·ͬͨ i.e., https://x-access-token:ghs_<token>@github.com/<orgname>/<reponame>.git ճආࡦͱͯ͠ݕূͷؒGitHub͔ΒActionsܦ༝ͰAWS CodeCommitʹ 1way sync͢ΔΑ͏ʹ͠Waypoint͔Βݟʹߦ͔ͤͨ GitHub App not supported 49
  50. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Appendix 50
  51. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. • Waypoint developers page https://developer.hashicorp.com/waypoint • Waypoint repository https://github.com/hashicorp/waypoint • Waypoint helm repository https://github.com/hashicorp/waypoint-helm • Waypoint official examples https://github.com/hashicorp/waypoint-examples • Waypoint plugin examples https://github.com/hashicorp/waypoint-plugin-examples Links 51
  52. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. • Page 5: Mr. Armon Dadger's profile picture https://twitter.com/armon/photo • Page 8: Waypoint Logo https://www.hashicorp.com/brand/downloads • Page 15: Waypoint Server Architecture https://developer.hashicorp.com/waypoint/docs/resources/internals/architecture • Page 16: Waypoint Runner Architecture https://developer.hashicorp.com/waypoint/docs/runner • Page 42: Waypoint Logo https://www.waypointproject.io/ Source of Hashicorp images 52
  53. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. Carbon https://carbon.now.sh/ Generate of snippet image 53
  54. Copyright © since 2016 Temp Holdings Co., Ltd. All Rights

    Reserved. Copyright © PERSOL HOLDINGS CO., LTD. All Rights Reserved. EOF 54