A clean and Full Stack DevOps
1. Openshift오픈시프트 오리진(OpenShift Origin)은 오픈시프트 온라인, 오픈시프트 데디케이티드, 오픈시프트 컨테이너 플랫폼에 사용되는 업스트림 커뮤니티 프로젝트이다. 도커 컨테이너 패키징 코어와 쿠버네티스 컨테이너 클러스터 관리 기능을 기반에 두고 개발된 오리진은 애플리케이션 수명 관리 기능과 데브옵스 도구를 통해 증강된다. 오리진은 오픈 소스 애플리케이션 컨테이너 플랫폼을 제공한다. 오리진 프로젝트의 모든 소스 코드는 깃허브에서 아파치 라이선스 (버전 2.0)을 통해 이용이 가능하다.[4]
오픈시프트 온라인(OpenShift Online)은 레드햇의 퍼블릭 클라우드 애플리케이션 개발 및 호스팅 서비스이다. 온라인은 오리진 프로젝트 소스 코드의 버전 2를 제공하였으며, 아파치 라이선스 버전 2.
1. EKS(Amazon Elastic Kubernetes Service)?Kubernetes를 실행하는 데 사용할 수 있는 관리형 서비스이다. 마스터노드, 워커노드를 설치, 작동 및 유지관리를 할 필요 없는 솔루션이다.
우선 문서가 너무 잘되어 있지만 그래도 나름 예전에 EKS를 테스트 했었던 지라 내가 테스트 했던 방법을 공유하고자 한다.
참고 문헌 AWS 1.1. 사전설치우선 OS의 따라 설치해야 되는 것들이 조금 있다. (chocolatey를 설치한 이유는 chocolatey를 통해 eksctl을 배포 하기 위함)
설치 Tool
Chocolatey 설치 링크 chocolatey 1 Set-ExecutionPolicy Bypass -Scope Process -Force; [System.
아래 내용을 작성 하는 이유 같이 일했던 동료가 다른 곳으로 회사를 이직 하고 나서 컨테이너를 해야 되는거 같았다. 같이 일을 했기 때문에 L4 / L7을 잘 했던 친구 였다. 그런대 뜬금없이 L4를 연동 하면 어떻게 컨테이너로 트래픽을 전달하냐라고 물어본적이 있었다. 그래서 혹시 모르는 사람을 위해서 간략하게 적어 내려 간다.
1. Service Type컨테이너를 하기 위해서는 우선 Deploy , STS등으로 Pod를 생성한다. 그럼 일반적으로 테스트를 하기 위해서 아래와 같이 명령어를 칠 것이다.
MiniO는 Minimal Object Storage를 의미 하며, 오픈소스 형태로 제공 하는 오브젝트 스토리지이다.
Object Storage?
오브젝트 스토리지는 이미지, 오디오 파일, 스프레드시트 또는 바이너리 실행 코드등 문서 처럼 한줄 한문자 바꾸는 형식이 아니라 하나의 파일이 다 바뀌는 것으로 이해하면 쉬울 거 같다.
MiniO는 3가지 형태로 도구를 제공 한다.
MiniO Console / Server - UI / Cloud Storage Server를 구성 할 수 있다. MiniO Client(mc,admin) - Minio Server, AWS S3, GCS등등 연결하여 파일 업로드 및 관리등을 할 수 있다.
1. VMware TANZU?2019년 8월 VMware에서 처음으로 TANZU 포트 폴리오를 발표 했다. VM웨어의 대표 제품군인 ‘브이스피어(vSphere)’를 쿠버네티스 네이티브 플랫폼으로 바꾸겠다고 선언했다. 이를 위해 VM웨어는 ‘프로젝트 퍼시픽(Project Pacific)’을 진행했다.
Tanzu Portfolio 처음에는 VCF(VMware Cloud Foundation)라는 솔루션을 같이 설치 하면서 배포 해야 되었던 vsphere with tanzu가 현재는 VCF를 구성하지 않아도 설치가 가능하도록 변하게 되었다.
VCF(VMware Cloud Foundation)?
VMware 제품군을 자동으로 설치 해주는 솔루션이다. Excel, JSON파일을 읽어 드려 vSphere, vCenter, vSAN 그리고 NSX-T를 한번에 배포 해주는 솔루션
1.
Jenkins?Jenkins는 아무래도 많이 사용하는 CI/CD 일것이다. 우선 컨테이너 환경에서 CI를 구성하기 위해서 Jenkins를 구성 하였고, 클러스터가 많은 환경에서도 접근을 할 수 있게 (물론 컨테이너로 구성을 해도 되나. 굳이 컨테이너로 구성할 필요성이 있나 싶어 별도의 VM으로 구성) VM형태로 설치를 하였다.
CI/CD
CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공한다. CI (Continuous Integration) CI를 통해 개발자들은 코드 변경사항을 공유 브랜치로 다시 병합하는 작업을 더욱 수월하게 자주 수행 할 수 있다.