source : http://www.opennaru.com/opensource/kubernetes/
Kubernetes는 컨테이너화된 애플리케이션(Containerized Application)의 배포, 확장 그리고 관리를 할 수 있는 오픈 소스 컨테이너 오케스트레이션 시스템입니다.
쿠버네티스는 구글 엔지니어들이 개발하고 설계한 플랫폼으로서 사내에서 이용하던 컨테이너 클러스터 관리 도구인 “Borg”의 아이디어를 바탕으로 만들어진 오픈소스 소프트웨어입니다.
구글은 쿠버네티스의 원천이 되는 Borg를 수년 동안 개발하고 운영하면서 축적된 경험을 바탕으로 쿠버네티스를 오픈소스 프로젝트로 만들어 었습니다.
Author: Oleg Chunikhin, www.eastbanctech.com
Kubernetes is a portable open source system for managing and orchestrating containerized cluster applications. Kubernetes solves a number of DevOps related problems out of the box in a simple and unified way – rolling updates and update rollback, canary deployment and other complicated deployment scenarios, scaling, load balancing, service discovery, logging, monitoring, persistent storage management, and much more. You will learn how in less than 30 minutes a reliable self-healing production-ready Kubernetes cluster may be deployed on AWS and used to host and operate multiple environments and applications.
데브시스터즈의 Cookie Run: OvenBreak 에 적용된 Kubernetes 기반 다중 개발 서버 환경 구축 시스템에 대한 발표입니다.
Container orchestration 기반 개발 환경 구축 시스템의 필요성과, 왜 Kubernetes를 선택했는지, Kubernetes의 개념과 유용한 기능들을 다룹니다. 아울러 구축한 시스템에 대한 데모와, 작업했던 항목들에 대해 리뷰합니다.
*NDC17 발표에서는 데모 동영상을 사용했으나, 슬라이드 캡쳐로 대신합니다.
source : http://www.opennaru.com/opensource/kubernetes/
Kubernetes는 컨테이너화된 애플리케이션(Containerized Application)의 배포, 확장 그리고 관리를 할 수 있는 오픈 소스 컨테이너 오케스트레이션 시스템입니다.
쿠버네티스는 구글 엔지니어들이 개발하고 설계한 플랫폼으로서 사내에서 이용하던 컨테이너 클러스터 관리 도구인 “Borg”의 아이디어를 바탕으로 만들어진 오픈소스 소프트웨어입니다.
구글은 쿠버네티스의 원천이 되는 Borg를 수년 동안 개발하고 운영하면서 축적된 경험을 바탕으로 쿠버네티스를 오픈소스 프로젝트로 만들어 었습니다.
Author: Oleg Chunikhin, www.eastbanctech.com
Kubernetes is a portable open source system for managing and orchestrating containerized cluster applications. Kubernetes solves a number of DevOps related problems out of the box in a simple and unified way – rolling updates and update rollback, canary deployment and other complicated deployment scenarios, scaling, load balancing, service discovery, logging, monitoring, persistent storage management, and much more. You will learn how in less than 30 minutes a reliable self-healing production-ready Kubernetes cluster may be deployed on AWS and used to host and operate multiple environments and applications.
데브시스터즈의 Cookie Run: OvenBreak 에 적용된 Kubernetes 기반 다중 개발 서버 환경 구축 시스템에 대한 발표입니다.
Container orchestration 기반 개발 환경 구축 시스템의 필요성과, 왜 Kubernetes를 선택했는지, Kubernetes의 개념과 유용한 기능들을 다룹니다. 아울러 구축한 시스템에 대한 데모와, 작업했던 항목들에 대해 리뷰합니다.
*NDC17 발표에서는 데모 동영상을 사용했으나, 슬라이드 캡쳐로 대신합니다.
Kubernetes for Beginners: An Introductory GuideBytemark
An introduction to Kubernetes for beginners. Includes the definition, architecture, benefits and misconceptions of Kubernetes. Written in plain English, ideal for both developers and non-developers who are new to Kubernetes.
Find out more about Kubernetes at Bytemark here: https://www.bytemark.co.uk/managed-kubernetes/
Kubernetes는 전세계 조직의 96%가 이미 사용 중이거나 검토 중인 오픈소스 기술입니다. 클라우드 시장은 IaaS에서 PaaS로 그 중심이 이동하고 있으며, PaaS 시장은 2026년까지 연평균 19.6% 성장률을 기록할 것으로 전망되고 있습니다.
Kubernetes를 기반으로 애플리케이션을 손쉽게 배포하고 자동화된 운영 관리는 제공하는 PaaS 솔루션, Playce Kube를 소개합니다.
다양한 컴포넌트를 유기적으로 결합한 최적의 플랫폼으로 유연한 클라우드 네이티브 애플리케이션을 위한 환경을 제공합니다.
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
네트워크 엔지니어에게 왜 쿠버네티스가 필요한지 설명하는 내용입니다.
영상은 아래의 링크에서 제공됩니다. https://www.inflearn.com/course/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EC%89%BD%EA%B2%8C%EC%8B%9C%EC%9E%91/lecture/97562
An overview of the Kubernetes architectureIgor Sfiligoi
This talk provides a 101 introdution to Kubernetes from a user point of view.
Aimed at service providers, it was presented at the GPN Annual Meeting 2019. https://conferences.k-state.edu/gpn/
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
[Agenda]
*토크쇼 주제: Cloud Native를 위한 컨테이너 플랫폼 구현과 활용 이야기
1. 시장 및 기술동향 소개 & Container & Kubernetes 소개
2. Red Hat OpenShift를 왜 써야 할까요?
3. OpenShift Infra 구성 방안은 어떻게 되나요?
4. OpenShift와 Kubernetes의 주요 차이점은 무엇일까요?
5. 완전한 오픈소스 기반 OpenShift로 PaaS를 빠르게 구축이 가능 하나요?
6.컨테이너플랫폼의 운영을 효율적으로 하기위한 표준화에는 어떤 것이 필요할까요?
7. Red Hat OpenShift를 이용하여 기존의 시스템을 마이그레이션 하는 방법은 무엇인가요?
8. 개발자와 운영자가 일을 수월하게 할 수 있도록 도움을 준다고 하는데 어떠한 부분인가요?
9. Red Hat OpenShift 구축 성공 사례가 있나요?
Deploying your first application with KubernetesOVHcloud
Find out how to deploy your first application with Kubernetes on the OVH cloud, and direct questions to the team responsible for our upcoming Kubernetes as-a-Service solution.
In this session, we will discuss the architecture of a Kubernetes cluster. we will go through all the master and worker components of a kubernetes cluster. We will also discuss the basic terminology of Kubernetes cluster such as Pods, Deployments, Service etc. We will also cover networking inside Kuberneets. In the end, we will discuss options available for the setup of a Kubernetes cluster.
Kubernetes for Beginners: An Introductory GuideBytemark
An introduction to Kubernetes for beginners. Includes the definition, architecture, benefits and misconceptions of Kubernetes. Written in plain English, ideal for both developers and non-developers who are new to Kubernetes.
Find out more about Kubernetes at Bytemark here: https://www.bytemark.co.uk/managed-kubernetes/
Kubernetes는 전세계 조직의 96%가 이미 사용 중이거나 검토 중인 오픈소스 기술입니다. 클라우드 시장은 IaaS에서 PaaS로 그 중심이 이동하고 있으며, PaaS 시장은 2026년까지 연평균 19.6% 성장률을 기록할 것으로 전망되고 있습니다.
Kubernetes를 기반으로 애플리케이션을 손쉽게 배포하고 자동화된 운영 관리는 제공하는 PaaS 솔루션, Playce Kube를 소개합니다.
다양한 컴포넌트를 유기적으로 결합한 최적의 플랫폼으로 유연한 클라우드 네이티브 애플리케이션을 위한 환경을 제공합니다.
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
네트워크 엔지니어에게 왜 쿠버네티스가 필요한지 설명하는 내용입니다.
영상은 아래의 링크에서 제공됩니다. https://www.inflearn.com/course/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EC%89%BD%EA%B2%8C%EC%8B%9C%EC%9E%91/lecture/97562
An overview of the Kubernetes architectureIgor Sfiligoi
This talk provides a 101 introdution to Kubernetes from a user point of view.
Aimed at service providers, it was presented at the GPN Annual Meeting 2019. https://conferences.k-state.edu/gpn/
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
[Agenda]
*토크쇼 주제: Cloud Native를 위한 컨테이너 플랫폼 구현과 활용 이야기
1. 시장 및 기술동향 소개 & Container & Kubernetes 소개
2. Red Hat OpenShift를 왜 써야 할까요?
3. OpenShift Infra 구성 방안은 어떻게 되나요?
4. OpenShift와 Kubernetes의 주요 차이점은 무엇일까요?
5. 완전한 오픈소스 기반 OpenShift로 PaaS를 빠르게 구축이 가능 하나요?
6.컨테이너플랫폼의 운영을 효율적으로 하기위한 표준화에는 어떤 것이 필요할까요?
7. Red Hat OpenShift를 이용하여 기존의 시스템을 마이그레이션 하는 방법은 무엇인가요?
8. 개발자와 운영자가 일을 수월하게 할 수 있도록 도움을 준다고 하는데 어떠한 부분인가요?
9. Red Hat OpenShift 구축 성공 사례가 있나요?
Deploying your first application with KubernetesOVHcloud
Find out how to deploy your first application with Kubernetes on the OVH cloud, and direct questions to the team responsible for our upcoming Kubernetes as-a-Service solution.
In this session, we will discuss the architecture of a Kubernetes cluster. we will go through all the master and worker components of a kubernetes cluster. We will also discuss the basic terminology of Kubernetes cluster such as Pods, Deployments, Service etc. We will also cover networking inside Kuberneets. In the end, we will discuss options available for the setup of a Kubernetes cluster.
[ CB-Ladybug - 멀티클라우드 애플리케이션 실행환경 통합 관리 (Multi-Cloud Application Execution Environment Integration Management) ]
- CB-Ladybug 개요 및 구조
- CB-Ladybug 개발 방향 및 제공 서비스
- CB-Ladybug 특징 및 기대 효과
- CB-Ladybug 구조 및 기술 현황
- CB-Ladybug 개발 로드맵
# 발표영상(YouTube) : https://youtu.be/VDns6ZhiwLs
---------------------------------------------------------------------------------------------
# Cloud-Barista Community Homepage : https://cloud-barista.github.io
# Cloud-Barista Community GitHub : https://github.com/cloud-barista
# Cloud-Barista YouTube channel : https://youtube.com/@cloud-barista
# Cloud-Barista SlideShare : https://cloud-barista.github.io/slideshare
2021년 11월 18일(목)
- 14:00 ~ 15:00 MySQL Operator for Kubernetes
: Kubernetes 환경에서 MySQL에 대한 더 쉬운 운영
- 15:00 ~ 15:15 MySQL HA and Auto-Failover
: MySQL replication과 오픈소스 MHA를 통한 고가용성 확보
https://cncg-kr.net/ 에서 발표한 내용입니다.
IT 서비스를 구성하는데에는 다양한 자원들(Baremetal server, Virtual machine, network switch, database, 등)이 필요합니다. 이런 자원들은 각각의 관리자등을 통해서 일반적으로 각기 다른 방법들로 관리됩니다. 다만 IaaS, PaaS와 같은 Cloud방법들이 제공되면서 보다 통합된 환경으로 이런 자원들을 관리 하게 되었으나 아직까지도 일반적으로는 이런자원들을은 각기 관리되어 불편함과 문제가 수반 됩니다. 그래서 저희는 이런 다양한 자원과 방법들을 kubernetes로 보다 선언적이며 통합적인 방법으로 만들어서 자동화를 하였고 이 세션에서는 이 내용을 소개하며 어떻게 하면 이런방법들로 접근 할 수 있을지 설명하고 이를 통해 kubernetes 에 더 많은 가능성들에 대해 알아보고자 합니다.
도커부터 시작하여 쿠버네티스까지 각 서비스의 기능 및 구성요소에 대해 자세히 소개해 드립니다 | Learn more about the features and components of each service, starting with a Docker and ending with Kubernetes.
2. 쿠버네티스의 등장
• 사용자들은 무정지 배포를 원함
• 수시로 배포가 가능해야함
• 컨테이너화가 되어야 빠르게 다운타임 없이 배포가 가능해짐
• 쿠버네티스는 프로덕션에도 충분히 사용 가능
3. 쿠버네티스란?
● 어플리케이션을 배포하고 확장 및 관리를 자동화
● 컨테이너 오케스트레이션
● 구글에서 관리하는 대규모 오픈 소스 프로젝트
● 주요 클라우드 공급자인 AWS, GCP, Azure 에서 쿠버네티스를
기반으로 한 서비스 제공
● 마이크로 서비스에 이상적
○ 가상 머신을 사용하여 마이크로 서비스를 배포할 때처럼 많은
오버헤드가 발생하지 않음
4. 컨테이너 오케스트레이션이란?
● 컨테이너 배포 관리를 의미
○ 여러 컨테이너를 배포하고 관리하는 프로세스를 최적화 하는 것이
목적
● 오케스트레이션 기능
○ 프로비저닝 : 필요시 시스템을 즉시 사용할 수 있도록 시스템 자원을
미리 할당, 배치, 배포 상태로 준비해두는 것 (여기서는 컨테이너를
통해 이를 수행)
○ 구성 스크립트 : 특정 어플리케이션 구성 정보를 컨테이너에 로드
○ 모니터링 : 컨테이너 상태를 감시하고 로드밸런싱, 장애탐지,
오토스케일링
○ 서비스 탐색 : 컨테이너가 적합한 자원을 찾기 위해 서비스 탐색을
사용하고 외부로 노출
● 대표적으로 도커 스웜, 쿠버네티스, 아파치 메소스가 존재
5. 쿠버네티스 클러스터
• 쿠버네티스가 시스템을 구성하는 다양한 업무를 실행하는데
사용
• 다수의 호스트 저장소와 네트워킹 자원의 집합
• 노드와 마스터를 아우르는 개념
• 최소 3개의 노드 사용 권장
• 도커 이미지를 배포할 수 있는 클러스터
• 쿠버네티스는 호스트들이 의존적이지 않는 구조로 구성
• 의존적이지 않기 때문에 클러스터의 어떤 호스트로든
배포가 되어도 상관 없음
7. 마스터
• 클러스터를 관리
• 마스터의 구성
• API 서버
• 스케줄러
• 컨트롤 관리자
• 등등
• 마스터의 역할
• Pod 스케줄링 및 이벤트 처리
• 어플리케이션 실행 및 중지
• 어플리케이션 스케일링
• 어플리케이션 업데이트
8. 노드
• 단일 호스트를 의미
• 물리 머신이 될 수도 있고 가상 머신이 될 수도 있음
• Pod를 실행
• kubelet과 kube proxy등 여러 쿠버네티스 컴포넌트를 실행
• 노드는 일반적으로 일하는 노드(과거의 미니온)와 마스터 노드로
구분
9. 노드가 수행하는 것
• Kubelet
• 쿠버네티스 마스터와 노드 간의 통신을 담당
• 머신에서 동작하는 컨테이너들과 Pod들을 관리
• 마스터 밑의 하위 관리자 같은 느낌
• 컨테이너 런타임 (Docker Container)
• 실제 일하는 녀석들
• 마스터 = 본부장님, Kubelet은 팀장님, 컨테이너 런타임은 사원
10. 미니큐브 (Minikube)
• 경량화된 쿠버네티스
• 로컬에서만 사용가능
• 하나의 VM 생성
• 하나의 노드만 사용가능
• Linux/Mac/Windows 지원
• 테스트용으로 좋음
12. 쿠버네티스 배포
• 배포 설정을 만들어야함
• 배포 설정에는 컨테이너를 어떻게 만들고 업데이트를
수행할지에 대해 정의
• 어플리케이션 인스턴스가 만들어지면 쿠버네티스 Depolyment
Controller는 이 인스턴스를 지속적으로 모니터링
• 노드가 다운되거나 삭제되면 다른 노드에 배포함으로써 유지
• 자동화
13. Kubectl
• Kubectl을 사용해서 Deployment를 만들고 관리
• Kubectl은 쿠버네티스 API를 사용해서 클러스터와 상호작용
• 마스터와 소통
• Deploy 생성 시 필요 사항
• 컨테이너 이미지명
• 몇 개의 어플리케이션을 만들지
• 스케일은 어떻게 할지
• 업데이트는 어떻게 할지
15. Pod
● 쿠버네티스의 작업 단위
● 한개 또는 여러 개의 컨테이너를 포함
● 같은 노드에 포함된 포드들은 함께 스케줄링
● Pod 단위로 IP 주소가 할당되고 포트 공간이 동일
● 필요에 따라 버리고 교체할 수 있으며 짧은 수명을 가지는
일시적인 요소
● 각 Pod는 고유한 ID를 가지고 있으므로 필요시 분별 가능
17. 노드가 죽으면?
• 워커 노드가 죽으면 그 안에서 동작하는 Pod들도 함께 죽음
• 외부에서는 Pod가 제거되었는지 새로 생성되었는지 모르는
상태로 정상적인 서비스를 제공받아야함
• ReplicationController는 이를 감지하여 어플리케이션을
유지하기 위해 다른 노드에 Pod들을 생성하여 복구
18. Kubectl을 통한 트러블슈팅
• Kubectl get : 리소스 리스트
• Kubectl describe : 리소스에 대한 자세한 정보
• Kubectl logs : pod안의 컨테이너로부터의 로그 출력
• Kubectl exec : pod 안의 컨테이너에 명령 실행
20. 서비스
● 사용자가 외부 자원이나 가상 IP를 통해 서비스에 접근 가능
● OSI 7계층의 3계층(TCP/UDP)에서 동작
● 서비스에 속한 Pod들은 LabelSelect로 판단됨
● 지금까지의 Pod, Node로는 외부에서의 접속이 불가능
● Proxy를 통해서만 접근 가능
● 서비스를 사용해서 쿠버네티스 클러스터 외부로 어플리케이션을 노출
● 로드밸런싱 및 서비스 디스커버리 수행
21. 라벨 (label)
● key-value 쌍의 객체 집합이며 객체의 식별에 사용
● Pod를 그룹화할 때 사용
● 복제 컨트롤러(Replication Controller), 복제 집합(Replica set),
동적 객체 그룹에서 동작
● 라벨 설계의 제한 사항
○ 반드시 고유한 키를 가져야함
○ 접두사와 이름 두 부분으로 구성
■ 접두사는 선택사항
■ 접두사는 슬래시로 이름과 구분
■ 이름은 필수사항
22. 라벨 셀렉터
● 라벨을 기반으로 객체를 선택
● 동일한 라벨이 부여된 객체들을 연산자를 통해 일괄 선택 가능
○ ex) 라벨 키가 role이고 값이 webserver인 객체 선택
■ role = webserver
● = 또는 ==, != 을 통해 라벨에 따른 객체 선택
■ 복수의 조건은 쉼표로 구분
● role = webserver, application != foo
■ 집합은 다양한 값을 기반으로 객체 선택
● role in (webserver, backend)
25. 서비스에서 IP 노출 방법
● ClusterIP : 클러스터 내부에서만 접근 가능
● NodePort : NAT를 사용하여 각 노드의 Port를 오픈
● LoadBalancer : External 로드밸런서를 만들어서 고정된 외부
IP 배정
● ExternalName : DNS 기능을 통해 도메인명(CNAME)으로
외부에서 접근
26. 복제 컨트롤러와 복제 집합
● 라벨 셀렉터로 식별된 Pod 그룹을 관리하고, 특정 수만큼 실행
중인지 항상 확인
● 복제 컨트롤러는 이름의 동일 여부로 구성원을 확인
● 복제 집합은 집합 기반 선택을 사용
● 지정한 수의 Pod가 항상 실행되도록 보장
○ 문제가 발생하여 Pod가 일정 수준 이하로 내려가면 쿠버네티스는
새로운 인스턴스를 시작