Docker 38

내가 보려고 정리한 Docker 명령어 : 자주 사용하는 명령어 정리

Virtual Box / Ubuntu에서 Docker 설치 이전 버전 설치 제거 sudo apt-get remove docker docker-engine docker.io containerd runc 패키지 설치 툴 명령어 sudo apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common 공식 GPG 키 등록> ubuntu@ubuntu-VirtualBox:~$‌ curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 공식 GPG 키 추가 확인 ubuntu@ubuntu-VirtualBox:~$‌ sudo ..

Kubernetes :: 이니셜 컨테이너 initial container 실습

initial container: Pod 내에서 다른 컨테이너가 시작되기 전에 먼저 실행되는 컨테이너 본래의 애플리케이션 컨테이너가 시작되기 전에 데이터베이스를 초기화하거나 설정 파일을 다운로드하는 등의 작업을 수행 이전 초기 컨테이너가 성공적으로 완료되어야 다음 초기 컨테이너가 시작 1. pod 파일 생성 (외부에서 yaml 파일 가져옴) 초기화 컨테이너 이름: download-config 이미지: curlimages/curl:7.85.0 HTTPS를 통해 날씨 정보를 다운로드하고 "/usr/share/nginx/html/index.html" 경로에 저장 볼륨 마운트: "/usr/share/nginx/html" 경로에 "weather-data" 볼륨을 마운트하여 다운로드한 데이터를 저장 메인 컨테이너 ..

Kubernetes 실습 :: Helm 서비스 이용

Helm: Kubernetes 애플리케이션을 패키징하고 배포하기 위한 도구 1. Helm 서비스 설치 ubuntu@k8s-master:~$ curl | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null sudo apt-get install apt-transport-https --yes echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list sudo apt-get update sudo apt-get install helm ..

Kubernetes 실습 :: Kubernetes 대시보드 모니터링 실습 (2) 프로메테우스 모니터링 서비스 설치

컨테이너화된 환경에서 시스템 및 서비스 모니터링을 위한 오픈 소스 시스템 1. git에서 실습을 위한 monitoring 리소스 가져오기 외부 리포지토리에서 원하는 디렉토리만 선택적으로 가져오는 작업 수행 sparse checkout을 통해 특정 디렉토리만 로컬에 유지 Sparse checkout: Git에서 리포지토리의 일부 파일 또는 디렉토리만 로컬에 체크아웃하는 기능 ubuntu@k8s-master:~$ git init monitoring >> monitoring 저장소 생성 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the..

Kubernetes 실습 :: Kubernetes 대시보드 모니터링 실습 (1)

Kubernetes 실습 :: Kubernetes 대시보드 모니터링 실습 (1) IT 시스템에서 CPU 사용량, 메모리 사용량, 네트워크 트래픽과 같은 데이터를 수집 및 분석해 성능과 동작을 파악하여 시스템에 문제가 있는 것으로 추정되는 이상 동작이나 조건을 감지 경고 하는 것 일정한 단격으로 수집되는 사전 정의된 메트릭과 로그에 의존 시스템에서 외부로 출력되는 값만을 사용하여 시스템 내부 상태를 예측하는 것 >> 내부 시스템에 대한 이해를 근거로 발생 가능한 이벤트를 예측하고, 이 예측을 바탕으로 IT 운영 자동화 복잡하고 동적인 시스템에서는 문제를 빠르게 찾고 해결하기 위해 시스템의 동작과 성능을 측정, 분석에 도움 문제 해결 속도 향상 전체 시스템 이해도 증가 대규모 시스템 관리 가능 문제 예방 및..

Kubernetes 실습 :: Virtual Machine에서 Kubernetes 설치 (6) 대시보드 인증서 생성

Kubernetes 실습 :: Virtual Machine에서 Kubernetes 설치 (6) 대시보드 인증서 생성 Ver. 1 / Ver. 2 권한 설정을 완료하였으나, 홈페이지에서 로그인 페이지가 뜨지 않아 방법만 정리 후, 간단하게 요약한 방법으로 인증서 설정 완료하였음. 따라서, 오류가 있는 완벽하지 않은 방법이니 절차 따라하지 않을 것. dashboard_rbac 디렉토리를 만들어 작업 진행 1. dashboard_rbac 디렉토리 생성 ubuntu@k8s-master:~$ mkdir dashboard_rbac ubuntu@k8s-master:~$ ls 2163 cd Desktop Downloads Pictures pwd Templates calico.yaml dashboard_rbac Docu..

Kubernetes 실습 :: Virtual Machine에서 Kubernetes 설치 (5) 대시보드 생성

Kubernetes 실습 :: Virtual Machine에서 Kubernetes 설치 (5) 대시보드 생성 1. Kubernetes 클러스터에 노드 추가 ubuntu@k8s-node1:~$ sudo kubeadm join 192.168.56.100:6443 --token mxmi8f.e4q20ddh2xcuax81 \\ --discovery-token-ca-cert-hash sha256:df2b759375f568a72beaac4a5064f510fc145efb01a844769d4c2770c23ff824 2. Master 서버에서 Calico 네트워크 정책을 Kubernetes 클러스터에 배포 master 서버와 node 서버의 네트워크 설정 Calico 네트워크 정책: Kubernetes 클러스터에서 네트..

Kubernetes 실습 :: Virtual Machine에서 Kubernetes 설치 (4) swap 영구 비활성화

Kubernetes 실습 :: Virtual Machine에서 Kubernetes 설치 (4) swap 영구 비활성화 master 및 node1~3 서버에 모두 적용 swap을 사용하지 않는 이유 swap 공간은 디스크에 있는 가상 메모리 공간으로, 메모리가 부족하여 swap이 사용되면 애플리케이션의 성능이 저하 메모리 부족 이슈 식별이 어려움 node는 ssh로 접속하여 작업 진행 ubuntu@k8s-master:~$ sudo systemctl list-unit-files --type swap ubuntu@k8s-master:~$ sudo systemctl mask dev-sda2.swap ubuntu@k8s-master:~$ sudo systemctl list-unit-files --type swap..

Kubernetes 실습 :: Virtual Machine에서 Kubernetes 설치 (3) node 서버 생성

Kubernetes 실습 :: Virtual Machine에서 Kubernetes 설치 (3) node 서버 생성 1. master 서버 호스트 이름 지정 ubuntu@ubuntu:~$ sudo hostnamectl set-hostname k8s-master ubuntu@ubuntu:~$ sudo vi /etc/hosts 127.0.0.1 localhost 127.0.1.1 k8s-master # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allroute..

Kubernetes 실습 :: Virtual Machine에서 Kubernetes 설치 (2) master 서버 설정

Kubernetes 실습 :: Virtual Machine에서 Kubernetes 설치 (2) master 서버 설정 Vscode로 서버(192.168.56.100) 접속 Host 192.168.56.100 HostName 192.168.56.100 User ubuntu Port 22 1. SWAP 영구 비활성화 비활성화가 영구적으로 적용되지 않아 추후 다시 작업 진행 예정 ubuntu@ubuntu:~$ sudo swapoff -a // 스왑 공간을 비활성화 [sudo] password for ubuntu: ****** ubuntu@ubuntu:~$ free // 메모리 사용량을 표시 total used free shared buff/cache available Mem: 4001000 953268 183..