[IBM Cloud] Introduction to Containers, Kubernetes, and OpenShift

2021. 1. 21. 07:00IBM C:LOUDERs

728x90

학습목표

  • Containers, Kubernetes, Openshift, YAML, Istio 를 이해하고 학습


Module 1 - Understanding the Benefits of Containers


Module 2 - Understanding Kubernetes Architecture

  • Kubernetes의 배치는 "Cluster" 라고 부릅니다.
  • 이 그림의 왼편에는 Control Plane , 우측에는 Node 들이 있습니다.
  • CP에서 내린 결정의 예는, 스케줄링, 새 리소스 할당 등이 있습니다.

 

  • API 서버 : 클러스터의 모든 통신은 이 API를 사용합니다.
  • etcd : Key-value 저장소
  • Scheduler : 새로 생성된 Pod를 Node에 할당 시킵니다. Cluster 내부의 워크로드를 실행할 위치를 결정합니다.
  • Controller Mng : Ctrl Process 를 실행합니다. (Monitoring)
  • 클라우드 컨트롤러 : 쿠버네티스 컨트롤러와 상호작용 합니다.

 

  • Node : CP에 의해 관리되고, Pod를 실행할 수 있습니다.
    • 사용자 App이 Node에서 실행 됩니다. 
    • Node는 Kubernetes에서 생성되는에 아니라, Cloud Provider에 의해 생성됩니다
  • Kublet : API 서버와 통신합니다. 새 Pod를 수신합니다.
    • Container Runtime 을 사용합니다.
      • Container Runtime : 이미지를 다운로드, 컨테이너를 실행

Kubernetes 개체의 예로는 Pods, 네임스페이스, Deployment, ConfigMaps 및 볼륨이 있습니다.

작업을 수행하는 가장 일반적인 방법은 "kubectl" 명령줄 인터페이스를 사용하는 것입니다.
CLI는 사용자를 대신하여 필요한 Kubernetes API 호출을 수행합니다.

  • 네임스페이스를 사용하여 하나의 클러스터를 여러 개의 고유한 클러스터로 표시할 수 있습니다
  • 레이블 선택기는 개체 집합을 식별할 수 있습니다.

  • Pod : Kubernetes의 최소 단위
  • ReplicaSet : Maintain set of Pods
  • Deployments : Update for Pods & ReplicaSets

 

  •  kubectl create -f nginx.yaml :  It creates an object using the details in the nginx.yaml file. 


Module 3 - Managing Applications with Kubernetes

  • ReplicaSet : Scale App to meet increasing demand


  • Autoscaling : ReplicaSet은 여러개의 Pod을 만드는 좋은 방법이지만, 우리는 항상 많은 수의 Pod을 원하는게 아니죠. 수요에 따라 공급을 적절히 조절할 수 있어야 합니다


  • Rolling Update : ReplicaSet와 Autoscaling은 서비스 중단을 최소화 하고, scale-out을 하는데 쓰이죠.
    • 롤링 업데이트를 통해, 변경사항을 자동으로 롤 아웃 할 수 있습니다 (배포)
    • 문제가 발생할 경우 roll-back 할 수 있습니다.



 


Module 4 - The Kubernetes Ecosystem

https://github.com/cncf/trailmap

 

cncf/trailmap

🗺TrailMap files from the cncf/landscape repo. Contribute to cncf/trailmap development by creating an account on GitHub.

github.com

https://landscape.cncf.io/

 

CNCF Cloud Native Interactive Landscape

This landscape is intended as a map through the previously uncharted terrain of cloud native technologies. There are many routes to deploying a cloud native application, with CNCF Projects representing a particularly well-traveled path.

landscape.cncf.io