본문 바로가기

전체 글99

쿠버네티스 시작하기(7) - CI/CD 파이프라인 만들기(1/3) - 쿠버네티스 클러스터에 jenkins 설치 및 설정 이번 장에서는 설치한 쿠버네티스 위에 CI/CD 파이프라인을 만들 것이다. CI/CD 파이프라인을 만드는 이유는 간단하다. 로컬에서 개발한 소스를 수작업으로 서버에 올린 후 쿠버네티스 클러스터에 컨테이너로 배포한다는 것은 상상할 수 없기 때문이다. 때문에 배포 파이프라인을 만들어서 로컬에서 어플리케이션 개발 후 Git Repository로 Push/Merge를 하게 되면 소스가 자동으로 서버 내 쿠버네티스 클러스터로 배포가 되게끔 할 것이다. 우선 CI/CD 파이프라인을 구축 하기 전에 CI/CD에 대한 정확한 이해가 필요하다. CI/CD에 대한 정확한 이해는 이 포스트(https://twofootdog.tistory.com/16)를 참고해보도록 하자. 1. CI/CD 파이프라인 구성도 앞으로 생성할 C.. 2020. 1. 2.
쿠버네티스 시작하기(6) - 쿠버네티스 기본 명령어 kubectl은 쿠버네티스 클러스터에서 명령을 내리는 CLI(Command Line Interface)다. 이번 장에서는 쿠버네티스를 운영할 때 가장 많이 쓰이는 kubectl 기본 명령어에 대해서 정리를 할 것이다. 만약 쿠버네티스의 기본 명령어에 대해서 이미 알고 있거나, 실습을 통해서 차근차근히 배워 나가고 싶다면 이번 장은 Skip해도 괜찮을 것 같다. 1. kubectl 기본 문법 kubectl 의 기본 문법은 아래와 같다. # kubectl [COMMAND] [TYPE] [NAME] [FLAGS] 2. [COMMAND] 하나 혹은 여러 리소스에 대한 Operation을 입력한다. COMMAND 설명 사용 방법 create 파일이나 stdin으로 리소스 생성 kubectl create -f FI.. 2019. 12. 27.
리눅스(CentOS)계정에 root 권한 부여하기 1. 유저 생성 유저를 생성하고 비밀번호를 설정한다(이 글에서는 test라는 유저를 생성했다) 2. 권한 부여 /etc/passwd 파일에서 생성한 계정의 UID와 GID를 모두 0으로 변경한 후 저장한다. 3. root 그룹 포함 /etc/group 파일에서 생성한 계정을 root group에 포함시킨 후 저장한다. 2019. 12. 21.
쿠버네티스 시작하기(5) - CentOS에 쿠버네티스 설치하기 이전 장에서 쿠버네티스(Kubernetes)의 개념 및 아키텍쳐에 대해 정리를 해 보았다. 이번 장에서는 이제 실제 리눅스(CentOS) 환경에서 쿠버네티스를 설치를 해보도록 하겠다. 1. 쿠버네티스 설치 전 준비사항 우선 쿠버네티스를 설치하기 위해서는 아래와 같은 준비가 필요하다 1-1. 서버, OS 준비 쿠버네티스 설치를 위한 서버와 OS를 준비하자. 필자는 vultr.com 에서 VPS를 생성해서 서버를 구성하였다. (마스터서버보다 노드서버가 사양이 더 좋은 이유는 마스터 서버를 아래와 같이 구성 후 단일 서버로 운영하다가 노드서버를 나중에 추가하게 되었는데, 이것저것 설치하다보니 생각보다 리소스가 많이 소모되어 노드서버는 리소스를 좀 크게 잡게 되었다.) 마스터서버 : CPU 2core, Memo.. 2019. 12. 21.
쿠버네티스 시작하기(4) - 쿠버네티스 아키텍쳐 이전 장에서 쿠버네티스(kubernetes) 클러스터의 구성요소에 대해 정리해 보았다. 이제 실제로 쿠버네티스가 어떤 아키텍쳐로 구현이 되어 있는지 알아보도록 하자. 아키텍쳐를 이해하면 쿠버네티스 사용법을 이해하는데 도움이 된다. 아래는 쿠버네티스의 구조를 간단한 그림으로 나타낸 것이다. 쿠버네티스는 크게 전체 클러스터를 관리하는 마스터(Master)와 컨테이너가 배포되는 노드(Node)로 구성되어 있다. 모든 명령은 마스터의 API서버를 호출하고 노드는 마스터와 통신하면서 필요한 작업을 수행한다. 특정 노드의 컨테이너에 명령하거나 로그를 조회할 때도 노드에 직접 명령하는 것이 아니라 마스터에 명령을 내리고 노드에 접속하여 대신 결과를 응답한다. 1. 마스터(Kubernetes Master) 쿠버네티스 .. 2019. 12. 20.
쿠버네티스 시작하기(3) - 쿠버네티스 구성요소(2/2) 이번 장에서는 쿠버네티스(kubernetes) 클러스터의 구성요소 중 컨트롤러(Controller)에 대한 내용을 정리해보고자 한다. 1. 컨트롤러(Controller) 이전 장에서 소개한 쿠버네티스 4개의 기본 오브젝트(Basic Object)로 애플리케이션을 설정하고 배포하는 것이 가능하지만, 이를 좀 더 편리하게 관리하기 위해서 쿠버네티스는 컨트롤러(Controller)라는 개념을 이용한다. 컨트롤러는 기본 오브젝트들을 생성하고 이를 관리하는 역할을 해준다. 컨트롤러는 Replication Controller(aka RC), Replication Set, DaemonSet, Job, StatefulSet, Deployment 등이 있다. 1-1. Replication Controller Replic.. 2019. 12. 19.
쿠버네티스 시작하기(2) - 쿠버네티스 구성요소(1/2) 이번 장에서는 쿠버네티스의 개념에 대해 정리를 해보고자 한다. 쿠버네티스 클러스터의 구성요소와 컨셉만 잘 이해하면 쿠버네티스를 쉽게 이해하고 사용할 수 있다. 1. 마스터와 노드 쿠버네티스를 이해하기 위해서는 우선 클러스터의 구조를 이해할 필요가 있다. 클러스터 전체를 관리하는 마스터(Master)가 존재하며, 컨테이너가 배포되는 머신인 노드(Node)가 존재한다. (그런데 막상 운영을 하다보면 마스터(Master)에도 컨테이너 배포가 가능하다.) 2. 오브젝트 쿠버네티스는 가장 기본적인 구성단위가 되는 기본 오브젝트(Basic Object)와, 이 기본 오브젝트를 생성하고 관리하는 추가적인 기능을 가진 컨트롤러(Controller)로 이루어진다. 2-1. 오브젝트 스펙(Object Spec) 오브젝트들.. 2019. 12. 19.