Micro Service Architecture (25) 썸네일형 리스트형 [harbor] self-signed certificate (사설 인증서) 적용하기 참조 : [Harbor] 설치 및 LDAP 연동, 이미지 Push/Pull 해보기 Harbor 호스트 작업Root CA(Certifocate Authority) 인증서 생성CA 개인키 생성openssl genrsa -out ca.key 4096 CA Public Key 생성openssl req -x509 -new -nodes -sha512 -days 3650 \-subj "/C=KR/ST=Gyeonggi-do/O=Seongnam-si/OU=test/CN=harbor.test.com" \-key ca.key \-out ca.crt Server 인증서 생성Server 개인키 생성openssl genrsa -out harbor.test.com.key 4096 Server CSR(인증서 서명 요청) 생성open.. [kubernetes] 클러스터 구축. <Rocky Linux + kubernetes + cri-o + calico> 구축 환경Proxmox VM으로 node 환경을 구축했다.Nodetest-master 172.16.100.91test-worker1 172.16.100.92test-worker2 172.16.100.93설치 정보Rocky Linux 9.5kubernetes 1.32runtime : cri-o 1.32CNI : calico 3.25runtime 성능 지표 참조https://www.ki-it.com/xml/41154/41154.pdfCNI 성능 지표 참조https://itnext.io/benchmark-results-of-kubernetes-network-plugins-cni-over-10gbit-s-network-36475925a560https://ykarma1996.tistory.com/179 Swap .. [Harbor] 설치 및 LDAP 연동, 이미지 Push/Pull 해보기 harbor는 private container image registry이다.harbor를 docker로 배포하고 계정 인증(LDAP)이나 기타 사항에 대한 내용을 생각나는 대로 정리해보고자 한다. 환경Rocky Linux 9Harbor 2.12.2 Docker 설치yum install -y yum-utilsyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginsystemctl enable dockersystemctl start docker Do.. 23. Docker Network - Host 1. 개념 : container의 네트워크 스택은 Docker host와 분리되지 않으며, container는 host의 namespace를 공유. - 이에 따라 자체 IP 주소를 할당받지 않고 port 80을 바인딩하는 container는 호스트 IP 주소에 있는 port 80을 사용할 수 있음. - vmware의 host network 와는 다름. 2. 컨테이너 생성 # nginx 컨테이너를 host 네트워크로 생성 $ docker run -itd --name=test_nginx_1 --net=host nginx:latest 3. 네트워크 확인 # test_nginx_1 컨테이너가 할당되었지만 IP 정보는 없음. $ docker network inspect host ... "Containers": {.. 22. Docker Network - Bridge (net-alias) 1. 목적 : 동일 역할을 하는 컨테이너를 같은 그룹으로 묶고 로드밸런싱등의 기능을 수행할 수 있음. - 외부 트래픽 → net-alias 그룹내 컨테이너1,2,3.... 2. bridge network 생성 $ docker network create --driver bridge --ip-range 172.22.0.0/16 --subnet 172.22.0.0/16 --gateway 172.22.0.1 test_default 3. 컨테이너 생성 및 그룹핑 # frontend, backend 모두 같은 브릿지 네트워크에 할당하고 backend 컨테이너 들은 alias1 이라는 이름으로 그룹핑. # backend $ docker run -itd --name=test_nginx_1 --net=test_defau.. 21. Docker Network - Bridge (네트워크 공유) 1. 네트워크 공유 : - 컨테이너 가상 인터페이스를 공유. - 같은 IP을 가상 인터페이스에 할당 받게 됨 2. 네트워크 생성 # 172.22.0.0/24 대역의 172.22.0.1의 게이트웨이를 가지는 test_defualt이름의 브릿지 네트워크 생성 $ docker network create --driver bridge --ip-range 172.22.0.0/16 --subnet 172.22.0.0/16 --gateway 172.22.0.1 test_default 3. 컨테이너 생성 및 네트워크 할당 # nginx 컨테이너를 test_nginx_1 이름으로 test_default 네트워크로 할당 $ docker run -itd --name=test_nginx_1 --net=test_default -.. 20. Docker Network - Bridge (기본) 1. docker 초기 네트워크 list : cluster가 아닌 단독 머신 $ docker network ls NETWORK ID NAME DRIVER SCOPE 102b4a4b9e3c bridge bridge local # bridge 모드 f77f1779e8f2 host host local # 호스트와 만 통신 66f90b6293cc none null local # 없음. 2. 통신 흐름 (위 그림 참조) - 외부 → 호스트 eth0 → docker0 (docker bridge) → veth*(docker0 ↔ container 사이의 가상 인터페이스) → container eth0 3. 인터페이스 확인 # 컨테이너 2개가 실행 중이고 새로운 브릿지(test_default)를 생성해 할당 $ doc.. 19. docker-compose 문법 1. version : docker compose 버전, 버전 별로 차이가 있으므로 버전을 정이해주는 것이 좋음. version: "3" 2. image : 로컬에 이미지가 없다면 docker hub에서 다운로드하여 베이스 이미지로 사용. services: # 컨테이너의 서비스라는것을 정의 nginx: # [이미지명]: image: centos:7 # image: [이미지명]:[태그명] 3. build : 이미지를 정의할때 dockerfile을 사용하여 빌드할 수 있음. # dockerfile이 같은 디렉토리 내에 있으면 # docker-compose.yml services: nginx: build: . # dockerfile이 다른 디렉토리에 있다면 services: nginx: build: conte.. 18. [docker] Bash Completion docker 명령어 사용시 자동완성(tab 사용) 기능을 제공 ## 패키지 설치 yum install bash-completion ## 다운로드 curl -o docker_completion.sh https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker ## 실행 source /PATH/TO/docker_completion.sh or echo "source /PATH/TO/docker_completion.sh" >> ~/.bashrc 17. [docker] Private Registry(Harbor) 설치 및 Portainer 연동 1. 필수 유틸 : Docker, Docker-compose - 참조 : 기본 SSL 통신을 하며 인증서가 필요하지만 테스트 구축에는 https 없이 http로 통신 ## DOCKER 설치 [root@Harbor harbor]# curl -s https://get.docker.com | sudo sh ## docker-compose 설치 [root@Harbor harbor]# curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose [root@Harbor harbor]# chmod +x /usr/local/bin/doc.. 이전 1 2 3 다음 목록 더보기