[RedHat OpenShift to Kubernetes, 진짜 오픈소스로!]
무료 웨비나
오픈소스 기반 클라우드 네이티브
애플리케이션 구축 방안
2024년 12월 18일(수) 14:00-15:00
[RedHat OpenShift to Kubernetes, 진짜 오픈소스로!]
오픈소스 기반 클라우드 네이티브
애플리케이션 구축 방안
멀티∙하이브리드 클라우드의 확산, 클라우드 네이티브 애플리케이션 증가, 그리고 데이터 및 보안
관리의 필요성 등의 다양한 이유로 PaaS(Platform as a Service) 도입이 가속화되고 있으나,
이에 반해 대표적인 외산 상용 솔루션 RedHat OpenShift는 상대적으로 비싼 가격과
높은 벤더 의존성으로 국내 기업이 도입하기에는 큰 부담이 되는 것이 사실입니다.
이번 웨비나에서는 클라우드 네이티브 환경 구축에 왜 오픈소스를 활용해야 하는지,
상용 솔루션과 오픈소스 솔루션을 비교해보고, 특정 벤더 종속성에서 탈피하면서
동시에 비용 절감을 위한 새로운 대안을 제시할 예정입니다.
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Company Profile
Employees Technical professionals
Partners Customers
100 70%
+30 +300
+
Business area
Cloud Agile/Collaboration
Agile
Transformation
Private Cloud Collaboration
Linux/Rancher/
HCI
오픈소스 기반 통합 리눅스
환경 구축 및 기술지원
서비스
Kubernetes 기반클라우드
네이티브 환경 구축, Open
Stack, DevOps컨설팅
프라이빗(IaaS/PaaS),멀티
클라우드 구축/ 기술 지원
고객 맞춤형 애자일 코칭
·컨설팅·교육 서비스
글로벌 No.1 협업도구 –
Atlassian 컨설팅 서비스
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Company Profile
Cloud Native Computing
Foundation Silver 회원사
국내 최초/유일의
SUSE 최고 등급
다이아몬드 파트너사
Kubernetes Certified
Service Provider 획득
Supporting Organization
Partners Customers
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Program
Time Topic
14:00 - 14:30
Session 01. 오픈소스로 맞이하는 클라우드 : 왜 오픈소스로 가야하는가
RedHat OpenShift vs Kubernetes 비교
‘기상청’의 Kubernetes 전환 사례
Vendor lock-in을 풀면서 최신 글로벌 표준을 따라가는 PaaS 여정
14:30 - 14:50
Session 02. 오픈소스를 활용한 클라우드 네이티브 애플리케이션 구축 방안
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
Kubernetes 플랫폼에서 애플리케이션 연동 (feat. Service Mesh, Logstash)
14:50 – 15:00 Q&A
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Speakers
Session 01.
오픈소스로 맞이하는
클라우드 왜 오픈소스로 가야 하는가
Vendor의 오픈소스 제품의 한계점
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스 기반의 Private Cloud 구축
벤더 종속이 없는
오픈소스 기반의
Cloud 환경 구축
비용 효율적인
IaaS∙PaaS 통합 환경 구현
기술지원에
어려움 없는
오픈소스 기술집단의 지원
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
What to : 클라우드로 가기 위한 오픈소스 사용하기
재단의 등장과 오픈소스 생태계의 변화
2010년 NASA가 클라우드 컴퓨팅 솔루션을 오픈하기로
결정
클라우드 인프라오픈소스에열광한대규모벤더의 참여
자신의제품을클라우드 인프라에 맞추려는 노력들
핵심 프로젝트
구글이kubernetes에 대한 통제권을 양도 하고 이를
리눅스재단에서 운영하게 될 CNCF(CloudNative
ComputingFoundation)라는 새로 설립된재단에기
부
커뮤니티 오픈소스의 안정성과 보안취약점을 해결하기 위한 재단의 협업
대규모 협업 소프트웨어가 아닌 단품
소프트웨어의개발자들 권익보호
회사제품에대한
개발자생태계
단품을위한 개발자협업
코드 안정성담보에어려움이 있음.
인수등통제 불가능한 현상 발생
벤더들의 협업을통해 만들어
진 제품
개인 프로젝트의범위를넘어
선
전체 인프라프로젝트
재단 차원에서 Quality를 유지
하기 위한 노력
오픈소스로유지하기 위한
재단의지원
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Why to : 인프라를 오픈소스를 사용해야 하는 이유
OIF(Open Infrastructure Foundation)
10
인프라수명관리 가상화컨테이너 모든 인프라
관리
에지 클라우드
인프라
게이팅CI/CD
인프라 벤더주도의 오픈소스 프로젝트 OpenStack
기여도
Red Hat
25%
Mirantis
10%
IBM
8%
Rackspace
8%
*independent…
HP
6%
Huawei
4%
NEC
3%
SUSE
3%
Intel
3%
HPE
3%
VMware
2%
AT&T
2%
구글주도의 오픈소스 프로젝트 Kubernetes 기여도
Google
48%
*independent
19%
Red Hat
19%
Huawei
4%
Microsoft
2%
VMware
2%
IBM
1%
Intel
1%
1.어떤 특정 밴드가
유지보수 하는것이
불가능함
2.특정 벤더의제품을추
가할 경우, 벤더 락인이
걸림
3.벤더 락인이걸릴 경우
전체 제품의안정성과
업그레이드 담보 불가
CNCF(Cloud native computing Foundation)
Apache License V2
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
사례) Latest Case : Close Red Hat Enterprise Linux Source Code
2020년 12월 레드햇 정책 발표
▪ 레드햇은 CentOS 프로젝트는 12 월 8 일
CentOS 8 지원을 2021 년 말에 종료하는 것을
발표
CentOS
개발 중단
1
CentOS
패치 지원 중단
2
CentOS 스트림
/RHEL 강요
3
CentOS 7 중단
4
▪ CentOS 8 기준으로 2021년 12월 31일에 지원
중단(보안 패치 등을 추가적으로 받을 수 없음)
▪ CentOS 8 사용자는 앞으로 CentOS Stream로
전환하거나 운영 환경에서 사용한다면 RHEL로
전환해야 함
▪ CentOS 7의 지원 기간은 종전과 동일한 2024년
06월 30일에 종료예정
CentOS의 변화로 인한 고객 영향
• 레드햇 엔터프라이즈 리눅스 클론인 CentOS를 기준으로 고객은 기존의 업그레
이드, 패치 지원 등을 제공받음
• 2014년에 Red Hat이 CentOS 재단을 인수하고 2020년 정책 변경을 발표함
• 기존 CentOS의 역할이 변경되어 CentOS Stream이 Fedora와 RHEL 사이에서 마
이너 릴리스를 테스트하는 업스트림 배포판 역할을 수행하게 됨
• CentOS를 사용하던 고객사는 CentOS Stream 또는 RHEL 8 버전 이상으로 기존
의 운영하던 시스템을 마이그레이션 진행해야 함
• 이에 따라 2024 년 7월 이후는 기존의 주요 CentOS 릴리스에 대해서 소프트웨어
업데이트를 제공하지 않을 예정
Before
After
OS EOS
보안 업데이트, 패치 등을 못
받게 되므로 2024년 6월이후
CentOS를 사용하지 못함
버전 지원 종료
CentOS 8 2021/12/31
RHEL6 / CentOS 6 2020/11/30
RHEL7 / CentOS 7 2024/06/30
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
사례) Latest Case : Red Hat OpenStack Platform
레드햇 오픈스택은 오픈소스로 구성된 오픈스택과 같은 코드를 자체적인 오픈쉬프트로 변경하여 Vendor lock-in을 지속하고자 합니다.
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스컨설팅이 제안하는 패키징 ( OpenStack + Kubernetes + Containerizing + CICD )
오픈소스를 패키징한 솔루션으로 밴더 종속성을 탈피한 컨설팅 / 구축 / 운영 / 장애 관리와 기술전수를 지원하는 솔루션
CORE SERVICE + OPTIONAL SERVICE
SERVER VM CONTAINER
Playce OpenStack Playce Kube Playce DevOps
Jenkins
Gitea
ArgoCD
Harbor
Catalog
Service
Monitoring
SSO
Orchestration
Service Mesh
Nexus
Repository
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Be With : 오픈소스컨설팅 - OIF / CNCF MEMBERS
RedHat OpenShift vs Kubernetes 비교
Vendor의 OpenSource 제품의 한계점
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Kubernetes vs OpenShift
항목 Kubernetes OpenShift
기본개념
컨테이너화된 애플리케이션의 배포, 확장및 관리를 위한
오픈소스 오케스트레이션 플랫폼.
Kubernetes를 기반으로 추가적인 엔터프라이즈 기능과 지원을 제공하는
Red Hat 제품.
설치난이도
엔진을 설치하는 툴을여러가지가제공되나,
전체기능을 위해서는 별도의 설치과정필요
Red Hat의 도구와 문서를 활용해 상대적으로더 간편한 설치과정제공.
웹 인터페이스 기본적으로제공되지 않음 강력한 내장웹 콘솔(UI) 제공으로 애플리케이션 관리와 모니터링이용이.
보안 기본RBAC(Role-BasedAccess Control) 제공.
추가적인 보안기능제공
(예: SELinux 통합, 인증/인가, ImageStream 기반이미지 보안).
네트워킹 CNI 플러그인 사용(Calico, Flannel, Cilium등 선택가능). OpenShift SDN(Default) 또는OVN-Kubernetes제공.
CI/CD 통합 별도도구(Jenkins,GitLab CI/CD 등)를 사용해 구현. 내장된 BuildConfig및 S2I(Source-to-Image)로 기본적인 CI/CD 기능제공.
이미지 관리 컨테이너 이미지는 외부레지스트리(Docker Hub, Harbor 등)에서관리.
ImageStream으로이미지 관리및 배포최적화,
내부컨테이너 레지스트리제공.
업데이트
사용자가 직접관리해야 하며,
클러스터 및 노드업그레이드에는 세심한 계획필요.
Red Hat 지원을 통해원활한 클러스터 및 노드업데이트 가능,
무중단 업데이트 지원.
가격 Kubernetes는 오픈소스임 상용제품으로 서브스크립션 비용이 필요
생태계 및 통합 CNCF 프로젝트 기반의 다양한 오픈소스 도구와 통합가능. 주요클라우드 제공업체 및 Red Hat 제품군과 긴밀히 통합(GitOps, Ansible 등).
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
CNCF (재단)의 Cloud Native 프로젝트 관리
CNCF에서 오픈소스, 벤더 중립적인 프로젝트 생태계를 정리하고 이를 도표화 함
Landscape: landscape.cncf.io/
Our Graduated Projects
Our Incubating Projects
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스 선택 과정
순수 오픈소스 커뮤니티 재단의 검증된 SW Stack Pool 을 선정하여 고객의 인프라에 최적화된 환경을 구성
검증된 SW Stack선정
Incubate &
Graduate
Project Selection
CNCFProject
Landscape
로그분석 Backup
Monitoring
Service mesh
엔진 패키지
서비스 패키지
매니저
서비스
카탈로그
CI / CD
인증/인가
서비스패키지
Driver
CRI CNI CSI
Playce Kube + DevOps
Rancher
Catalog
OS
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
[예시] 오픈소스 패키지 모듈 선정 과정
CNCF의 동일 카테고리 프로젝트 중에서 패키지에 넣을 영역의 솔루션을 비교하여, 최근에 높은 star (500개 이상) 와 활발한 활동 체크
※회색은오픈소스가아님
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
[예시] 오픈소스 패키지 모듈 선정 과정
여러가지 자료를 확인하고, 실제 구현해서, 필요한 요소 비교작업 수행
Istio Linkerd
지원 Kubernetes + VM Kubernetes
Architecture
No SPOF
Envoy sidecar proxy
No node-agent
No SPOF
sidecar proxy
No node-agent
Secure
Communication
mTLS support
Certificate Management
mTLS support
Certificate Management
Communication
Protocols
TCP / HTTP / gRPC TCP / HTTP / gRPC
Traffic Mgmt.
Blue/Green Deployment
Circuit Breaking
Fault Injection
Rate Limiting
Blue/Green Deployment
Circuit Breaking
Fault Injection
NO Rate Limiting
Observability Yes, with Prometheus
Yes, with Prometheus
Multicluster Support Support
Operations
Complexity
High Low
결론
가장 많은 기능과 유연성을 가
지지만 복잡함
Kubernetes만을 위해서는 최적의
솔루션
Latency
CPU Usage
Memory Usage
기능 검증 성능 검증
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
[예시] 오픈소스 패키지 모듈 선정 과정
커뮤니티에 직접 참여하여, 현재 상황과 향후 roadmap에 대해서 고민하고, 필요시 커뮤니케이션 시도
Newsletter 구독
Community 와 communication
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Kubernetes+ CNCF OpenSource vs OpenShift
항목 Kubernetes+ CNCF OpenSource OpenShift
기본개념 CNCF 재단의 오픈소스를패키징 하여엔터프라이즈 기능제공
Kubernetes를 기반으로 추가적인 엔터프라이즈 기능과 지원을 제공하는
Red Hat 제품.
설치난이도
Kubespray를 통한쉬운배포
지속적인 변화시 Rancher를 통한배포
Red Hat의 도구와 문서를 활용해 상대적으로더 간편한 설치과정제공.
웹 인터페이스 오픈소스 Rancher를 사용하여 강력한 UI 제공 강력한 내장웹 콘솔(UI) 제공으로 애플리케이션 관리와 모니터링이용이.
보안
기본RBAC(Role-Based Access Control) 제공+
Trivy + SonarQube + Harbor 조합으로 추가적인 보안기능제공
추가적인 보안기능제공
(예: SELinux 통합, 인증/인가, ImageStream 기반이미지 보안).
네트워킹 CNI 플러그인 사용(Calico, Flannel, Cilium등 선택가능) OpenShift SDN(Default) 또는OVN-Kubernetes제공.
CI/CD 통합
업계에서 검증된 오픈소스 도구
(Jenkins,GitLabCI/CD, ArgoCD등)를 사용해 구현. 내장된 BuildConfig및 S2I(Source-to-Image)로 기본적인 CI/CD 기능제공.
이미지 관리 내부컨테이너 레지스트리를구성하여 제공
ImageStream으로이미지 관리및 배포최적화,
내부컨테이너 레지스트리제공.
업데이트 재단에서 검증된 가안전한 업데이트 제공
Red Hat 지원을 통해원활한 클러스터 및 노드업데이트 가능,
무중단 업데이트 지원.
가격
Kubernetes와 기타CNCF는 Trail Road Map의 제품은
Apache V2 라이선스로오픈소스임
상용제품으로 서브스크립션 비용이 필요
생태계 및 통합 CNCF 프로젝트 기반의 다양한 오픈소스 도구와 통합가능. Red Hat 제품군과 긴밀히 통합(GitOps, Ansible 등).
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Kubernetes+ CNCF OpenSource vs OpenShift
OpenShift의 도구/기능 설명 Kubernetes 및 CNCF 대안
Source-to-Image (S2I) 애플리케이션 코드를 컨테이너 이미지로 빌드하는 도구.
Kaniko: 컨테이너 이미지 빌드 도구.
docker : 컨테이너 이미지 빌드 도구
Buildah: 경량화된 컨테이너 이미지 빌드 툴.
추가 필요 : gitea: 자체 git 저장소
OpenShift Pipelines (Tekton 기반)
Kubernetes 네이티브 CI/CD를 위한 Tekton 기반의 CI/CD 솔
루션.
Tekton Pipelines: OpenShift Pipelines의 직접적인 오픈소스 대안. Helm Chart 또는
YAML 파일로 설치 가능.
OpenShift Service Mesh (Istio 기
반)
Istio 기반의 서비스 메쉬 솔루션으로, Kiali와 Jaeger를 포함.
Istio: CNCF에서 관리하는 오픈소스 서비스 메쉬.
Linkerd: 경량화된 서비스 메쉬 대안.
OpenShift Logging Fluentd, Elasticsearch, Kibana를 통합한 로깅 솔루션.
EFK Stack (Elasticsearch, Fluentd, Kibana): 별도로 구성.
Loki: Promtail(Grafana와 통합) 기반의 경량 로깅 대안.
OpenShift Monitoring Prometheus와 Grafana를 통합한 모니터링 솔루션.
Prometheus + Grafana: Kubernetes 네이티브 모니터링.
Thanos: Prometheus 확장을 위한 오픈소스 대안.
OpenShift GitOps (ArgoCD 기반) ArgoCD를 기반으로 GitOps 스타일의 배포를 지원. ArgoCD: GitOps 구현을 위한 CNCF 프로젝트. Kubernetes 클러스터에 직접 설치 가능.
OpenShift Container Storage (OC
S)
Ceph 기반의 소프트웨어 정의 스토리지 솔루션.
Rook (Ceph Operator): Ceph 기반의 Kubernetes 네이티브 스토리지 솔루션.
Longhorn: CNCF의 경량 스토리지 솔루션.
OpenShift Console 통합 웹 UI로 Kubernetes 리소스를 관리. Rancher: Kubernetes 클러스터 관리 및 UI 제공.
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Kubernetes+ CNCF OpenSource vs OpenShift
OpenShift의 도구/기능 설명 Kubernetes 및 CNCF 대안
OpenShift Authentication
내장 OAuth 인증 시스템과 외부 인증 프로바이더 통합
(Keycloak 등).
Dex: Kubernetes에서 인증 및 SSO를 지원하는 오픈소스.
Keycloak: 독립적인 인증 및 SSO 솔루션.
Operator Framework Kubernetes Operators 개발 및 관리 플랫폼. Operator SDK: CNCF에서 제공하는 Kubernetes Operator 개발 도구.
OpenShift Installer
다양한 환경에 OpenShift 클러스터를 간편히 배포할 수 있는
자동화 설치 도구.
kubeadm: Kubernetes 클러스터 배포를 위한 기본 도구
kubespary: Ansible을 기반으로 한 Kubernetes 클러스터 배포 도구
kops: 클라우드 기반 클러스터 배포 도구.
kind: 로컬 Kubernetes 설치 도구.
OpenShift BuildConfig 빌드 설정 및 관리 기능.
Jenkins: 파이프라인 기반 빌드 관리.
Tekton: 선언적 빌드 파이프라인 설정.
OpenShift Routes 클러스터 외부로 트래픽을 노출시키는 라우팅 기능.
Ingress + Ingress Controller(NGINX, Traefik 등): Kubernetes 네이티브 방식으로 외부 트
래픽 노출.
OpenShift ImageStream 컨테이너 이미지 버전 관리를 위한 내장 기능.
Harbor: 컨테이너 이미지 레지스트리 및 보안 스캔.
Docker Registry: Kubernetes와 통합하여 사용.
OpenShift Cluster Manager 멀티 클러스터 환경에서 중앙 집중식 관리 도구. Rancher: 멀티 클러스터 관리 및 Kubernetes 리소스 관리.
OpenShift Backup & Restore 클러스터 및 애플리케이션 백업/복구 도구(Velero) Velero: CNCF의 데이터 백업 및 복구 솔루션.
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Playce Kube S/W 구성
CRI CNI CSI
Containerd Calico CSI 드라이버
Kubespray Repository Bind9 Registry
Kubespray
Repository
Bind9 Registry
백업 웹서버 Autoscaler
velero NGINX metrics-server
대시보드 ID액세스관리 보안정책 패키지배포
Rancher Keycloak Gatekeeper HELM
모니터링 이미지저장소 로그분석 형상관리
Prometheus
/Grafana
HARBOR Elasticsearch,
Kibana, Loki
Gitea
취약점 분석 소프트웨어분석 배포 툴 서비스 매쉬
Trivy Sonarqube Knative Linkerd/Isti
o
리포지토리
Nexus
Repository
CI/CD
Jenkins, Agro,
Tekton
서비스레이어
기본 레이어
엔진레이어
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Playce Kube S/W 구성 – DevOps
Playce Kube는 DevOps 환경에 필요한 다양한 서비스 패키지를 제공합니다.
로그분석 Backup
Monitoring
Service
Mash
서비스 패키지
매니저
CI / CD
인증/인가
서비스패키지
Driver
CRI CNI CSI
특정 벤더에 의존하지 않는, 글로벌 커뮤니티 기반의 기술지원 체계 확립
오픈소스의 지속적인 업그레이드 및 패치의 실시간 적용
Certified Service Provider 획득 및 CNCF Silver Member 자격의 기술지원
오픈소스 커뮤니티 검증된Stack 및 재단의글로벌지원체계 확립
모든 형태의 VM 및 BareMetal 등 여러 레거시/IaaS 인프라 환경 지원
고객 환경(DevOps, 개발/운영환경, 멀티/하이브리드)에 적합한 맞춤형 구축
모든 추가 패키지들은 서비스 패키지 매니저에 따라 자동으로 설치
자동 배포 및 단위 서버/스토리지 확장 가능
공공/엔터 기관의 다수의 대 고객 서비스 레퍼런스 확보
여러 인프라환경에구성 가능
설치, 운영, 안정성확보
엔진 패키지
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Playce Kube 논리 구성도
백업 / 복구 시스템
Velero backup
controller
ㅍ
`
CI/CD (빌드/배포)
*
Fronte nd CI/CD P ipelin e
Backen den dCI/CD Pipeline
MLOps P ipeline
Graf ana Dashboard
Promethe us Dash board
Web Service
WAS Service
DB Service
Service
Catalog
repo
Service
Catalog
관리 포탈
Control Plane
ServiceMesh ControlPlane
K8s Clusters
Dev
Staging
Production
Sidecar
Proxy
Sidecar
Proxy
Sidecar
Proxy
서비스 매시
쿠버네티스
보안/인증 시스템
인증사이
드카 컨테
이너
인증사이
드카 컨테
이너
인증사이
드카 컨테
이너
RancherService
멀티테넌시
관리/모니터링
사용자인증
인증/키관리모듈
ETCD
KubernetesAPI백업/복구
애플리케이션 카탈로그
Kubernetes 서비스패키지관리
ㅍ
CRI (Container runtime Interface)
CNI (Container Network Interface)
CSI (Container Storage Interface)
모니터링 시스템 (운영자/사용자)
배포
(Syan)
개발자 관리(ID)
패키지배포
Pod 정보수집
Pod
백업/복구
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
아키텍처에 대한 논의
Playce OpenStack/Kube의 OpenStack과 Kubernetes를 이용한 최적의 인프라 구성
제안 아키텍처
KVM
배포노드 관리노드
스토리지
노드
NTP
Nexus
Monitoring
NFS stroage
Block storage
Object Storage
Keystone
OpenStack Infra
VM zone
VM
Kubernetes
zone
K8s
A부서
클러스터
범례 관리노드 컴퓨팅노드 스토리지 노드 배포 노드
controller compute Ceph mgr
network
VM
VM
B부서 master
A부서 master
MariaDB
Baremetal Ironic Ceph Storage
Storage Infra
OpenStack
K8s 개발업무
VM
K8s
B부서
클러스터
Baremetal
Server
Zone
K8S A부서
K8S A부서
K8S A 부서
container
Linux
K8S B부서
K8S B부서
K8S B부서
기타 DB서버
기타 보안서버
기타
배포
Storage
SAN
NAS
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Playce Openstack 전체 구성도
VM과 컨테이너와 베어메탈 등의 인프라를 모으고, 그것을 관리하며, 같은 스토리지 / 같은 네트워크를 사용하게 만들어 주는 SDDC 인프라
* SDC (software Defined Compute)/ SDN(software Defined Network/ SDS(Software Defined Storage) / RBD(Raw Block Device)
Openstack Controller
Keystone
Horizon
Orchestration DB
Baremetal ironic node
Control Application
Monitoring
Grafana Prometheus
Neutron
OpenVSwitch L3 Agent
DHCP Agent
Nova Cinder Ironic
Glance Manila Octavia
OpenStack Deploy
Nexus Ansible
Storage Zone
OpenStack Compute zone
Compute Node
L3 Agent
Name
Spaces
Route
FIP
Open vSwitch
master Worker Worker
container
con #1
Apps
container
con #1
Apps
Bridges
Int
Tunnel
vlan
externa
l
LB
N
ode
LB
N
ode
WEB Tenant/Zone
LB
N
ode
LB
N
ode
Tanant
VM #1
Tanant VM
#1
VM #
1
Apps
Kernel
WAS Tenant / Zone
LB
N
ode
LB
N
ode
Tanant
VM #1
Tanant VM
#1
VM #
1
Apps
Kernel
Ironic node
Server #3
Server #2
Server #1
Compute node (vm)
전체 인프라를 컨트롤할 IaaS solution
(SDC* -베어메탈/VM/컨테이너
SDN* –L4 router / L4,7 LB / security
SDS* –RBD / NFS(cephfs)/ Object Storage)
필요시 언제든 확장가능한 PaaS Solution
높은 성능을 위해 baremetal에 worker구성가능
순수 커뮤니티 기반 소스로 업그레이드시
커뮤니티 소스 100% 반영 가능
오픈스택의 경우, on-line upgrade와 장애시
조치 편이성을 위해 모두 컨테이너로 패키징
필요
Database나 보안툴을 위한 관리가능한
baremetal을 관리가능
오픈소스 기반의 모니터링/ADMIN 툴 제공
인프라 구축 내용 (선택 가능)
1
2
3
4
6
5
Kubernetes Container Zone
기상청의 Kubernetes 전환 사례
OpenShift에서 Playce Kube (Kubernetes) 로
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스의 선택?
Why ?
Community
OpenStack
K8S
Ceph
타 밴더의 IaaS
타 밴더의 PaaS
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스의 선택?
재단이 지원하는 생태계를 통한 안정된 기술지원을 받을 수 있다면, 벤더 락인을 풀고 싶은 요청사항이 생김
클라우드시스템을 순수 오픈소스로 구성
핵심 클라우드 설계
IaaS, PaaS를 순수 공개 SW로
전환하여 유지보수비 절감 ??
밴더 제약 제거
안정적인 지원
여러 오픈소스와의
조합
밴더 OpenStack
밴더 네트워크 가상화
밴더 대시보드
순수 공개 SW 기반의 클라우드 플랫폼 소프트웨어
오픈스택 스토리지
공개 SW NFV
공개 SW 대시보드
공개 SW 오픈스택
밴더 PaaS
밴더 종속적 이미지
밴더에 결합된 CI/CD
순수 공개 SW 기반의 컨테이너 플랫폼 소프트웨어
Kubernetes CI/CD
공개 표준 이미지
공개 SW CI/CD
공개 SW 쿠버네티스
Helm
IaaS
PaaS
밴더 종속적인 공개 SW ??
Sharedmodule
Monitoring Logging Repository
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스의 선택?
오픈소스를 이용하여, 현재 최신의 기술을 적용하고, 비용절감과 안정성을 동시에 추구
상용 라이선스 비용
폐쇄적 기술 의존
확장성의 한계
복잡한 유지보수
기술 지원의 제약
오픈소스는 비용 효율성 측면에서 우수하여 라이선스 비용 절감 가능
오픈소스는 기술 독립성을 제공하며, 다양한 커뮤니티의 지원을 받을 수 있
음
오픈소스 기반 솔루션은 유연한 확장성을 제공하여 대규모 데이터 처리에
최적화
오픈스택 및 Kubernetes는 자동화와 효율적인 관리 도구를 통해 유지보수
효율성 향상
글로벌 오픈소스 커뮤니티의 활발한 지원 및 최신 기술 업데이트 적용 가능
밴더의 경우 Tech Preview 형태로 ironic / Firewall As A Service 미지원
비용 절감 및 예산 효율성
기술 유연성 및
커스터마이징 가능성
시스템 유연성 및 확장성 확보
운영 효율성 증대
운영 효율성 증대
오픈소스(OpenStack, Kubernetes, Ceph) 선택 이유
기존 벤더 솔루션 기대효과
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스의 선택?
타 밴더의 IaaS
타 밴더의 SDS Ceph
타 밴더의 PaaS
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
구축과정: Playce Cloud
쿠버네티스 구성 - 내부 업무용으로 VM과 연동되는 VM의 경우 VM위에 만들어서 사용
필요시 master만 VM으로 구성하는 방법 사용
SDN
NFV Controller SDN Controller NFV Computing
SDC
SDS
Ceph
Controller
NFS
Gateway
Ceph Cluster
하드웨어 인프라
Cluster
VM Pools
•••
Compute Node
오픈스택 Heat(Orchestration)
SDN
NFV Controller SDN Controller NFV Computing
SDC
SDS
Ceph
Controller
NFS
Gateway
Ceph Cluster
하드웨어 인프라
VM Pools
•••
오픈스택
Compute Node BareMetal
•••
Master
Master
Master
GPU Workers
GPU Workers
GPU Workers
VM위에쿠버네티스
멀티클러스터쿠버네
티스구성
필요시VM단에서쉽게
확장가능
테넌트내VM과연계
하여서비스제공
BareMetal서버위에쿠버네
티스
최적성능을위해
Kubernetesworker구성
장애시오픈스택에서배포/
구성 가능
오픈스택의NFV 기능인
Octavia LoadBalancer사용
Cluster
오픈소스컨설팅과 함께하는 PaaS 여정
Vendor lock-in을 풀면서, 최신 글로벌 표준을 따라가는 방법에 대해서
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
전산실의 진화형태
여러 인프라를 일관성 있는 관리를 하기 위해서는 단일 인터페이스(단일 API)가 필요하며 표준규약을 정해서 이를 관리하기 위해서는
오픈소스와 소프트웨어 정의 인프라가 필수
소프트웨어 정의 인프라
서버 관리 및 서비스
네트워크 관리
네트워크 보안관리
스토리지 관리 및 서비스
인프라 지원 업무
네트워크
(Software Defined Network)
컴퓨팅
(Software Defined Compute)
스토리지
(Software Defined Storage)
컴퓨팅
(Software Defined Compute)
스토리지
(Software Defined Storage)
컴퓨팅
Virtualization IaaS HCI
네트워크 담당자
인프라 담당자
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
현재 구성 가능한 인프라의 형태와 진화방향
Private Cloud Infra는 지속적으로 발전해 오면서 다양한 구축방안들이 발전되어 왔습니다. 따라서 고객은 업무의 형태나 현황에 따라서 다
양한 솔루션을 기반으로 구축이 가능합니다. 오픈소스컨설팅은 상황에 따라서 다양한 구축방안을 제시하여 고객의 비즈니스를 위한 최적화
된 환경을 제공합니다.
Infrastructure 트랜드의 변화
기술영역
중심기술
제품명
컴퓨팅
가능영역
Cloud-Native
HCI
(기본 VLAN 구성 +
Storage)
Cloud- Native
Infra
IaaS
Virtualizati
on
RedHat
OpenShift
Vmware 기반
HCI
(DELL외 )
Nutanix HCI
Harvester
HCI
Rancher
OpenStack
VMware Cloud
Foundation
VMware
vSphere Kubernetes
Container
VM VM
Container
+VM
Container
VM VM
VM Container
RedHat
OpenShift
Virtualization
Container
+VM
클라우드
네이티브 애플케이션
서버 가상화 (SDC)
+ 스토리지 가상화(SDS)
클라우드
네이티브 애플리케
이션
+ 서버 가상화
서버 가상화
서버 가상화 (SDC)
+ 스토리지 가상화 (SDS)
+ 네트워크 가상화 (SDN)
클라우드
네이티브 애플리케
이션
+ 서버 가상화
+스토리지가상화
Nutanix HCI
Harvester
HCI
Rancher
OpenStack Kubernetes
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
VMware 대안을 위한 기술력과 노하우 보유
오픈소스컨설팅은 VMware의 벤더 락인을 해소하기 위해서, VM 서비스 이관부터 정상화까지 모든 것을 지원하는 패키지를 가지고 있습니다.
유지보수 방안
SUSE Harvester
OpenStack/Kubernetes
디지털데일리 2024년 6월 17일
디지털데일리 2024년 1월 08일
디지털데일리 2024년 3월 14일
IT 데일리 2024년 6월 13일
Talk it 2024년 4월 07일
Cloud Native Computing
Foundation Silver 회원사
OpenStack Korea
User Group 운영진
Kubernetes Certified
Service Provider 획득
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
다양한 클라우드 네이티브 환경의 통합 관리
를 통한 통합 관리
Virtualization KubeVirt
Kubernetes RKE2
Storage Longhorn
Linux SLE-Micro
VM VM VM VM VM
VM VM VM VM VM
K8s Cluster
Virtualization KubeVirt
Kubernetes RKE2
Storage Longhorn
Linux SLE-Micro
내부 인프라 환경 외부 인프라 환경
EKS
K8s on EC2
AWS
AKS
K8s on Azure
Azure
GKE
K8s on GCE
Google Cloud
OKE
K8s on OCI
Oracle Cloud
Digital Ocean
OpenStack Custom Env
Alibaba
vSphere
* VM과 컨테이너의 통합 운영 및 관리
Session 02.
오픈소스를 활용한 클라우드 네이티브
애플리케이션 구축 방안
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
Kubernetes 플랫폼에서 애플리케이션 연동 (feat. Service Mesh, Logstash)
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
스페셜리스트 그룹 DevOps
Network
Server
Application
Data
Network
Architecture
Techtical
Architecture
Application
Architecture
Data
Architecture
DevOps
Engineer
O
S
C
I
/
C
D
I
n
f
r
a
C
o
n
t
a
i
n
e
r
O
r
c
h
e
s
t
r
a
t
i
o
n
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
DevOps의 목표
DevOps의 정의 ( DevOps는 개발자가 개발을 잘 하고 확인하기 위한 것 )
문화: 마일스톤을 지정하고 짧게 빠르게 개발 통합 배포 한다.
자동화: 로직을 하거나 문제를 해결 하는 것이 아닌 단순 반복 작업을 자동화 하고
작업의 내용을 쉽게 확인할 수 있게 한다.
측정: 배포의 속도, 개발의 퀄리티
공유: 지속 배포와 기술의 공유를 통해 기술의 공백을 해결
자산화: 기술의 축적을 통해 발전 한다.
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Source Build
CI
Image
CD
Deploy
User
Account
Service
Account
Cluster
Cluster
Service
Account
NS NS NS
NS NS NS
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
PV
PVC
Storage
SC
Pod
Configmap
Secret
Pod
Service
Deployment
Pod
Pod
Ingress
HPA
Node
Pod
Exporter
Monitoring
Storage
Pod
Pod
Pod
Logs
Pod
Pod
Management
Node
Node
Node
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
CI/CD
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
CI/CD 를 통해서 할 수 있는 것
지속 통합(Continuous Integration)
- 개발자가 코드를 공유 브랜치에 지속적으로 머지하고,
머지와 동시에 빌드와 테스트가 수행되는것
지속 배포(Continuous Delivery)
- 소프트웨어 시스템을 사용할 수 있게 만드는 모든 활동. 소프트웨어를 배포 합니다.
지속 공급(Continuous Deployment)
- 소프트웨어 시스템을 지속적으로 전개 합니다.
- - -
CI/CD: 파이프 라인을 통한 프로세스로서 소프트웨어의 배포 자동화
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
CI/CD는 어떻게 진행 되는가
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
Ingress
Service
Application
Ingress
- WEB Control
Service
- Pod Interface
Application
- JAVA
- Python
- C
- ETC.
Domain 방식 분기 연결
자유로운 WEB Proxy 기능
Pod 간 연결점 생성
외부 연동을 위한 NodePort
내부 연동을 위한 ClusterPort 으로 구분
Application Engine 등,
다양한 플랫폼기반의 Application 지원
Namespace 에 따라 구분되고
서비스 구분에 따라, 구성가능
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
Deployment
tomcat-service.yaml
tomcat-ingress.yaml
tomcat-deployment.yaml
server.xml
*.crt
*.key
Pod
configmap
NAMESPACE
secret
namespace tomcat-deployment.yaml
~/webapps
( ROOT Mount Path )
~/logs
( Log Mount Path )
service
( NodePort configure )
service
NodePort
- 8080 to NodePort
webapps
Context_Home
- CATALINA_HOME 의 ROOT Deploy PATH
logs
Server Logs Path
- server log 경로 tomcat container 의
CATALINA_HOME/logs 로 마운트
tomcat-service.yaml
~/conf/server.xml
( config-map Mount )
server.xml
tomcat-config-files
- config-map 을 통한 server.xml 마운트
~/lib/jdbc-lib-postgresql
( config-map Mount )
lib
jdbc-lib-postgresql
- config-map 을 통한 JDBC Driver 마운트
tomcat-ingress.yaml
ingress
( Secure configure )
ingress
TLS
- HTTPS 설정
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
다양한 Build Tools
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
가장 널리 쓰이는 컨테이너 도구
간단한 명령어로 빌드, 실행 가능
장점: 사용자 친화적이고 광범위한 생태계 지원
단점: 상대적으로 무거운 빌드 환경
Docker in Docker 형식과 root 권한의 사용
Docker와 유사함
Daemonless방식으로 작동
장점: 보안이 강화된 환경 ( root 권한 미사용 )
단점:docker에 비해 사용자와 기능이 제한적
Docerkfile 없이 사용 가능
Docker Daemon없이 사용 가능
장점: 유연성과 보안성이 높음
단점: 사용법이 Docker 대비 다소 복잡
docker에 비해 사용자와 기능이 제한적
Kubernetes환경 내에서 작동
Docker Daemon없이 사용 가능
장점: 클라우드네이티브 환경에 적합
단점: 클라우드 환경에서만 적합
Docker
Podman
Buildah
Kaniko
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Build 를 어떻게 할 것인가.
오픈소스 기반의 CI/CD의 파이프라인을 이용한 컨테이너라이징
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Source Build
CI
Image
CD
Deploy
User
Account
Service
Account
Cluster
Cluster
Service
Account
NS NS NS
NS NS NS
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
PV
PVC
Storage
SC
Pod
Configmap
Secret
Pod
Service
Deployment
Pod
Pod
Ingress
HPA
Node
Pod
Exporter
Monitoring
Storage
Pod
Pod
Pod
Logs
Pod
Pod
Management
Node
Node
Node
Kubernetes 플랫폼에서 애플리케이션 연동
(feat. Service Mesh, Logstash)
ServiceMesh
Logging
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
DevOps Loadmap
Service Mesh
Kubernetes 플랫폼에서 애플리케이션 연동
(feat. Service Mesh, Logstash)
Link: linkerd
Link: Istio
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Kubernetes 플랫폼에서 애플리케이션 연동
(feat. Service Mesh, Logstash)
특징 Istio Linkerd
프록시 Envoy Rust 기반의 초소형 프록시
컨트롤 플레인 Pilot, Citadel, Galley, Mixer Control Plane
데이터 플레인 Envoy Sidecar Rust Micro-proxy
기능
트래픽 관리, 보안, 모니터링,
서비스 디스커버리, 회로 차단, 고장 주입 등
트래픽 관리, 보안, 모니터링, 서비스
디스커버리
복잡성 높음 (다양한 설정과 기능) 낮음 (간단하고 사용하기 쉬움)
성능 높음 (Envoy 사용으로 높은 성능) 높음 (Rust 기반으로 높은 성능)
리소스 사용 높음 낮음
커뮤니티 지원 크고 활발 (구글, IBM 후원) 작고 성장 중 (Buoyant 후원)
커스터마이징 가능성 높음 낮음
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
Logging
Kubernetes 플랫폼에서 애플리케이션 연동
(feat. Service Mesh, Logstash)
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
데이터 수집 및 처리 도구
• 데이터 수집(Input), 변환(Filter),
출력(Output) 파이프라인
특징: 유연한 데이터 처리
다양한 입력/출력 플러그인 지원
로그 수집 및 전달 도구 특징: 경량화된 에이전트
Kubernetes 환경에 최적화된 로깅
유연한 필터링 및 데이터 변환
• 로그 저장소 및 검색 엔진
• 대규모 데이터 저장 및 검색을
위해 설계
데이터 시각화 및 분석 도구 특징: 사용이 간편하고 직관적인 UI
로그 수집, 저장 및 분석을 위한
경량화된 오픈 소스 로그 관리 시스템
특징: 색인 최소화, 경량화 설계,
Prometheus와 통합, Grafana와 통합
Logstash
Fluentd
Elasticsearch
Kibana
Loki
특징: 빠른 검색 속도
복잡한 쿼리와 집계 기능 제공
Kubernetes 플랫폼에서 애플리케이션 연동
(feat. Service Mesh, Logstash)
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안
[RedHatOpenShifttoKubernetes,진짜오픈소스로!]
오픈소스기반클라우드네이티브애플리케이션구축방안

[발표자료] 오픈소스 기반 클라우드 네이티브 애플리케이션 구축 방안 (feat. Kubernetes)