Docker (10) 썸네일형 리스트형 Docker. 기타 설정 [1. 개요] [2. non-root 계정에서 도커 명령어 실행] # usermod -aG docker "user_이름" 볼륨, 영구 볼륨, 영구 볼륨 클레임 볼륨 emptyDir hostPath downwardAPI projected nfs iscsi cephfs emptyDir 특징 pod 용 임시 디스크 영역 pod 종료 시 삭제 된다. host 의 임의 영역을 마운트 할 수 없음. 리소스 제한이 가능하며, 초과 사용 시 pod 가 축출(Evict) 된다. # emptyDir.sizeLimit: 128Mi tmpfs 로 할당 가능하다. 역시 초과 사용 시, OOM 이 발생하여 pod 가 정지 된다. # emptyDir.medium: Memory hostPath node 의 영역을 컨테이너에 마운트 한다. host 의 어떤 영역을 사용할 지 지정해야 한다. # Directory, DirectoryOrCreate, File, Socket, BlockDevic.. pod stuck [1. 개요] pod 생성 시, status 가 계속 ContainerCreating 인 경우 describe 로 pod 상태 확인 시, cni.0 ~~ ip 문제 인 경우 이런 상황에서 해결 방법? [2. 원인] CNI 플러그인으로 flannel 설치 시에도 문제가 되었던 부분이 있었는데, host 상에 ifconfig 로 네트워크 인터페이스에 할당 된 ip 주소 범위가 겹치는 경우 주로 발생했음 kubectl get services 에서 service/kubernetes 의 Cluster-ip : 10.96.0.1 일 때, --pod-network-cidr 및 kube-flannel.yml 에서 ip 주소 대역을 10.96.0.0/16 으로 명시한 경우 [3. 해결책] Docker 및 쿠버네티스 설치.. 워크로드 API [1. 개요] 쿠버네티스에서 컨테이너 실행에 관련된 리소스 제공 사용자가 직접 사용하는 리소스 Pod => 가장 작은 실행 단위 ReplicaSet => Deployment => DaemonSet => ReplicaSet 의 변종 => 각 노드에 Pod 를 하나씩 배치 => 레플리카 수 지정이 불가능하다. => Pod 를 배치하고 싶지 않은 노드가 있는 경우 스케줄링에서 제외 가능 => nodeSelector, Anti-Affinity StatefulSet => ReplicaSet 의 변종 => Pod 명이 바뀌지 않는다. => 데이터를 영구적으로 저장하기 위한 구조로 되어 있다. => 영구 볼륨, 영구 볼륨 클레임 => 같은 데이터를 보유한 상태로 다른 노드에서 컨테이너가 다시 생성될 수 있다. Job.. 쿠버네티스 종류 1. 단일 노드 쿠버네티스 (=로컬 쿠버네티스) 한대의 물리머신에 쿠버네티스 클러스터 구축 이중화가 보장되지 않으며, 사용할 수 없는 기능도 다수 존재 minikube, Docker desktop, kind Docker desktop 에서 설정에서 쿠버네티스를 활성화 할 수 있다. => wsl 접속 후, kubectl 로 바로 배포 가능. => 단일 노드이므로, 멀티 노드처럼 따로 설정이 복잡하진 않다. => 테스트 환경으로 사용하면 좋을 듯. 2. 멀티 노드 쿠버네티스 on premise 형태로 쿠버네티스 클러스터 구축 => on premise 란? aws 같은 클라우드 환경이 아닌, 머신을 직접 운영하는 환경 kubectl, kubeadm, kubelet 등을 이용하여 쿠버테스트 환경 구축 노드 내 .. 쿠버네티스 설치 과정 [1. 개요] 리눅스 서버에 쿠버네티스 설치 과정을 정리 Host OS: Ubuntu 20.04 vmware 이용 어느정도 설치 후, snapshot 으로 이미지 복제해서 사용 => 기존에 사용하던 이미지 파일이 존재하는 디렉터리를 통째로 복사해서 따로 저장 [2. 설치 개요] 전체 적인 과정은 ubuntu 나 centos 나 비슷하다. 각 노드 별, hostname 을 유니크하게 설정 => 멀티 노드 클러스터 구축 이후, 노드 구분을 위함. 쿠버네티스 repository 설정 => redhat 계열과 debian 계열이 좀 다름 docker 설치 => 최초 설치 시, cgroup driver 가 cgroupfs 이면, systemd 로 변경이 필요하다. => 버전은 18 버전 이상이면 됨(?). swa.. Docker 테스트 환경 구축 [1. 개요] 개인적으로 유용하게 사용하는 docker 리눅스 컨테이너 환경에서 초기 이미지 구축 과정 정리 centos 7 기반이지만, ubuntu 에서도 사용 가능 단, 일부 명령어 수정이 필요 코드 빌드 테스트 ... [2. 작업] docker pull centos:7 docker run -itd --name --privileged mycentos centos:7 /sbin/init => /sbin/init 을 먼저 실행해야 => Failed to get D-Bus connection: Operation not permitted 해결 할 수 있다. docker exec -it mycentos bash yum -y update && yum -y upgrade yum -y install epel-rel.. docker compose 설치 [1. 개요] docker compose 란? 여러 개의 docker container 를 간단하게 실행하기 위한 하나의 툴이다. 어떤 서비스가, mysql container 와 이를 사용하는 어떤 application 을 실행하는 컨테이너로 구성되어 있을 때, 두 컨테이너를 설정파일에 맞게 알아서 실행시켜 준다. (작업자가 mysql container 를 실행하고, application container 를 실행 할 필요가 없다.) 설정파일은 yml 파일 형식으로 작성한다. [2. 설치] windows docker 는 보통 docker compose 를 따로 설치 할 필요가 없다. 설치가 필요한 경우 linux 와 비슷한 방식으로 설치하면 된다. linux 에서는 아래와 같은 방식으로 docker co.. windows docker 설치 [1. 개요] [2. 설치] https://www.docker.com/get-started/ Downloads for Window 도커 설치 후 윈도우 재부팅 진행 wsl 커널 버전2 를 사용하는 것을 권장(필수) => https://docs.microsoft.com/ko-kr/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package => https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi $ wsl -l -v => wsl 커널 버전 확인 $ wsl --set-default-version 2 $ wsl --set-version "" 2 [3. vm.. Linux docker 설치 [1. 설치 환경] OS: Ubuntu 20.04.3 LTS [2. 설치] $ sudo apt update $ sudo apt install -y docker.io $ sudo systemctl status docker [3. CentOS 컨테이너 실행] $ sudo docker pull centos:7 $ sudo docker images $ sudo docker run -it --rm centos:7 /bin/bash === 도커 컨테이너 내부 # cat /etc/system-release # yum install net-tools 이전 1 다음