Cloud
-
Cloud Native CI/CD 구축하기 실습Cloud/Kubernetes 2023. 2. 13. 07:01
CI(지속적인 통합) 및 CD(지속적인 배포)는 클라우드 네이티브 소프트웨어 개발의 필수 사항 입니다. CI/CD는 팀이 소프트웨어 구축, 테스트 및 배포 프로세스를 자동화하는 데 도움이 됩니다. 이 실습에서는 GitHub Actions, Docker 및 Kubernetes를 사용하여 샘플 애플리케이션용 CI/CD 파이프라인을 생성합니다. 학습 목표: 샘플 애플리케이션의 Docker 이미지를 만듭니다. Docker 이미지를 Docker 허브로 푸시합니다. Docker 이미지를 사용하여 Kubernetes 배포를 만듭니다. CI/CD 파이프라인을 자동화하는 GitHub Actions 워크플로를 만듭니다. 변경 사항이 GitHub 리포지토리로 푸시될 때마다 CI/CD 파이프라인을 트리거합니다. 업데이트된 애..
-
Docker 이미지를 수정하여 Docker Hub로 푸시하는 실습.Cloud/Container 2023. 2. 13. 00:35
기존 이미지를 가져와 수정하고 자신의 저장소에 푸시하는 Docker Hub을 사용하는 실습의 단계별 가이드입니다: 1. Docker Hub 계정 만들기 및 로그인 Docker Hub 계정이 없다면 계정을 만듭니다. 계정 정보로 Docker Hub에 로그인합니다. 2. 기존 이미지 검색 수정할 기존 이미지를 Docker Hub에서 검색합니다. 예를 들어, 공식 Nginx 이미지를 검색할 수 있습니다. 3. 이미지 다운로드 docker pull 명령을 사용하여 이미지를 로컬 컴퓨터에 다운로드합니다. 예를 들어, Nginx 이미지를 다운로드하려면 다음 명령을 실행합니다: docker pull nginx 4. 이미지 수정 기존 이미지를 수정하는 새로운 Dockerfile을 작성합니다. 예를 들어, 웹 서버에서 ..
-
쿠버네티스 배포 실습Cloud/Kubernetes 2023. 2. 12. 23:56
이번 실습에서는 이전에 만들었던 my-web-app 이미지를 기반으로 쿠버네티스에 애플리케이션을 배포하고, 애플리케이션을 노출하고, 접속을 테스트하며, v1 버전에서 v2 버전으로 롤링 업데이트를 통해 버전 변경 배포를 하는 과정을 실습해보겠습니다. my-web-app 이미지가 없다면 도커 실습 (https://dennis.k8s.kr/3) 을 먼저 진행하고 오시길 바라겠습니다. 사전 준비 사항 쿠버네티스 클러스터 kubectl CLI 단계 1: 쿠버네티스 디플로이먼트 만들기 다음과 같이 kubectl 명령어를 사용하여 쿠버네티스 디플로이먼트를 만듭니다. kubectl create deployment my-web-app --image=my-web-app:v1 위 명령어는 my-web-app 디플로이먼트를..
-
Docker를 사용하여 간단한 웹 애플리케이션을 만드는 단계별 실습Cloud/Container 2023. 2. 12. 23:03
사전 요구 사항 Docker가 설치되어 있고 실행 중인 컴퓨터 단계 1: 새 디렉터리 생성 웹 애플리케이션을 위한 새 디렉터리를 만들고 터미널에서 해당 디렉터리로 이동합니다. mkdir my-web-app cd my-web-app 단계 2: 웹 페이지 만들기 다음 내용을 포함하는 index.html 파일을 만듭니다: Hello, World! 단계 3: Dockerfile 만들기 Dockerfile 이라는 이름의 새 파일을 만들고 다음 내용을 입력합니다: # 공식 Nginx 런타임을 부모 이미지로 사용 FROM nginx:alpine # 웹 페이지를 컨테이너로 복사합니다. COPY index.html /usr/share/nginx/html 단계 4: Docker 이미지 빌드 터미널에서 Dockerfile이..
-
chroot 명령어로 도커 컨테이너와 유사한 환경을 만들어보는 실습Cloud/Container 2023. 2. 7. 22:49
chroot 명령을 사용하여 Docker 컨테이너와 유사한 환경을 만들어보면 컨테이너가 작동하는 원리를 기본적인 수준에서 쉽게 이해할 수 있습니다. 이 핸즈온을 통해 다음 개념을 배울 수 있습니다: 파일 시스템 네임스페이스 chroot 명령을 사용하면 파일 시스템의 루트 디렉터리를 변경하고 별도의 네임스페이스를 만들 수 있습니다. 이는 컨테이너가 호스트 시스템에서 파일 시스템을 격리하는 방법과 유사합니다. 프로세스 격리 루트 환경 내에서 프로세스를 실행한다는 것은 호스트 시스템에서 프로세스가 격리된다는 것을 의미합니다. 이는 컨테이너가 격리된 프로세스를 실행하는 방식과 유사하며, 독립된 환경을 만들 수 있습니다. 리소스 제어 chroot 명령을 사용하여 디스크 공간, 네트워크 연결, CPU 사용량 등 격..
-
쉽고 간단한 kubectl plugin 개발 하기 (1) - 기초 구현Cloud/Kubernetes 2019. 1. 20. 22:20
1. kubectl plugin 이란? kubectl 은 kubernetes 를 CLI(command line interface)로 관리하기 도구 입니다. kubectl 을 사용하다 보면 너무 긴 명령을 반복해서 자주 입력해야 하거나, 부족한 기능을 직접 개발한 script 나 tool, open-source tool 들로 보완할 경우가 많은데 매번 명령어를 바꿔가며 작업하려면 여간 번거로운게 아닙니다. 쿠버네티스 관련 명령어를 칠 때마다 prefix를 생각해서 다르게 입력해야하는게 완전 귀찮았습니다. kubectl 블라블라 / kubectx 블라블라 / kubens 블라블라 / stern 블라블라.. 또한, 기존 기능이나 명령어를 커스텀해서 사용하고 싶을 때도 있구요. kubectl describe p..