KEMBAR78
Oracle meetup kubernetes_171118 | PDF
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes
Container Native Applicaiton, Kubernetes
Jupil Hwang
@jupil_hwang
Sales Consultant, Cloud Infrastructure
18 NOV, 2017
Confidential – Oracle Internal/Restricted/Highly Restricted
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes ?????
Confidential – Oracle Internal/Restricted/Highly Restricted 2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• BEA Systems
• Oracle Corp.
– Middleware
– Open Source, Cloud Native Application
– DevRel
• Linux, Container / Docker, Kubernetes
• Blockchain, AI/ML
• Lifelong learner
Confidential – Oracle Internal/Restricted/Highly Restricted 3
jupil.hwang@gmail.com
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
in 2000
Confidential – Oracle Internal/Restricted/Highly Restricted 4
Linux Server
Apache TomcatLoadBalancer
Http/s
Http
StoreJDBC
Store
DB Link
Monolotic code base
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Legacy ???
Confidential – Oracle Internal/Restricted/Highly Restricted 5
ONLINE
Lateency Routed
Multi-Region
Replicated
Auto-Scaled
Data Replication
Data Synchronization
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Edge
Load
Balancer
Zuul
(Proxy Svc)
Playback
(Legacy Dev.)
API
(g/w)
Middle Tier & Platform
EVCache
Cassandra
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Container 기술의 대두
• Microservice Architecture & DevOps
• 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이
스를 제공하여 프로그램의 배포 및 관리를 단순하게 함
Confidential – Oracle Internal/Restricted/Highly Restricted 7
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Virtual Machines vs Containers
Confidential – Oracle Internal/Restricted/Highly Restricted 8
Type 1 Hypervisor, Type 2 Hypervisor, 반가상화
(Para-Virtualization), 전가상화 (Full-Virtualization)
etc ....
Xen, Kvm, VMware, Virtualbox etc...
격리 (isolation) + Resource Management
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 9
출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-2017-edition
Applicatoin on Bare Metal Applicatoin on Virtual Infrastructure Platform (IaaS)
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 10
출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-2017-edition
Applicatoin
on
Container Platform (CaaS)
on
Virtual Infrastructure Platform (IaaS)
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 11
출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-2017-edition
Actions
on
Fuction Platform (FaaS)
on
Container Platform (CaaS)
on
Virtual Infrastructure Platform (IaaS)
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Platform Spectrum
Confidential – Oracle Internal/Restricted/Highly Restricted 12
Infrastructure
Platform
(IaaS)
Virtual Machines
Disks
Networks
Firewalls
Container
Platform
(CaaS)
Containers
Volumes
IPs & Ports
Load Balancers
Application
Platform
(PaaS & aPaaS)
Apps
/tmp
80/443
Routes
Function
Platform
(FaaS)
Actions
/tmp
Triggers
Gateways
Software
Platform
(SaaS)
Whatever
You
Want
(to pay for)
Low Level
Flexibility
Abstraction High Level
Velocity
출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-2017-edition
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Docker 란?
• 손쉽게 Container기술을 사용할 수 있도록 도와 주는 소프트웨어
• 2013년 3월 처음 소개됨
– chroot(1979),BSD jail(2000),Solaris Zones(2004),LXC(2008)
• "Modern App Platform" - Build, Ship, Run
• 중요기반기술
– cgroups
– namespaces (Process ID, Mount,UTS,User ID,IPC, Network etc..)
– union-capable file system (OverlayFS, AuFS etc..)
Confidential – Oracle Internal/Restricted/Highly Restricted 13
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted *
Docker Workflow !!
출처: https://dzone.com/articles/docker-crash-course
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Developer
– Core Concepts
• Cluster
• Single Container
• Multi Container
– Service Discovery & LB
– Persistent Volumes
– Local development
• Ops
– Multiple master
– Scheduler
– Rules and constraints
– Monitoring
– Rolling Update
– Cloud/Commercial support
Container Orchestration
Confidential – Oracle Internal/Restricted/Highly Restricted 15
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Container
Orchestration
Confidential – Oracle Internal/Restricted/Highly Restricted 16
Scheduling
Resource Management
Service Management
출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-
2017-edition
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• 컨테이너 오케스트레이션 툴
• 2014년7월 Google에서 Borg & Omega 프로젝트를 발전하여 소개
• 2015년 7월 v1 발표 - Cloud Native Computing Foundation (CNCF) 기부,
2017년 현재 v1.8.1 Stable
Confidential – Oracle Internal/Restricted/Highly Restricted 17
Kubernetes
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Container Orchestration Adoption
Confidential – Oracle Internal/Restricted/Highly Restricted 18
출처: https://www.cncf.io/blog/2017/06/28/survey-shows-kubernetes-leading-orchestration-platform/
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
1300+ Contributors on
Github, 54K+ Commits
Kubernetes Growth
Confidential – Oracle Internal/Restricted/Highly Restricted 19
71%
• Enterprises using
Kubernetes to
manage and
orchestrate
containers
84%
• Using Kubernetes in
production
• Storage, Security,
Networking and
Complexity are cited
as the biggest
challenges of
deploying containersSOURCES: COREOS BLOG, Github.com, cncf.io
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes Architecture
Confidential – Oracle Internal/Restricted/Highly Restricted 20
Load Balancer | Routers | DNS
Kubernetes Applications
Infrastructure
Storage Machine Network
?? Block NFS VM Baremetal VPN L2 L3
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes
Architecture
Confidential – Oracle Internal/Restricted/Highly Restricted 21
출처: https://cdn.yongbok.net/ruo91/architecture/k8s/v1.1/kubernetes_architecture.png
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 22
Kubernetes Architecture
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 23
Kubernetes Architecture
Load Balancer
cAdvisor/Heapster
cAdvisor/Heapster
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - 노드
• Master 노드 --> Cluster control plane
– 클러스터에 대한 관리 역할
– API Server : RESTFul API를 이용해서 Client, Woker 노드와 통신
– Scheduler 및 Replication Controller
• Worker 노드
– 실제 Container가 실행되어 사용자가 사용할 수 있도록 서비스를 제공
• etcd 노드
– 분산 KVS
– K8s 클러스터의 모든 상태를 저장
– K8s API Object 저장
Confidential – Oracle Internal/Restricted/Highly Restricted 24
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - 등등
• Kubelet
– 각 노드에서 동작하는 Agent로, Container Runtime(docker, rkt..)로 연동
– 노드의 health check도 담당
• kube-Proxy
– 외부의 사용자 요청을 처리, 서비스들의 Load-Balancer
– iptables사용
• cAdvisor / Heapster
– 각 노드의 리소스 모니터링
• Ingress Controller
– L7 기반의 Load-Balancing 지원 (예, /foo vs /bar)
Confidential – Oracle Internal/Restricted/Highly Restricted 25
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• 동일한 Lifecycle을 가지는 하나
또는 여러개의 컨테이너들을 가
짐
• Pod당 하나의 IP
• Block Storage, Secret, Config 을
공유, container끼리는 localhost
로 통신가능
• Ephemeral
– Container가 재시작하더라도 Pod이
살아있는한 Shared volume은 유지
Kubernetes - Pod
Confidential – Oracle Internal/Restricted/Highly Restricted 26
Pod
Container
Container
Block Secret config
172.17.1.100
예) Nginx
예) Web Files
Dynamic IP
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - Pod
Confidential – Oracle Internal/Restricted/Highly Restricted 27
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - Pod
Confidential – Oracle Internal/Restricted/Highly Restricted 28
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - Replication Controller & Scheduler
Confidential – Oracle Internal/Restricted/Highly Restricted 29
출처: https://www.cncf.io/blog/2017/11/07/joe-beda-explains-inner-workings-kubernetes/
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - Replication Controller & Scheduler
Confidential – Oracle Internal/Restricted/Highly Restricted 30
master
Node
Node
Replication
Controller
Containers
Containers
Schedule
Schedule
Pods
Pods
......
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - Replication Controller & Scheduler
Confidential – Oracle Internal/Restricted/Highly Restricted 31
비슷한것으로는 ....
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• K8s의 모든 component는 Pod으
로 등록이 되며, 여러개의 Pods를
하나의 서비스로 관리
• component communication에
service를 사용
Kubernetes - Services
Confidential – Oracle Internal/Restricted/Highly Restricted 32
Pod
Pod
Service
Fixed, Virtual IP Address
DNS Integration
Update when Backends change
Dynamic IP address
Dynamic IP address
FrontEnd
Backend
Service 1
Service
Redis
Backend
Service 2
Service
Pod
Pod
Pod
Pod
Service
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - Service Discovery (예)
Confidential – Oracle Internal/Restricted/Highly Restricted 33
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - Service Discovery (예)
Confidential – Oracle Internal/Restricted/Highly Restricted 34
Node
Wildfly
Couchbase
Couchbase
Service
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - Service Discovery (예)
Confidential – Oracle Internal/Restricted/Highly Restricted 35
Node
Wildfly
Couchbase
Couchbase
Service
Wildfly
Couchbase
Wildfly
ReplicaSet
ReplicaSet
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - 기타
• Secret & ConfigMap
• Pet Set : stateful applications (예.클러스터링) 지원
• Labels : pod, service 등을 동일한 label로 관리 가능
• Deployments
– rolling update, rollback 등을 지원하는 pod, replica set
• Namespace
• Volume : emptyDir, NFS, iSCSI, GFS, CephFS etc....
• Persistent Volume : networked storage개념
Confidential – Oracle Internal/Restricted/Highly Restricted 36
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes - Volume
Confidential – Oracle Internal/Restricted/Highly Restricted 37
PersistentVolume PersistentVolumeClaim
Use Claim
claims are mounted as
volumes
Provision
Network Storage
PersistentVolume
Request Storage
PersistentVolumeClaim
1 2 3
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes Tools
• kubectl
–Kubernetes API의 CLI
–kubeconfig 파일에 정의된 정보를 사용 (cluster, context, security
etc..)
• kubectl create -f my-rc.yml
• kubectl create -f my-pod.yml -f my-service.yml
• kubectl create -f http://github.com/namoo4u/k8s/nginx.yml
• kubectl get pods
• kubectl get component -o wide
• kubectl get svc
Confidential – Oracle Internal/Restricted/Highly Restricted 38
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes Tools
• kubeadm
• helm
– Kube charts : curated applications
• minikube
– virtualbox 기반의 single node cluster 제공
– 가장 간편하게 kubernetes환경에서 개발/테스트를 할 수 있음.
• CoreOS-Kubernetes-Vagrant 환경
– https://github.com/coreos/coreos-kubernetes
Confidential – Oracle Internal/Restricted/Highly Restricted 39
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Oracle Linux Container Service
• kubeadm-setup.sh 제공
– /bin/kubeadm-setup.sh up
– /bin/kubeadm-setup.sh up --pod-network-cidr ip/netmask
– /bin/kubeadm-setup.sh down
– /bin/kubeadm-setup.sh join --token token master_ip:port
– /bin/kubeadm-setup.sh restart
– /bin/kubeadm-setup.sh stop
– /bin/kubeadm-setup.sh backup directory
– /bin/kubeadm-setup.sh restore backup-file.tar
Confidential – Oracle Internal/Restricted/Highly Restricted 40
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes on Baremetal
Confidential – Oracle Internal/Restricted/Highly Restricted 41
출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-2017-edition
Actions
on
Fuction Platform (FaaS)
on
Container Platform (CaaS)
on
Baremetal
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Kubernetes Installer (OCI환경, Terraform)
Confidential – Oracle Internal/Restricted/Highly Restricted 42
• 오라클에서 OCI환경에서 Kubernetes를 쉽게 구
성하기 위해서 개발
• 오픈소스
– Github : https:/github.com/oracle/terraform-
kubernetes-installer
• 주요기능
– OCI tenancy 와 compartment에 Kubernetes 클러스
터를 바로 구성
– VCN, subnets, 로드밸런서 그리고 인스턴스 생성
– 클러스터를 위한 노드의 종류나 수 지정 가능
– 필요시 클러스터 크기/수 조정 가능
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Container Pipeline, Container Engine
잠시만 보고 가시죠
Confidential – Oracle Internal/Restricted/Highly Restricted 43
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Oracle Cloud Platform - 50s+
Confidential – Oracle Internal/Restricted/Highly Restricted 44
Compute (OCI, VM, Containers) Network (VCN, LB, CDN, DNS, FC) Storage (Local, Block, Object)
Infrastructure as a Service
Internet of
Things
Database
COMMON
SERVICES Continuous Delivery
(Developer/Container Pipelines)
IdentityAPM/Log
Analytics
API Catalog/
Management
INTEGRATION
SERVICES
DATA
SERVICES Integration SOA
BACK-END
SERVICES MobileApplication
Container
Java SDKs
(3rd Party, JET)
App Builder
FRONT-END
TOOLINGFunctions
F(x)
Container Cloud
(Docker, Orchestration)
Event Hub
(Kafka) Cloud
Messaging
Cloud
Application
Express
Mobile
Accelerator
EE
Big DataData HubMySQL
B
Global Infrastructure (29 Regions WW)
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Container Native Application Development Platform
Confidential – Oracle Internal/Restricted/Highly Restricted 45
Managed Kubernetes
Open Service BrokerEvent ManagementAPI Registry
Foo1 Foo2
ISTIO
Diagnostics/Monitoring
ISTIO
Developer
Cloud
Prometheus
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Service Mesh : istio
• 클러스터내의 Container들 네트워크는 monitored,
managed,controlled 되어야 함
• Side Car 패턴을 통해서 Application code 의 변경없이도 Microservice
Architecture 의 다양한 필수 기능(Service discovery, Load balancing,
Circuit Breaker, Monitoring, Service-to-service authentication 등)을 제
공
---> Traffic Management
• kubectl apply -f <(istioctl kube-inject -f samples/sleep/sleep.yaml)
Confidential – Oracle Internal/Restricted/Highly Restricted 46
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Service Mesh : istio
• 자세한 것은 다음달에..
Confidential – Oracle Internal/Restricted/Highly Restricted 47
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Oracle Cloud Native Application Development Platform
Integrated Suite of Container Native Capabilities
Container
Functions
Open source, cloud
neutral, community
driven functions as a
Service for any language,
best of class for Java
Container
Microservices
A collection of services,
frameworks and libraries
for the modern cloud
developer; based on
Cloud Native Compute
Foundation – Istio/Envoy
Container
Pipelines
A market leading solution
for application lifecycle
management with a
Docker centric product
view
Container
Engine
Fully managed container
service based on
Kubernetes running on
Oracle Cloud
Infrastructure Bare Metal
Container
Diagnostics
Unparalleled real-time
observability and
diagnostics for large scale
distributed Java systems
fn
Build --- Deploy --- Operate
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Q&A
Confidential – Oracle Internal/Restricted/Highly Restricted 49
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
See you Again !!!
Confidential – Oracle Internal/Restricted/Highly Restricted 50

Oracle meetup kubernetes_171118

  • 1.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes Container Native Applicaiton, Kubernetes Jupil Hwang @jupil_hwang Sales Consultant, Cloud Infrastructure 18 NOV, 2017 Confidential – Oracle Internal/Restricted/Highly Restricted
  • 2.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes ????? Confidential – Oracle Internal/Restricted/Highly Restricted 2
  • 3.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | • BEA Systems • Oracle Corp. – Middleware – Open Source, Cloud Native Application – DevRel • Linux, Container / Docker, Kubernetes • Blockchain, AI/ML • Lifelong learner Confidential – Oracle Internal/Restricted/Highly Restricted 3 jupil.hwang@gmail.com
  • 4.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | in 2000 Confidential – Oracle Internal/Restricted/Highly Restricted 4 Linux Server Apache TomcatLoadBalancer Http/s Http StoreJDBC Store DB Link Monolotic code base
  • 5.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Legacy ??? Confidential – Oracle Internal/Restricted/Highly Restricted 5 ONLINE Lateency Routed Multi-Region Replicated Auto-Scaled Data Replication Data Synchronization
  • 6.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Edge Load Balancer Zuul (Proxy Svc) Playback (Legacy Dev.) API (g/w) Middle Tier & Platform EVCache Cassandra
  • 7.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Container 기술의 대두 • Microservice Architecture & DevOps • 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이 스를 제공하여 프로그램의 배포 및 관리를 단순하게 함 Confidential – Oracle Internal/Restricted/Highly Restricted 7
  • 8.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Virtual Machines vs Containers Confidential – Oracle Internal/Restricted/Highly Restricted 8 Type 1 Hypervisor, Type 2 Hypervisor, 반가상화 (Para-Virtualization), 전가상화 (Full-Virtualization) etc .... Xen, Kvm, VMware, Virtualbox etc... 격리 (isolation) + Resource Management
  • 9.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 9 출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-2017-edition Applicatoin on Bare Metal Applicatoin on Virtual Infrastructure Platform (IaaS)
  • 10.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 10 출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-2017-edition Applicatoin on Container Platform (CaaS) on Virtual Infrastructure Platform (IaaS)
  • 11.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 11 출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-2017-edition Actions on Fuction Platform (FaaS) on Container Platform (CaaS) on Virtual Infrastructure Platform (IaaS)
  • 12.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Platform Spectrum Confidential – Oracle Internal/Restricted/Highly Restricted 12 Infrastructure Platform (IaaS) Virtual Machines Disks Networks Firewalls Container Platform (CaaS) Containers Volumes IPs & Ports Load Balancers Application Platform (PaaS & aPaaS) Apps /tmp 80/443 Routes Function Platform (FaaS) Actions /tmp Triggers Gateways Software Platform (SaaS) Whatever You Want (to pay for) Low Level Flexibility Abstraction High Level Velocity 출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-2017-edition
  • 13.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Docker 란? • 손쉽게 Container기술을 사용할 수 있도록 도와 주는 소프트웨어 • 2013년 3월 처음 소개됨 – chroot(1979),BSD jail(2000),Solaris Zones(2004),LXC(2008) • "Modern App Platform" - Build, Ship, Run • 중요기반기술 – cgroups – namespaces (Process ID, Mount,UTS,User ID,IPC, Network etc..) – union-capable file system (OverlayFS, AuFS etc..) Confidential – Oracle Internal/Restricted/Highly Restricted 13
  • 14.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted * Docker Workflow !! 출처: https://dzone.com/articles/docker-crash-course
  • 15.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | • Developer – Core Concepts • Cluster • Single Container • Multi Container – Service Discovery & LB – Persistent Volumes – Local development • Ops – Multiple master – Scheduler – Rules and constraints – Monitoring – Rolling Update – Cloud/Commercial support Container Orchestration Confidential – Oracle Internal/Restricted/Highly Restricted 15
  • 16.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Container Orchestration Confidential – Oracle Internal/Restricted/Highly Restricted 16 Scheduling Resource Management Service Management 출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars- 2017-edition
  • 17.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | • 컨테이너 오케스트레이션 툴 • 2014년7월 Google에서 Borg & Omega 프로젝트를 발전하여 소개 • 2015년 7월 v1 발표 - Cloud Native Computing Foundation (CNCF) 기부, 2017년 현재 v1.8.1 Stable Confidential – Oracle Internal/Restricted/Highly Restricted 17 Kubernetes
  • 18.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Container Orchestration Adoption Confidential – Oracle Internal/Restricted/Highly Restricted 18 출처: https://www.cncf.io/blog/2017/06/28/survey-shows-kubernetes-leading-orchestration-platform/
  • 19.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 1300+ Contributors on Github, 54K+ Commits Kubernetes Growth Confidential – Oracle Internal/Restricted/Highly Restricted 19 71% • Enterprises using Kubernetes to manage and orchestrate containers 84% • Using Kubernetes in production • Storage, Security, Networking and Complexity are cited as the biggest challenges of deploying containersSOURCES: COREOS BLOG, Github.com, cncf.io
  • 20.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes Architecture Confidential – Oracle Internal/Restricted/Highly Restricted 20 Load Balancer | Routers | DNS Kubernetes Applications Infrastructure Storage Machine Network ?? Block NFS VM Baremetal VPN L2 L3
  • 21.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes Architecture Confidential – Oracle Internal/Restricted/Highly Restricted 21 출처: https://cdn.yongbok.net/ruo91/architecture/k8s/v1.1/kubernetes_architecture.png
  • 22.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 22 Kubernetes Architecture
  • 23.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 23 Kubernetes Architecture Load Balancer cAdvisor/Heapster cAdvisor/Heapster
  • 24.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - 노드 • Master 노드 --> Cluster control plane – 클러스터에 대한 관리 역할 – API Server : RESTFul API를 이용해서 Client, Woker 노드와 통신 – Scheduler 및 Replication Controller • Worker 노드 – 실제 Container가 실행되어 사용자가 사용할 수 있도록 서비스를 제공 • etcd 노드 – 분산 KVS – K8s 클러스터의 모든 상태를 저장 – K8s API Object 저장 Confidential – Oracle Internal/Restricted/Highly Restricted 24
  • 25.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - 등등 • Kubelet – 각 노드에서 동작하는 Agent로, Container Runtime(docker, rkt..)로 연동 – 노드의 health check도 담당 • kube-Proxy – 외부의 사용자 요청을 처리, 서비스들의 Load-Balancer – iptables사용 • cAdvisor / Heapster – 각 노드의 리소스 모니터링 • Ingress Controller – L7 기반의 Load-Balancing 지원 (예, /foo vs /bar) Confidential – Oracle Internal/Restricted/Highly Restricted 25
  • 26.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | • 동일한 Lifecycle을 가지는 하나 또는 여러개의 컨테이너들을 가 짐 • Pod당 하나의 IP • Block Storage, Secret, Config 을 공유, container끼리는 localhost 로 통신가능 • Ephemeral – Container가 재시작하더라도 Pod이 살아있는한 Shared volume은 유지 Kubernetes - Pod Confidential – Oracle Internal/Restricted/Highly Restricted 26 Pod Container Container Block Secret config 172.17.1.100 예) Nginx 예) Web Files Dynamic IP
  • 27.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - Pod Confidential – Oracle Internal/Restricted/Highly Restricted 27
  • 28.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - Pod Confidential – Oracle Internal/Restricted/Highly Restricted 28
  • 29.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - Replication Controller & Scheduler Confidential – Oracle Internal/Restricted/Highly Restricted 29 출처: https://www.cncf.io/blog/2017/11/07/joe-beda-explains-inner-workings-kubernetes/
  • 30.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - Replication Controller & Scheduler Confidential – Oracle Internal/Restricted/Highly Restricted 30 master Node Node Replication Controller Containers Containers Schedule Schedule Pods Pods ......
  • 31.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - Replication Controller & Scheduler Confidential – Oracle Internal/Restricted/Highly Restricted 31 비슷한것으로는 ....
  • 32.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | • K8s의 모든 component는 Pod으 로 등록이 되며, 여러개의 Pods를 하나의 서비스로 관리 • component communication에 service를 사용 Kubernetes - Services Confidential – Oracle Internal/Restricted/Highly Restricted 32 Pod Pod Service Fixed, Virtual IP Address DNS Integration Update when Backends change Dynamic IP address Dynamic IP address FrontEnd Backend Service 1 Service Redis Backend Service 2 Service Pod Pod Pod Pod Service
  • 33.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - Service Discovery (예) Confidential – Oracle Internal/Restricted/Highly Restricted 33
  • 34.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - Service Discovery (예) Confidential – Oracle Internal/Restricted/Highly Restricted 34 Node Wildfly Couchbase Couchbase Service
  • 35.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - Service Discovery (예) Confidential – Oracle Internal/Restricted/Highly Restricted 35 Node Wildfly Couchbase Couchbase Service Wildfly Couchbase Wildfly ReplicaSet ReplicaSet
  • 36.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - 기타 • Secret & ConfigMap • Pet Set : stateful applications (예.클러스터링) 지원 • Labels : pod, service 등을 동일한 label로 관리 가능 • Deployments – rolling update, rollback 등을 지원하는 pod, replica set • Namespace • Volume : emptyDir, NFS, iSCSI, GFS, CephFS etc.... • Persistent Volume : networked storage개념 Confidential – Oracle Internal/Restricted/Highly Restricted 36
  • 37.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes - Volume Confidential – Oracle Internal/Restricted/Highly Restricted 37 PersistentVolume PersistentVolumeClaim Use Claim claims are mounted as volumes Provision Network Storage PersistentVolume Request Storage PersistentVolumeClaim 1 2 3
  • 38.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes Tools • kubectl –Kubernetes API의 CLI –kubeconfig 파일에 정의된 정보를 사용 (cluster, context, security etc..) • kubectl create -f my-rc.yml • kubectl create -f my-pod.yml -f my-service.yml • kubectl create -f http://github.com/namoo4u/k8s/nginx.yml • kubectl get pods • kubectl get component -o wide • kubectl get svc Confidential – Oracle Internal/Restricted/Highly Restricted 38
  • 39.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes Tools • kubeadm • helm – Kube charts : curated applications • minikube – virtualbox 기반의 single node cluster 제공 – 가장 간편하게 kubernetes환경에서 개발/테스트를 할 수 있음. • CoreOS-Kubernetes-Vagrant 환경 – https://github.com/coreos/coreos-kubernetes Confidential – Oracle Internal/Restricted/Highly Restricted 39
  • 40.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Oracle Linux Container Service • kubeadm-setup.sh 제공 – /bin/kubeadm-setup.sh up – /bin/kubeadm-setup.sh up --pod-network-cidr ip/netmask – /bin/kubeadm-setup.sh down – /bin/kubeadm-setup.sh join --token token master_ip:port – /bin/kubeadm-setup.sh restart – /bin/kubeadm-setup.sh stop – /bin/kubeadm-setup.sh backup directory – /bin/kubeadm-setup.sh restore backup-file.tar Confidential – Oracle Internal/Restricted/Highly Restricted 40
  • 41.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes on Baremetal Confidential – Oracle Internal/Restricted/Highly Restricted 41 출처: https://www.slideshare.net/KarlIsenberg/container-orchestration-wars-2017-edition Actions on Fuction Platform (FaaS) on Container Platform (CaaS) on Baremetal
  • 42.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Kubernetes Installer (OCI환경, Terraform) Confidential – Oracle Internal/Restricted/Highly Restricted 42 • 오라클에서 OCI환경에서 Kubernetes를 쉽게 구 성하기 위해서 개발 • 오픈소스 – Github : https:/github.com/oracle/terraform- kubernetes-installer • 주요기능 – OCI tenancy 와 compartment에 Kubernetes 클러스 터를 바로 구성 – VCN, subnets, 로드밸런서 그리고 인스턴스 생성 – 클러스터를 위한 노드의 종류나 수 지정 가능 – 필요시 클러스터 크기/수 조정 가능
  • 43.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Container Pipeline, Container Engine 잠시만 보고 가시죠 Confidential – Oracle Internal/Restricted/Highly Restricted 43
  • 44.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Oracle Cloud Platform - 50s+ Confidential – Oracle Internal/Restricted/Highly Restricted 44 Compute (OCI, VM, Containers) Network (VCN, LB, CDN, DNS, FC) Storage (Local, Block, Object) Infrastructure as a Service Internet of Things Database COMMON SERVICES Continuous Delivery (Developer/Container Pipelines) IdentityAPM/Log Analytics API Catalog/ Management INTEGRATION SERVICES DATA SERVICES Integration SOA BACK-END SERVICES MobileApplication Container Java SDKs (3rd Party, JET) App Builder FRONT-END TOOLINGFunctions F(x) Container Cloud (Docker, Orchestration) Event Hub (Kafka) Cloud Messaging Cloud Application Express Mobile Accelerator EE Big DataData HubMySQL B Global Infrastructure (29 Regions WW)
  • 45.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Container Native Application Development Platform Confidential – Oracle Internal/Restricted/Highly Restricted 45 Managed Kubernetes Open Service BrokerEvent ManagementAPI Registry Foo1 Foo2 ISTIO Diagnostics/Monitoring ISTIO Developer Cloud Prometheus
  • 46.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Service Mesh : istio • 클러스터내의 Container들 네트워크는 monitored, managed,controlled 되어야 함 • Side Car 패턴을 통해서 Application code 의 변경없이도 Microservice Architecture 의 다양한 필수 기능(Service discovery, Load balancing, Circuit Breaker, Monitoring, Service-to-service authentication 등)을 제 공 ---> Traffic Management • kubectl apply -f <(istioctl kube-inject -f samples/sleep/sleep.yaml) Confidential – Oracle Internal/Restricted/Highly Restricted 46
  • 47.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Service Mesh : istio • 자세한 것은 다음달에.. Confidential – Oracle Internal/Restricted/Highly Restricted 47
  • 48.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Oracle Cloud Native Application Development Platform Integrated Suite of Container Native Capabilities Container Functions Open source, cloud neutral, community driven functions as a Service for any language, best of class for Java Container Microservices A collection of services, frameworks and libraries for the modern cloud developer; based on Cloud Native Compute Foundation – Istio/Envoy Container Pipelines A market leading solution for application lifecycle management with a Docker centric product view Container Engine Fully managed container service based on Kubernetes running on Oracle Cloud Infrastructure Bare Metal Container Diagnostics Unparalleled real-time observability and diagnostics for large scale distributed Java systems fn Build --- Deploy --- Operate
  • 49.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Q&A Confidential – Oracle Internal/Restricted/Highly Restricted 49
  • 50.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | See you Again !!! Confidential – Oracle Internal/Restricted/Highly Restricted 50