無知

갈 길이 먼 공부 일기

쿠버네티스 20

쿠버네티스 (4) | 레플리카셋, 데몬셋, 잡, 크론잡

앞으로의 스터디 내용은 을 기반으로 진행합니다. 자세한 내용은, 해당 책을 확인해주세요! http://www.yes24.com/Product/Goods/89607047 이번 챕터의 경우 전체 포스트를 완성하였으나 티스토리 오류로 임시저장본이 초기 작성 시기로 롤백되고, 기존 작성 분이 모두 사라진 관계로... 일단 스터디를 통해 기억나는 개념을 간단히 재정리하면서 간략한 정리본만 남기겠습니다 ㅠㅠ 파드의 안정적인 유지를 위해서, 컨테이너 외부 측면에서도 컨테이너의 상황을 확인하는 장치가 필요한데, 이를 위한 것이 쿠버네티스 라이브니스 프로브이다. 애플리케이션이 정상이라고 간주되는 조건을 http get 등의 방법을 통해 조회하여, 조건 충족 시 성공, 그렇지 않을 경우 실패로 판단한다. $ minikub..

쿠버네티스 (3) | 파드, 레이블, 네임스페이스, 어노테이션

앞으로의 스터디 내용은 을 기반으로 진행합니다. 자세한 내용은, 해당 책을 확인해주세요! http://www.yes24.com/Product/Goods/89607047 1. 파드란 여러 개의 컨테이너가 함께 배치된 컨테이너 그룹이자 쿠버네티스의 기본 빌딩 블록 파드는 논리적인 호스트로, 동일한 파드 내 프로세스는 각각이 컨테이너 형태로 캡슐화되었다는 점을 제외하면 동일한 머신 위에서 동작하는 것과 같다 일반적으로 파드 하나 당 하나의 컨테이너만 포함한다 하나의 파드에 여러 컨테이너가 포함된다고 해도, 그 컨테이너들은 모두 하나의 워커 노드에서 실행된다 1개의 워커노드에 여러 개의 파드가 포함되고, 각 파드에는 1개 이상의 컨테이너가 포함된다 하나의 컨테이너에 여러 프로세스를 실행하지 않고 다중 컨테이너를..

쿠버네티스 (2) | 도커와 쿠버네티스 튜토리얼

앞으로의 스터디 내용은 을 기반으로 진행합니다. 자세한 내용은, 해당 책을 확인해주세요! http://www.yes24.com/Product/Goods/89607047 도커를 사용한 컨테이너 이미지 생성, 실행, 공유하기 도커 설치와 Hello World 컨테이너 실행하기 리눅스 머신에 도커 설치하기 도커 설치 + 가상머신 생성 가상 머신 내 도커 데몬 구동 호스트 OS에서 도커 클라이언트 실행 파일 사용 가상머신 내 도커 데몬과 도커 클라이언트 간 통신 Busybox 이미지로 Hello World 컨테이너 실행하기 busybox는 표준 UNIX 명령줄 도구를 합쳐놓은 단일 실행파일 터미널을 통한 실행 > 별도 설치 없이 전체 애플리케이션이 다운로드되어 실행됨. $ docker run busybox ec..

쿠버네티스 (1-6) | 쿠버네티스의 기원과 개념

쿠버네티스의 개념 쿠버네티스란 무엇인가? 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 쿠버네티스란 명칭은 키잡이(helmsman)나 파일럿을 뜻하는 그리스어에서 유래했다. K8s라는 표기는 "K"와 "s"와 그 사이에 있는 8글자를 나타내는 약식 표기이다. 구글이 2014년에 쿠버네티스 프로젝트를 오픈소스화했다. 쿠버네티스는 프로덕션 워크로드를 대규모로 운영하는 15년 이상의 구글 경험과 커뮤니티의 최고의 아이디어와 적용 사례가 결합되어 있다. 쿠버네티스..

쿠버네티스 (1-5) | 쿠버네티스 소개

앞으로의 스터디 내용은 을 기반으로 진행합니다. 자세한 내용은, 해당 책을 확인해주세요! http://www.yes24.com/Product/Goods/89607047 서론 쿠버네티스 등장 배경 기존 소프트웨어 앱 트랜드 = 모놀리스, Monolith 모놀리스 (Monolith) 애플리케이션 : 여러 모듈이 상호작용하는 로직을 하나의 프로그램 내에서 구동시키는 방식 ⇒ 소규모 서비스엔 어울릴 수 있으나, 서비스가 거대해질수록 소프트웨어의 확장성 및 유연성이 줄어든다는 치명적인 단점이 있음 마이크로서비스 (Microservices) : 모놀리스 방식을 대체하기 위한 개념으로, 여러 모듈을 독립된 형태로 구성 ⇒ 언어에 종속되지 않고 변화에 빠르게 대응할 수 있으며, 각 모듈의 유지/보수(관리)가 쉬움 ht..

쿠버네티스 (1-4-2) | 개발자가 바라보는 도커의 필요성

도커라는 게, 기존의 퍼블릭 클라우드 이미지 기반 인스턴스 관리 기법의 연장선이기도 하다. 가장 중요한 것은 왜 쓰기 시작했는가! 의 문제라 볼 수 있다. 시니어 개발자님이 공유해주신, 도커의 사용 이유에 대해 정리해보았다. 도커는 왜 쓰기 시작했을까? 도커는 커스텀 환경을 빠르게 구축할 수 있다 - 도커 이미지 일단, 이미지의 경우, 결국은 개발 환경과 연관된다. 개발자 입장에서, 서버를 만들어서, 서버에서 개발하기도 한다. 예를 들어 자바 환경이라 하면, 서버나 클라이언트 환경을 꾸미고 나서, 환경 변수 설정 후 개발한다. 그런데 도커를 쓰고 나서는, 환경을 내부적으로 구성해서 독립적으로 환경을 빠르게 만들 수 있다. 우분투의 JVM 1.8을 빠르게 빌드해서 개발하고 싶을 때, 예전에는 서버를 띄우고..

쿠버네티스 (1-2) | 도커 파일 명령어 정리

# Alpine 3.7 버전 golang 1.10.1 이미지를 사용 FROM golang:1.10.1-alpine3.7 # 8080 포트 오픈 EXPOSE 8080 # 빌드할 머신에 있는 main.go 파일을 컨테이너에 복사 COPY ./main.go ./ # 컨테이너 내부에서 명령어 실행 RUN go build -o ./go-app ./main.go # 실행 계정을 nobody로 변경 USER nobody # 컨테이너가 기동할 때 실행할 명령어 정의 ENTRYPOINT ["./go-app"]

쿠버네티스 (1) | 도커의 기본 개념

본 글은 쿠버네티스 완벽 가이드의 설명을 따라가며 공부한 기록입니다. 보다 자세히 공부하고자 하는 분은 해당 책을 구매해서 따라가보세요! 쿠버네티스를 본격적으로 공부하기 이전에, 도커의 기본 개념을 훑어보며 쿠버네티스에 보다 더 잘 적응할 수 있도록 해보자. 도커, Docker 도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다. 도커 웹 페이지의 기능을 인용하면 다음과 같다: 도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나..