본문 바로가기

전체 글

(82)
[k8s] Mac M1 UTM Ubuntu22.04 쿠버네티스 구축 Mac M1 UTM을 사용해 k8s를 구축한다.각 VM은 Ubuntu22.04LTS 이미지를 기반으로 한다.마스터노드*1, 워커노드*2로 클러스터를 구성한다.각 노드에 쿠버네티스를 설치하고 워커노드를 마스터노드에 연결한다. k8s 설치 전 노드 환경 구성#마스터노드- Memory: 4096MB- CPU Cores: 4- Disk Size: 24GB- Address: 192.168.56.30#워커노드- Memory: 2048MB- CPU Cores: 2- Disk Size: 24GB- Address: 192.168.56.31- Memory: 2048MB- CPU Cores: 2- Disk Size: 24GB- Address: 192.168.56.32 네트워크 설정값설치 시 기본으로 설정되어있는 dhcp에서..
[k8s] ConfigMap, Secret으로 DB 서버 접속 간단 개념이번에는 ConfigMap, Secret 이 두 가지 오브젝트를 다뤄보겠습니다.개발을 하다보면 상황에 따라 IP 주소나 key 값과 같은 설정 값을 바꿔야 할 때가 있습니다. 여러가지 테스트를 하며 바꿀 수도 있고, 또 개발 환경과 배포 환경을 분리하기 위해 값을 바꿔줄 수도 있는데 각 상황에 맞게 이미지를 따로 두어 관리하기에는 용량의 부담도 있고 번거로우므로! ConfigMap과 Secret을 사용하여 상황에 맞게 환경 변수를 관리합니다. 💡 일반 상수를 담은 ConfigMap과, 키를 담은 Secret을 만들고 Pod 생성 시 이 두 오브젝트들을 연결하면 Container의 환경변수에 이 데이터가 반영됩니다. 마치 개발 시 사용하곤 했던 .env 파일과 비슷하죠? 실습ConfigMap과 ..
[k8s] Pod 생성 및 볼륨 설정 Pod를 생성해보겠습니다.제가 생성하려는 pod는 두 개의 컨테이너를 담고있으며, volume을 서로 공유하는데요. 여기서 1) emptyDir 방식으로 공유하는 버전과 2) hostPath를 공유하는 버전 이렇게 두 가지로 생성해보겠습니다.각 컨테이너의 이미지로 nginx와 busybox를 사용했습니다. 버전 1은 대시보드로, 버전 2는 cli로 해볼게요! 1️⃣ emptyDir로 파일을 공유하는 Pod 생성Pod 내부에 생성되고, 최초 생성 시 항상 볼륨이 비어있기 때문에 emptyDir이라고 불립니다. Pod가 재생성되면 데이터가 전부 사라져요.동일한 디렉토리에 대해 컨테이너별로 서로 다른 이름으로 마운트할 수 있습니다.하지만 결국 동일한 디렉토리를 가리키고 있습니다. apiVersion: v1ki..
[Docker] Multi-stage Build Docker 이미지를 만들 때, 빌드 과정에서 사용하는 여러 패키지나 라이브러리가 최종 이미지에 포함되면 불필요하게 이미지 크기가 커질 수 있다.애플리케이션을 배포하기 위한 최종 이미지는 빌드에 사용된 도구나 개발 의존성을 포함할 필요가 없으므로 이런 부분을 제거하고 필요한 파일만을 포함시키는 것이 좋다.이를 해결하기 위해 Multi-stage 빌드(Multi-stage Build)를 사용한다. Multi-stage 빌드란?Multi-stage 빌드는 Dockerfile에서 여러 개의 스테이지를 정의하여 빌드 과정과 실행 환경을 분리하는 방법이다. 각 스테이지는 독립적으로 실행되며, 이전 스테이지에서 생성된 아티팩트를 다음 스테이지로 전달하는 방식으로 진행된다. 이 방식은 최종 이미지에 필요한 파일만 남..
[Docker] Node.js 경량 웹서버 컨테이너화 및 MySQL 연동 소스코드 다운로드Node.js 경량 웹서버 코드는 여기서 받을 수 있다. GitHub - docker/getting-started-app: A simple application for the getting started guide in Docker's documentationA simple application for the getting started guide in Docker's documentation - docker/getting-started-appgithub.com $ git clone https://github.com/docker/getting-started-app.git MySQL 컨테이너 활성화1. 네트워크 생성$ docker network create todo-app 2. MySQ..
자기소개서 질문 및 답변 모음 보호되어 있는 글입니다.
[Docker] Networking 이 글은 도커 공식문서(Docker workshop)를 기반으로 정리되었습니다.  공식 튜토리얼에서 이렇게 설명한다.'컨테이너 시작 시 네트워크를 할당하거나, 이미 실행 중인 컨테이너에 네트워크를 할당할 수 있다.'$ docker network create todo-app 네트워크를 할당하는 것치고 명령어가 너무 간단하다.내가 아는 그 네트워크가 맞는 건가 싶어 공식 문서의 설명을 읽어보았다.  NetworkingLearn how networking works from the container's point of viewdocs.docker.com ❓네트워킹 : 컨테이너의 관점에서.컨테이너 네트워킹은 컨테이너들이 서로 또는 Docker 외부의 워크로드와 연결 및 통신할 수 있도록 하는 기능을 의미한다. ..
Openstack 구축 매뉴얼 제가 직접 만든 매뉴얼은 아니고, 예전에 오픈스택 구축 시 참고한 Openstack Study 자료인데 필요 시 사용할 목적으로 여기 기록해둡니다. 출처는 아래 표기해두었습니다. 출처👇🏻 openstack-study/2017-fall-basic/2017.11.30_class_3.md at master · openstack-kr/openstack-studyThe repository for study activities in OpenStack Korea User Group (오픈스택 한국 커뮤니티 스터디를 위한 저장소입니다) - openstack-kr/openstack-studygithub.com Second Heading# 2017.11.30 (목) Class 3======================..