Infra 40

[k8s] Ubuntu 22.04 설치 정리 231029

# 개인 메모장이므로 소스 버전과 사설IP 등 수정이 필요합니다. # 환경 : proxmox, VM(ubuntu 22.04.3) # 매우 의존한 자료... : https://tech.hostway.co.kr/2022/08/30/1374/ # OS 세팅 # VM 생성 과정에 사용자를 'worker' 생성 # 사용자(worker) sudo NOPASSWD 권한추가 echo 'worker ALL=(ALL) NOPASSWD:ALL' | sudo tee -a /etc/sudoers > /dev/null # 초기 패키지 설치 sudo apt-get update sudo apt-get install -y net-tools gcc vim sysstat ca-certificates curl gnupg apt-transp..

Infra/IaC 2023.10.29

[Docker] Dockerfile 경량화

출처 : 패캠 gitops Dockerfile 기초 Dockerfile 정의 : 컨테이너의 구성정보를 프로비저닝한 텍스트 template 파일 Dockerfile 흐름 : Dockerfile -> docker build -> image registry(dockerhub) -> deploy docker image Dockerfile 명령어 : https://docs.docker.com/engine/reference/builder/ 빌드 명령어 : docker build -t IMAGE_NAME:TAG [-f DOCKERFILE_NAME] DOCKERFILE_LOCATION Dockerfile 최적화 : 경량의 컨테이너 서비스 제공 dockerfile 작성 고려 사항 : https://docs.docker...

Infra/IaC 2023.10.26

[Docker] docker volume 데이터 지속성 및 데이터 관리

출처 : 패캠 gitops https://docs.docker.com/storage/volumes/ 1. Bind mount 호스트에서 직접적인 관리된다. docker run ~~ -v /host-volume:/app ~~ docker run ~~ --mount type=bind,source=/host-volume ~~ # 리눅스 mount와 유사 예시1 : redis 설치에 config 파일에 패스워드를 설정하여 그 파일을 바인트 마운트 한다. 예시2 : 파일 투 파일로 연동. 시간동기화: /etc/localtime (Dockerfile로 설정이 편하긴함) 2. docker volume 도커의 볼륨 드라이버로 도커가 관리함.(도커에서 권장하는 방법) docker volume create my-volum..

Infra/IaC 2023.10.26

[iptime] VPN - wireguard 설정

환경 집 : iptime + proxmox iptime : pfsence 대신 이미 사용중인 iptime을 사용중 proxmox : docker host 등 학습용 가상환경 운영 VPN 필요성 1. 고정된 서비스 포트 설정 불필요 외부에서 컨테이너 접속을 위해 iptime 공유기에 포트포워딩 설정을 수작업으로 해야한다. 외부 서비스를 위한 포트(예: tcp 80,443)라면 고정된 포트를 사용하는게 맞다. 그러나 현재는 학습을 위한 상황이므로 나만 접속할 수 있으면 된다. 2. 잦은 포트 변경 컨테이너의 포트가 고정되어 있다면 괜찮겠지만 학습중인 현재 수시로 변경될 것이다. 컨테이너 포트 생성/삭제/변경 할때마다 방화벽 포트포워딩 설정을 안하기 VPN 종류 L2LP : 통신사(KT, SKT, U+)에서 ..

Infra/Cloud 2023.10.25

[Docker] 리소스 모니터링과 자원 할당 관리

출처: 패캠 gitops 1. 컨테이너 리소스 모니터링을 위한 cadvisor cAdvisor : 구글 오픈소스 컨테이너 모니터링 도구 설치 방법 : https://github.com/google/cadvisor observability tool : cadvisor + prometheus(+node-exporter) + Grafana prometheus : 8080 포트 변경 권고 docker compose up -d # docker compose 사용. -d -> 백그라운드 실행 # Resource Limit 리소스 런타임 제한 htop(top의 상위호환) : 다른 세션에 모니터링 하면서 리소스 소비 제어 실시간 확인용도. CFS : Completely Fair Scheduler ## CPU -c, -..

Infra/IaC 2023.10.24

[Proxmox] Wake on Lan(WOL)

https://pve.proxmox.com/wiki/Proxmox_Node_Management 참고 블로그: https://it-svr.com/proxmox-ve-wol-enable/ BIOS설정 메인보드마다 설정이 다르므로 설명 생략 WoL 설정 NIC 확인 : ip a | ifconfig NIC wol 설정 ethtool enp6s0 |grep Wake-on Wake-on: d # 비활성화. 활성화일 경우 'g' ethtool -s enp6s0 wol g # vi /etc/network/interfaces iface enp6s0 inet manual post-up /usr/sbin/ethtool -s enp6s0 wol g # 추가 auto vmbr0 ...(생략) WoL 실행 WoL을 실행하는 방법..

Infra/Cloud 2023.10.23

[Docker] Network 관리

docker network == linux bridge 리눅스의 네트워크 브릿지를 사용한다. CNM 안의 libnetwork를 관리한다. docker network ls docker network inspect bridge veth : virtual ethernet device 브릿지와 컨테이너의 네트워크의 한 쌍이다. sudo apt install bridge-utils brctl show network driver 종류 host : 호스트의 네트워크를 사용. 컨테이너의 ip가 없다. none : 네트워크 연결 안함 bridge : 기본값. 다른 도커서버와 클러스터링 등에 사용 mac : 맥주소만 생성한다. 사용자 정의 네트워크 : docker create [name] 예시 : https://docs...

Infra/IaC 2023.10.20

[Docker] 컨테이너 운용에 필요한 CLI

Docker CLI https://docs.docker.com/engine/reference/commandline/cli/ docker [container] 컨테이너가 기본값이다. 그래서 다른 명령어와 달리 명시하지 않고 사용 가능하다. # 모니터링을 위한 상태 확인 docker top docker port docker stats > cadvisor 도커를 올려서 모니터링도 가능 로그 목적 : 컨테이너 내부의 오류를 알려주기 위해 사용한다. docker logs -f [컨테이너] docker info | grep -i log # 로그 정보 확인 가능. vi /etc/docker/daemon.json # 도커 데몬에 대한 설정으로 제어 가능 컨테이너에 옵션으로 설정도 가능. docker inspect do..

Infra/IaC 2023.10.17