본문 바로가기

따배도

따배쿠 3장 kubectl 실습 및 pod 생성하기 전반적인 쿠버네티스 설치과정 Docker install 설치 전 환경설정 kubeadm,kubectl,kubelet 설치 control-plane 구성 worker-node 구성 설치확인 쿠버네티스에서는 최소 램2기가 Cpu2코어이상 사용하는 것을 권장하고있다. ec2에 클러스터구축는방법도 올리고 싶지만... sw마에스트로 멘토님이 주신자료라 올리기가.. 조금 그렇다 ㅎㅎ.. kubeadm 쿠버네티스의 공식 설치 툴 CNI(Container Network Interface) CNI를 구성해야만 서로 통신가능하다. CNI: 컨테이너간 통신을 지원하는 VxLan(pod Network) 대표적으로 ex) 폴라넷(flannel),칼리코(calico),위브넷(weavenet) TMI:내가 오늘 CNI때문에 고생.. 더보기
10-1 빌드에서 운영까지 (using Docker Compose) - 이론편 Q1.도커컴포즈는 뭐예요?? 여러 컨테이너를 일괄적으로 정의하고 실행할 수 있는 툴 https://github.com/docker/awesome-compose/tree/master/official-documentation-samples/wordpress/ docker compose.yml 예시 services: db: # We use a mariadb image which supports both amd64 & arm64 architecture image: mariadb:10.6.4-focal # If you really want to use MySQL, uncomment the following line #image: mysql:8.0.27 command: '--default-authentication.. 더보기
9-2 컨테이너간 통신(네트워크)- 실습편 Content container network 사용하기 container 포트를 외부로 노출 user-defined network 구성하기 container 간 통신 ( wordpress, mysql 컨테이너 서비스 구축 ) Q1.container network 사용하기 docker0에서 만들어진 container는 기본적으로 “순차적으로” ip가 할당된다 모든 컨테이너는 docker0를 통해서 외부와 통신한다 ( 이 docker0를 bridge network라고 한다 ) docker0 bridge Network ip addr 명령어 실행! ip addr 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 0.. 더보기
8-2 Docker Container Storage - 실습편 Q1. mysql DB data 영구보존하기 sudo docker run -d --name db -v /dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 mysql:latest :를 기준으로해서 앞은 호스트에 저장될공간 뒤는 컨테이너에디렉토리와 -v 불륨마운트하겠다(영구적으로 보존) mysql container 에 접속하기 sudo docker exec -it 8f67a2803939 bash mysql -u root -p Enter password: Server version: 8.0.33 MySQL Community Server - GPL Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a re.. 더보기
7-2 컨테이너 리소스를 관리해야지 -실습편 1.컨테이너 리소스 제한 stress container 생성 CPU 부하테스트: 2개 CPU core를 100% 사용하도록 부하 발생: stree --cpu 2 메모리 부하테스트: 프로세스 수 2개와 사용할 메모리만큼 부하 발생:stress --vm 2 --vm-bytes vi Dockerfile 생성 후 FROM debian MAINTAINER Seunghan Lee RUN apt-get update; apt-get install stress -y CMD ["/bin/sh", "-c", "stress -c 2"] 해당코드를 삽입후 docker build . -t stress 명령어를 입력한다.image 파일이 생김 REPOSITORY TAG IMAGE ID CREATED SIZE stress lates.. 더보기
7-1 컨테이너 리소스를 관리해야지 -이론편 1.컨테이너 하드웨어 리소스 제한 어떻게 해요 ? 기본적으로 컨테이너는 호스트 하드웨어 리소스의 사용 제한을 받지 않는다. docker command를 통해 제한할수 있는 리소스 -cpu -memory -disk i/o docker run --help docker를 사용하다보면 메모리이슈가 많이생긴다고 한다. 그 이유는 무엇일까 ? 도커 컨테이너를 실행할 때 해당 컨테이너는 호스트 운영 체제에서 분리된 프로세스로 실행됩니다. 이 프로세스는 호스트 운영 체제의 리소스를 공유하지만, 가상화된 환경 내에서 독립적으로 실행됩니다. 이러한 가상화된 환경은 각 컨테이너마다 필요한 패키지와 라이브러리 등을 별도로 가지고 있으므로, 메모리 사용량이 높아질 수 있습니다. 도커 이미지를 빌드할 때 사용되는 Dockerfi.. 더보기
6-2 Docker 컨테이너 사용하기 -실습편 1. MySQL Docker 이미지 다운로드 다음 명령어로 MySQL Docker 이미지를 다운로드한다. 태그에 버전을 지정하지 않으면 최신 버전을 다운로드한다. $ docker pull mysql Using default tag: latest latest: Pulling from library/mysql bb79b6b2107f: Pull complete 49e22f6fb9f7: Pull complete 842b1255668c: Pull complete 9f48d1f43000: Pull complete c693f0615bce: Pull complete 8a621b9dbed2: Pull complete 0807d32aef13: Pull complete a56aca0feb17: Pull complete de.. 더보기
6-1 Docker 컨테이너 사용하기 -이론편 Q1.컨테이너 이미지를 어떻게 사용해요 ? create 명령어: 컨테이너화만 시켜주는 역할을함 docker start webserver :webserver 실행 docker ps: 현재컨테이너들의 상태를 확인 docker inspect webserver : 컨테이너를 더욱 자세히 보기위함 docker stop webserver: 컨테이너 중지 docker rm webserver: 컨테이너 삭제 Q2.컨테이너를 실행하고 종료하는 명령을 알고 싶어요 도커 라이프사이클 pull ->create->start run run nginx라고 가정을 하자 그럼 로컬에서 nginx 를 search 를 합니다. 만약 search를 통해 해당하는 nginx를 못찾는다음 docker hub에서 pull받습니다. 그다음 cre.. 더보기