본문 바로가기

INFRA/DevOps146

DevOps 엔지니어 안녕하세요~ Administrator팀입니다! 오늘은 DevOps 엔지니어들이 정확히 어떤일을 하는지 어떤 요건을 갖춰야하는지에 대해서 알아보도록 할게요! DevOps 엔지니어란 누구입니까? 개발 및 운영이 별도로 작동하는 사일로화된 구조에 뿌리를 두고 있는 조직의 경우 DevOps를 구현하려면 조직적인 점검이 필요한 경우가 많습니다. DevOps를 성공적으로 구현하려면 적절한 사용자, 문화 및 도구가 필요합니다. 여러 설문조사에 따르면 DevOps 구현에 있어 가장 일반적인 장애물은 직원의 스킬 부족이라고 합니다. DevOps 구조를 바꾸는 일을 구현하는 주요 역할은 DevOps 엔지니어입니다. 엔지니어는 개발과 운영 모두에 걸친 광범위한 스킬뿐만 아니라 사일로화된 팀 간의 분열을 연결하는 대인 관계 .. 2022. 6. 23.
[Docker] Docker container 생성 Container란? 개발한 application(실행파일)과 운영환경이 모두 들어있는 독립된 공간 각각의 application service에 맞춰서 container를 생성 Dockerfile이란? container를 만들 수 있도록 도와주는 명령어 집합 쉽고, 간단, 명확한 구문을 가진 text file로 Top-Down 해석 container image를 생성할 수 있는 고유의 지시어를 가짐 Dockerfile 문법 # : comment FROM : container의 base image(운영환경) MAINTAINER : image를 생성한 사람의 이름 및 정보 LABEL : container image에 container의 정보를 저장 RUN : container build를 위해 base im.. 2022. 6. 21.
git과 github이란? 안녕하세요~ Administrator팀의 조랭이입니다. '버전관리 시스템'을 아시나요? 하나의 프로젝트를 여러 개발자/운영자가 관리할 때 버전이 뒤죽박죽 되는 것을 막기 Devops 사이클에서 빼놓을 수 없는 영역입니다. 그래서~~ 오늘은 버전관리 시스템 중, 가장 많이 사용되는 git과 github에 대해서 알아보도록 하겠습니다. 1. GIT이란 무엇인가? 깃(Git)은 2005년에 리누스 토르발스에 의해 개발된 '분산 버전관리 시스템 (Distributed Version Control Systems - DVCS)'으로, 컴퓨터 파일의 변경사항을 추적하고 여러명의 사용자들 간에 파일에 대한 작업을 조율하는데 사용됩니다. (참고 : https://git-scm.com/book/ko/v2 Git 공식 사이.. 2022. 6. 20.
[K8S] containerd 란 안녕하세요. 막내즈입니다~!~!! 오늘은 쿠버네티스에서 필요한 containerd에 대해서 알아보도록 하겠습니다 !! Containerd 란? containerd는 고수준 컨테이너 런타임(High-level Container Runtime)으로서, 컨테이너를 실행하기 위한 여러 OS의 syscall들을 추상화하여, 컨테이너를 사용하는 시스템이 커널에 직접 접근하지 않고도 runC와 같은 저수준 컨테이너 런타임을 관리할 수 있습니다. 그 밖에도 컨테이너 이미지를 실행/관리하고 컨테이너들의 수명주기 관리, 오버레이 파일시스템과 같은 Graphdriver가 작동하는 방식을 정의하는 등 여러 가지 역할을 하고 있습니다. CONTAINERD - KUBERNETES 표준 컨테이너 런타임 containerd는 Doc.. 2022. 6. 16.
[Docker] Docker Engine 설치 실습 1. Ubuntu에서 Docker 설치 실습 computer resources Azure VM : D2s_v3 CPU : 2core Memory : 8GB Disk : 16GB OS : Ubuntu 20.04 LTS - Gen2 Private ip : 10.100.0.105 timezone 변경 sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime hostname 변경 sudo vi /etc/hostname docker-ubuntu.example.com hosts 등록 sudo vi /etc/hosts 10.100.0.105 docker-ubuntu-example.com docker-ubuntu 10.100.0.106 docker-centos-exampl.. 2022. 6. 14.
Service - 2 반갑습니다! 💙베하💙 누구든 탑승할 수 있는 유임승차 팀의 BTC 룰루랄라 입니다!!💨😉 저번 포스팅은 쿠버네티스 기능 중 하나인 Service에 대해서 설명 드렸는데요~ 이번 포스팅에서는 Kubernetes의 Service에 대해서 추가적인 기능에 대해서 설명해 드리겠습니다. Service는 애플리케이션을 동작하기 위한 가장 중요한 기능이므로 꼭 알아 두셔야 될 것 같아요!! 그럼 서비스에 대해서 추가적으로 알아 보겠습니다~ 룰루랄라~♬ Service(NodePort) 만들기 CluterIP는 클러스터 내부에서만 접근할 수 있습니다. 클러스터 외부(노드)에서 접근할 수 있도록 NodePort 서비스를 만들어봅니다. apiVersion: v1 kind: Service metadata: name: coun.. 2022. 6. 13.
IaC 별 역할과 Terraform, Ansible에 대해서 알아봅시다 안녕하세요~ Administrator팀의 조랭이입니다! IaC는 Devops에서 빠질 수 없는 부분이죠. 이번 포스트에서는 여러 코드형 인프라 툴들의 특성 및 장단점을 알아보겠습니다. 코드형 인프라(Infrastructure as Code, IaC) 란? 코드를 작성 및 실행하여 인프라를 생성, 배포, 수정, 정리하는 것을 의미 서버를 물리적으로 설치하는 등의 하드웨어 측면을 포함하여 운영의 모든 측면을 소프트웨어적으로 전환 코드형 인프라 도구에는 다섯 가지 범주가 있습니다. 코드형 인프라의 범주 애드혹 스크립트 자동화하는 가장 간단한 방법 중 한가지 (하지만 규모가 커지면 스파게티 코드가 될 가능성이 높음) 수행할 작업을 단계별로 나눠 bash, Ruby, Python 등의 언어를 사용하여 코드로 정의.. 2022. 6. 10.
[K8S] 배포전략 안녕하세요. 막내즈입니다~!~!! 오늘은 쿠버네티스의 배포전략에 대해서 알아보도록 하겠습니다 !! 배포 전략은 크게 세 가지로 나눌 수 있습니다. 1. Rolling update 2. Canary 3. Blue/Green 1. Rolling Update 롤링 업데이트는 가장 많이 사용되는 배포 방식 중의 하나이다. 새 버전을 배포하면서, 새 버전 인스턴스를 하나씩 늘려나가고, 기존 버전을 하나씩 줄여나가는 방식이다. 이 경우 기존 버전과 새 버전이 동시에 존재할 수 있는 단점은 있지만, 시스템을 무 장애로 업데이트할 수 있다는 장점이 있다 - 가장 기본적인 배포 전략 - 파드를 하나씩 죽이고 새로 띄우는 차례대로 교체하는 방법 - 2가지 버전의 컨테이너가 동시에 실행되어서 버전 호환성 문제가 발생할 수 .. 2022. 6. 9.