Devops

Devops

[k8s] 쿠버네티스 정의와 구성 요소 간 통신 방법

쿠버네티스? 쿠버네티스는 컨테이너 오케스트레이션을 위한 솔루션으로 여기서 오케스트레이션이란 복잡한 단계를 관리하고 요소들의 유기적인 관계를 미리 정의해 손쉽게 사용하도록 서비스를 제공하는 것을 의미합니다. 다수의 컨테이너를 유기적으로 연결, 실행, 종료할 뿐만 아니라 상태를 추적하고 보존하는 등 컨테이너를 안정적으로 사용할 수 있게 만들어주는 것이 컨테이너 오케스트레이션입니다. 쿠버네티스는 그 이름 자체가 하나의 긴 단어이기 때문에 문자 수를 표시하는 방법으로 약어를 만들어 ks의 형식으로 k8s라고 부르기도 합니다. 쿠버네티스의 구성 요소 간 통신 방법 개발자나 관리자나 파드라는 것을 배포할 때 구성 요소의 연결 관계를 표현하면 다음 그림과 같습니다. 그림에 나와 있는 숫자는 실제로 관리자나 개발자가 ..

Devops

[Vagrant] 가상머신 설정 자동 구축하기

https://js990317.tistory.com/34 [Vagrant] 기존 파일로 가상 머신 만들어보기 Vagrant? 베이그런트는 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요할 때 시스템을 사용할 수 있는 상태로 만들어주는 오픈소스 소프트웨어 제품 중 하나입니다. 언어 js990317.tistory.com 저번 실습에서는 베이그런트와 버추얼박스를 설치하여 기존 이미지 파일로 가상 머신을 만들어보는 실습을 하였습니다. 이번에는 원하는 구성을 자동으로 생성할 수 있도록 Vagrantfile을 작성하여 가상머신을 생성해보는 실습을 해보려고합니다. # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |confi..

Devops

[Vagrant] 기존 파일로 가상 머신 만들어보기

Vagrant? 베이그런트는 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요할 때 시스템을 사용할 수 있는 상태로 만들어주는 오픈소스 소프트웨어 제품 중 하나입니다. 언어는 Ruby로 되어 있지만, Ruby언어는, 초보자도 쉽게 따라할 수 있을 만큼 부담없는 프로그래밍 언어입니다. 실습을 하기 앞서, 사전에 필요한 준비물 2가지가 존재합니다. 1.가상화 소프트웨어 버추얼박스 2. 베이그런트 각각의 파일 다운로드 링크는 밑에 준비되어 있습니다. 1. 버추얼 박스 설치하기 https://www.virtualbox.org/ Oracle VM VirtualBox Welcome to VirtualBox.org! News Flash New July 18th, 2023VirtualBox 7.0..

Devops

[Terraform] 단일 웹 서버 배포하기

테라폼으로 인스턴스를 생성시켜 웹 서버를 동작시키는 실습을 해보려고 합니다. 최대한 간단하게 웹 서버 하나만을 생성하는 것이 이번 실습의 목표이고, Hello,world를 웹 페이지에 표시해보려고 합니다. 본 실습에서는 포트번호를 80 대신 8080 번호를 사용하였는데 1024 이하 모든 포트번호를 사용하기 위해서는 root 권한이 필요한데, 80 포트를 사용할 경우 공격자가 root 권한을 가지게 되기 때문에, 보안의 위협이 생길 수 있습니다. 따라서, 권한이 제한된 포트번호로 웹 서버를 가동시키는 것이 가장 이상적인 방법이며, 그러기 위해선 높은 숫자 번호의 포트를 사용해야 합니다. 단일 웹 서버 배포하기 EC2를 생성하기 앞서, 사용자 데이터 스크립트의 구조를 먼저 알아야 합니다. #!/bin/ba..

Devops/Docker

[1] Docker 뽀개기 - 원티드 프리온보딩 백엔드 챌린지

Docker란 무엇일까 ? 인프라를 어플리케이션을 관리하는 것처럼 관리하고, 신속하고 코드를 배포에 용의하게 만들어주는 오픈 플랫폼입니다. 흔히 컨테이너 기반 가상화 도구라고도 불리며 애플리케이션을 컨테이너라는 단위로 격리하여 실행하고 배포하는 기술이라 볼 수 있습니다. 꼬리물기로, 하나씩 차근차근 알아보려고 합니다. 도커를 알았으니 이제 컨테이너가 뭔지 의문이 들 수 있습니다. 여기서 컨테이너란, 가상화 기술 중 하나로 호스트 운영체제 위에 여러 개의 격리된 환경을 생성하고 각각의 컨테이너 안에서 애플리케이션을 실행하는 소프트웨어 패키지 입니다. 그럼 또 여기서 가상화 기술이 정확한 개념에 대해 모르시는 분들이 있을 것이라 생각합니다. 여기서 말하는 가상화 기술이란, 하나의 물리적 컴퓨터 자원(CPU,..

Devops/Iac

[Terraform] VPC 환경 구축해보기

VPC 환경 구축해보기 저번에 테라폼 키 설정과 간단한 EC2 구축을 실습했었습니다. 클라우드 환경에서의 VPC는 서브넷이나 네트워크 게이트웨이 등 네트워킹 환경을 가상으로 완벽하게 제어할 수 있는, 한마디로 가상 네트워크 구축 센터라고 볼 수 있습니다. VPC는 클라우드 환경 구축에 있어 매우 중요한 요소에 해당하는데, 하나의 VPC 환경을 테라폼으로 간단하게 자동화시켜 동작하게 구현해보려고 합니다. provider "aws"{ region = "ap-northeast-2" // 제공자 리전 정보 alias = "vpc" } resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16" tags = { Name = "terraform-vpc" } } resource ..

Devops/Iac

[Terraform] Key 설정 및 간단한 EC2 배포 실습

테라폼(Terraform)이란? 테라폼을 설명하기전에 IaC에 대한 설명을 먼저 해야 할 것 같다. IaC는 Infrastructure as Code, 즉 코드형 인프라로, 코드 형태로 인프라를 작성, 정의, 배포, 업데이트 등 인프라를 관리하고 프로비저닝 하는 것을 뜻합니다. 여기서 테라폼은 IaC의 도구로 서버와 인프라 자체를 구성하는데 사용되는 도구입니다. 준비 사항 - EC2 사용 권한이 있는 AWS 사용자 - Terraform 설치 1. ACCESS_KEY 설정 이번 실습에서 우리는 EC2 배포 실습만 할 것이기 때문에 EC2 외 다른 권한을 부여하지 않은 AWS 사용자를 만들어 액세스 키를 설정해야 합니다. 해당 액세스 키를 발급해주고 여기서 발급받는 액세스 키는 키를 생성했을 때 빼고 재발급..

Devops/git

Git 사용하는 이유와 기본적인 명령어

Git이란 뭘까? Git은 소스코드를 보다 효과적으로 효율적으로 관리하기 위해 개발된 분산형 버전 관리 시스템이다. Git을 사용한다고 가정했을때 팀원끼리 소스 코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능하게 된다. 분산 버전 관리이기 때문에 로컬 저장소가 날라가 버려도 원상복구 할 수 있고, Hash값으로 인덱싱하기 때문에 중복될 가능성도 없을 뿐더러, 특정 시점에서의 버전을 다시 끌어와 쓸 수 있다는 장점이 사람들이 Git을 유용하게 사용하는 이유이다. 이때, 우리가 흔히 아는 Git과 Github는 다른 존재일까?라는 의문이 들 수 있다. 둘은 서로 다른 존재이지만 연관돼있다고 볼 수 있다. Git은 개인 컴퓨터에서 돌아가는 버전 관리 시스템이다. Git을..

은하윤슬
'Devops' 카테고리의 글 목록