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

Cloud Nativeな俺のCI/CD環境 〜 GitLab x Rancher で夢見るイ...

Cloud Nativeな俺のCI/CD環境 〜 GitLab x Rancher で夢見るイケてる世界 〜

July Tech Festa 2018でShingo Kitayamaさんと一緒に発表したセッションのスライドです。

以下、セッションの説明文

「朝のシャワーを浴びているときに思いついたアイデアをその日の夕方までにサービスリリースする・・・。一昔前までは夢物語だった世界が、次のオリンピックまでには現実になるかもしれません。

変化する市場からの要求に迅速かつ柔軟に対応できるサービスを実現するには、Cloud Native Applicationの実践とそのアプリケーションの受け皿となる運用基盤が必要不可欠です。

本セッションでは、これらを夢で終わらせない解決策を紹介します。

Cloud Native Applicationの開発に必要不可欠なバージョン管理からコンテナのデプロイメントパイプラインを行うGitLab。Cloud Native Applicationの運用基盤であるKubernetesをマルチプラットフォームで管理できるRancher。

2つのイケてるOSSを掛け合わせた夢物語脱却のCI/CD環境を是非ご堪能ください。」

Masataka Tsukamoto

July 29, 2018
Tweet

More Decks by Masataka Tsukamoto

Other Decks in Technology

Transcript

  1. 2 Introduction Shingo Kitayama Company: Red Hat K.K. Role: Solution

    Architect Product: OpenShift Interest: KPP shkitayama spchildren
  2. Masataka Tsukamoto 3 Introduction Company: Hewlett-Packard Japan, Inc. Role: A

    full-swing batter against the ball my boss pitched. Product: OpenStack, Ansible, Rancher and many Cloud related products… Interest: MGN tsukaman tsukaman
  3.   !  %  '   $

     " &#    
  4.     0 • • • • •

    1 • • •    
  5.     1 • • • • •

    3 • • •    
  6. 17 KubernetesKubernetes containerd / cri-o / docker … Any Infrastructures

    OCI CRI Kubernetes Mesos Cloud Foundry DC/OS Pivotal CF Bluemix Docker OpenShift GKE AKS EKS Swarm Kubernetes         Kubernetes  … Managed Cloud Public Cloud Hybrid Cloud Private Cloud RKE
  7. Kubernetes     18 $#)& 1 1 

      +% '" 1 1 *!( 1 Kubernetes
  8. 19 Cloud Native Application Container Registry QuayDocker Trusted registry%<.06(HA Network

    OpenvSwitch4;("//&2)><.9(</:.<# Telemetry Heapster / Kibana / HawkularDB 9*)FG /)$: Security 5:,.0<'?C OAUTH / LDAP / RBAC4;("/HA Cluster Automation Kubernetes<)/:"8)+83&":HA Service Catalog 49$'7<1-$(@ KI!+;# Kubernetes?C   E =J: What is Kubernetes https://www.redhat.com/ja/topics/containers/what-is-kubernetes
  9.  Cloud Native  Build   Test Container Registry

    Deploy Staging Deploy Production Release Monitoring Helm Chart Repository Artifact Management Continuous Integration Version Control   Continuous Delivery/Deployment
  10.  Cloud Native  Build   Test Container Registry

    Deploy Staging Deploy Production Release Monitoring Helm Chart Repository Artifact Management Continuous Integration Version Control    Continuous Delivery/Deployment
  11. GitLab Continuous Integration Continuous Deployment Plan Create Verify Package Release

    Configure Monitor Communication Source Code Build Test Archive Deploy Update Analyze Complete DevOps “GitLab’s vision is to serve enterprise-scale, integrated software development teams that want to spend more time writing code and less time maintaining their tool chain.” 3 2
  12. GitLab Instance GitLab CI/CD -. GitLab CI/CD GitLab Repository GitLab

    Project 2 -. / 5 Test Environment Staging Environment Production Environment 2 -. 2 -. 2 -. Kubernetes Executor Kubernetes Kubernetes APIL e GitLab CI Pod d .gitlab-ci.yml service bi PDI Jobca I g d CP G l Executors AShell Executor ADocker Executor ASSH Executor AVirtualbox Executor KJKJ . .ca
  13. GitLab Instance GitLab CI/CD L / /2 6/ GitLab CI/CD

    GitLab Repository GitLab Project 2 - 2 Production Environment 2 / GitLab CI/CD Jobgc LPod Job v pl( yD P rD P)i utC LG JobgcLPodIgn a Pod J → a ob JobID gcDJ J Auto DevOps m DJ ed gcL . utC . Test Environment 2 / gcL . .
  14. 2 2 - 2 Test Environment Staging Environment Production Environment

    Kubernetes Integration GitLab a Kubernetes Kge8L b G a b D l I8 i(2018/06) IIntegration GKE Cluster via GCP Account Register Existing Cluster a hApplications(Pod) helm-tiller (Tiller a ) gitlab-runner Ingress Prometheus JupyterHub D D Kubernetes Integration - 2 2 GitLab CI/CD GitLab Repository - -- 2 GitLab Instance GitLab Project 2 2
  15.  Cloud Native    Deploy Staging Deploy Production

    Release Monitoring Artifact Management Continuous Integration    Continuous Delivery/Deployment GitLab Repository Helm Chart Repository Container Registry Build GitLab Kubernetes Integration Test GitLab CI/CD
  16.  Cloud Native     Deploy Staging Deploy

    Production Release Monitoring Artifact Management Continuous Integration    Continuous Delivery/Deployment GitLab Repository Helm Chart Repository Container Registry Build Test GitLab CI/CD GitLab Kubernetes Integration  Rancher
  17. Rancher  “Kubernetes is a powerful engine for running containers.

    With Rancher 2.0, manage all Kubernetes distros, all clusters, on all clouds. One sleek vehicle for a powerful engine.” ! !  Kubernetes   Deploy / Import    Web UI Catalog Logging CI/CD Monitoring Provisioning Authentication Security RBAC Policy Capacity Cost
  18.   #"!'$       

    (!'$%&/  Web UI'$   
  19.       Private Cloud Public Cloud

    Hybrid Cloud Any Kubernetes Environment Helm Chart     
  20. Helm Chart / 4 H D E HC Tiller Helm

    Client Helm Chart Repository Container Registry Helm Chart Service Deployment Application Container Kubernetes / / / / 4 1 44 / 4 /
  21. Rancher Catalog Tiller Helm Client Helm Chart Repository Container Registry

    Helm Chart Service Deployment Application Container Kubernetes / / / / 4 442 2 / 4 / Rancher Catalog Rancher Catalog    Web UI  
  22. Rancher Catalog / pt Rancher Chart Description app-readme.md > Rancher

    2.0 UIC m Readme charts/ Chart dn v Chart.yaml Helm Chart l question.yml > Rancher 2.0 UI d r v templates/ values.yml a h YAML o requirements.yml dn README.md Helm Readme <[ se] m < values.yaml icw Helm Chart Repository / ( 10 043 3 .) ( . 043) / :4 .
  23.  Cloud Native   Build   Test Container

    Registry Deploy Staging Deploy Production Release Monitoring Helm Chart Repository Continuous Integration Version Control    Continuous Delivery/Deployment  Rancher Catalog Kubernetes Management App Workload Management
  24.  Cloud Native!"(% # Build   Test Container Registry

    Deploy Staging Deploy Production Release Monitoring Helm Chart Repository Continuous Integration Version Control    Continuous Delivery/Deployment .+ Rancher Catalog Kubernetes Management App Workload Management $*Rancher Pipeline-)   '&,  
  25.      • 4 8 • •

    CI • 8 • k8s • • / •
  26. (   • 9 4 • 4 • CI

    • 4 9 4 • k8s • • / • "' $  #!& %
  27.  Cloud Native  Build   Test Deploy Staging

    Deploy Production Release Monitoring Continuous Integration Version Control    Continuous Delivery/Deployment Rancher Catalog GitLab Repository Helm Chart Repository Container Registry GitLab Kubernertes Integlation Gitlab CI/CD (Runner) Kubernetes Management App Workload Management
  28.  Kubernetes/Container 5 5 k8s 5 ”/ k8s 2 Gitlab

    1 k8s Integration ” 5 CI/CD k8s Easy ”/“ k8s Web UI 2 /