DevOps 31

Ingress 외에 Ingress Controller가 필요한 이유?

Ingress 역할Ingress 리소스는 단순히 트래픽을 어떻게 처리할지 정의한 규칙입니다. Ingress Controller 역할Ingress Controller는 Ingress 리소스에서 정의한 규칙을 실제로 구현하고 실행하는 역할을 하는 컨트롤러입니다. 요약외부의 트래픽을 내부로 전달하고, 필요한 로드 밸런싱, 리버스 프록싱, SSL/TLS 처리 등을 수행할 수 있습니다.

DevOps/Kubernetes 2024.10.09

Kubernetes in Action

1.1 쿠버네티스 시스템이 필요한 이유모놀리식 애플리케이션마이크로서비스로 애플리케이션 분리애플리케이션에 일관된 환경을 제공할 필요성 1.2 컨테이너 기술 소개리눅스 컨테이너 기술을 통한 컴포넌트의 분리도커 1.3 쿠버네티스 소개쿠버네티스: 컨테이너 애플리케이션을 쉽게 배포하고 관리할 수 있게 해주는 소프트웨어 시스템애플리케이션을 컨테이너별로 격리하면서 하드웨어를 최대한 활용 가능하게 한다.쿠버네티스 시스템은 마스터 노드와 여러 개의 워커 노드로 구성된다.개발자가 애플리케이션 매니페스트를 마스터에 제출하면 쿠버네티스가 이것을 워커 노드 클러스터에 배포하고 리소스를 할당해 실행한다. 어떤 노드에서 해당 애플리케이션이 실행되는지는 개발자가 신경쓰지 않아도 된다.쿠버네티스는 서비스 검색, 확장, 로드 밸런싱, ..

5. 컨테이너 오케스트레이션 도구, 쿠버네티스

5.1  컨테이너 오케스트레이션: 컨테이너를 관리하기 위한 작업  요약컨테이너 오케스트레이션은 컨테이너 관리 및 운영을 자동화한다.컨테이너 관리 및 운영에는 로드 밸런싱, 헬스 체크, 스케일링 등이 필요하다.컨테이너를 활용한 애플리케이션이 보급되고 그 규모가 커질수록 컨테이너 오케스트레이션은 점점 더 중요해질 것이다.  5.2  쿠버네티스: 컨테이너의 관리 및 운영을 자동화하는 도구 요약쿠버네티스는 오케스트레이션하는 도구다.쿠버네티스 클러스터는 쿠버네티스에서 관리하는 시스템의 집합이다.노드에는 실제로 파드를 구동하는 워커와, 워커를 제어하는 마스터라는 두가지 유형이 있다. 5.3  파드: 컨테이너를  관리하는 단위요약파드는 쿠버네티스가 컨테이너를 관리하는 최소 단위다.같은 파드 내에서 시작할 필요가 없..

4. 컨테이너형 가상화 소프트웨어, 도커

4.1  도커: 사실상 컨테이너 기술의 표준  요약도커는 컨테이너를 실행하거나 이미지를 만들고 배포하는 플랫폼이다. 4.2  도커가 주목받는 이유: 도커의 역사와 발전을 되돌아보자 요약도커는 컨테이너화한 애플리케이션을 위한 플랫폼으로, 사실상 업계의 표준이 되었다.도커는 온프레미스에서 클라우드로 쉽게 마이그레이션 할 수 있다는 이식성뿐만 아니라 가용성과 확장성이 높은 애플리케이션을 개발하기 쉽다고 평가 받았다. 4.3  도커 컨테이너: 외부 영향을 받지 않는 독립된 환경요약컨테이너는 운영체제에서 실행되는 프로세스다.네임스페이스의 원리에 따라 컨테이너가 외부와 격리된다.컨테이너는 운영 체제를 공유하기 때문에 운영 체제 버전이나 호환성에 따라 제대로 동작하지 않을 수 있다. 4.4  컨테이너 이미지: 컨테이..

3. 컨테이너 기술과 기초 지식

3.1 컨테이너 기술의 역사: 의외로 오래된 컨테이너 기술의 기원  요약최초의 컨테이너 기술인 유닉스의 chroot 명령어는 애플리케이션이 지정한 디렉터리에만 접근하도록 한정할 수 있었다.컨테이너형 가상화 소프트웨어인 도커의 등장으로 간단하게 서버 가상화를 실현할 수 있게 되었다.컨테이너 오케스트레이션 도구인 쿠버네티스가 등장하면서 컨테이너 관리가 쉬워졌다.  3.2 컨테이너 기술의 장점: 가상 서버를 손쉽게 구축할 수 있다  요약컨테이너 기술을 사용하면 가상 서버를 쉽게 구축할 수 있다.컨테이너 기술은 가능한 한 데이터를 컨테이너에 포함하지 않는다. 3.3  데브옵스와 컨테이너 기술: 개발과 운영이 원활하게 연계 되도록 도와준다요약데브옵스는 개발자와 운영자가 협력해 서비스를 제공하는 방법이다.컨테이너 ..

2. 가상화의 원리와 기술

2.1 서버 가상화란 요약서버 가상화란 물리 서버 한 대에 가상 서버 여러 대를 구축하는 기술이다.서버 가상화 종류에는 호스트 OS형 가상화, 하이퍼바이저형 가상화, 컨테이너형 가상화가 있다. 2.2 호스트 OS형 가상화란 요약호스트 OS형 가상화란 호스트 OS 위에 가상화 소프트웨어를 설치해 가상 서버(가상머신/게스트OS/APP)을 구동시키는 것을 의미한다.어떤 게스트 OS를 실행할 수 있는지는 호스트 OS에 설치된 호스트 OS 가상화 소프트웨어 유형에 따라 달라진다. 2.3 하이퍼바이저형 가상화: 호스트 OS가 필요 없다 요약하이퍼바이저형 가상화는 하이퍼바이저형 가상화 소프트웨어에서 가상 서버를 실행하는 기술이며, 물리 서버에 OS가 필요 없다.호스트 OS가 없고 게스트 OS에서 직접 제어하기 때문에..

1. 가상화 기초 지식

1.1 가상화: 물리적 구성에 얽매이지 않는 유연성과 가용성 요약실체가 없는 것을 마치 존재하는 것처럼 보이게 하는 기술가상화를 통해 하나의 물리 서버에 여러 대의 가상 서버를 구축할 수 있다.가상 서버는 백업이 가능하므로 장애가 발생하기 전 상태로 되돌릴 수 있다. 1.2 가상화의 종류: 서버 가상화와 네트워크 가상화 요약가상화에는 크게 ‘서버 가상화’와 ‘네트워크 가상화’ 두 유형이 있다.서버 가상화는 물리 서버에 가상 서버를 구축하는 기술이다.네트워크 가상화는 물리적 네트워크 기기를 보이지 않게 은폐해 가상 네트워크를 구축하는 기술이다.  1.3 가상화의 장단점: 효율 운용성 관점에서 물리 환경과 비교 요약서버 가상화는 장애가 발생하더라도 환경을 쉽게 복구할 수 있다.네트워크 가상화는 네트워크 구성..

CI · CD 4회

미션 정적 파일 배포하기 볼륨으로 정적 파일 공유하기 정적 파일 수정해서 내용이 바로 반영되는지 확인하기 reverse proxy를 이용하여 서비스 구성해보기 Nginx로 프론트엔드, 백엔드 환경 만들기(w. docker) 부분 실습 정적 파일 배포하기 볼륨을 구성한다는 의미는 container와 컨테이너가 설치된 서버가 폴더를 공유한다는 의미이다. docker-compose.yaml 파일에 볼륨 공유와 관련한 부분을 작성함으로써 컨테이너가 생성되었을 때 컨테이너를 생성시킨 서버에서 설정한 폴더와 컨테이너에서 설정한 폴더가 생성된다. 그리고 둘 중 하나만 변경하더라도 변경 사항이 양 쪽에 동시에 적용이 된다. 설정 파일과 같이 자주 고쳐야 하는 파일이 있다면 특징 별로 볼륨을 두어 관리한다면 컨테이너에 ..

DevOps 2023.03.06

CI · CD 3회

Docker? 이미지(파일)를 기반으로 컨테이너(프로그램)을 만드는 소프트웨어이다. 이미지와 컨테이너라는 개념이 등장하는데 이미지는 실행파일로 컨테이너는 메모리에 올라간 프로그램이라고 보면 이해하기 용이하다. Dockerfile 만들기 1. 컨테이너를 구동시킬 베이스 이미지를 FROM에 적어준다. 2. 컨테이너 구동될 때 코드가 저장 될 위치를 지정한다. 3. 지정한 폴더에 복사 할 파일을 복사한다. 4. 필요한 의존성 패키지를 설치한다. 5. 특정 포트만을 허용한다면 특정 포트를 노출시키고 6. 컨테이너 실행시 기본으로 실행시킬 명령어를 적어준다. 여기선 CMD 또는 ENTRYPOINT로 처리할 수 있다. CMD의 경우 오버라이드가 가능하고 ENTRYPOINT는 무조건 실행된다. # Use offici..

DevOps 2023.03.02

CI · CD 2회

✅ tar tar.gz 차이점 tar 한개 이상의 파일 또는 디렉토리를 하나의 파일로 묶는 역할을 수행한다. 하나로 묶는 과정이 끝나면 '.tar' 라는 확장자가 붙는다. 아카이브, 백업, 전송에 그 목적이 있다. tar의 경우 묶었을 때 개별 파일 크기 합과 '.tar'과 일치하다. '.tar' 다 파일을 만들고 싶을 경우 아래와 같은 명령어를 통해 만들 수 있다. 'file*' 형태의 파일의 경우 .tar 파일을 만들고 싶을 때 tar -cvf file1 file2 file3 dir1 dir2 dir3 .tar 아카이브 파일을 풀고 싶을 때 tar -xvf archive.tar tar.gz tar 포맷을 gzip 압축과 합친 형태이다. ".tar"와 다르게 압축해서 파일화 한다. ".tar.gz" 파..

DevOps 2023.02.28