2-1. 쿠버네티스 설치 / 설치 없이 웹에서 실습하기.
·
쿠버네티스
Play with kubernetes란?Docker에서 제공해주는 쿠버네티스 연습 사이트.Docker hub 계정으로 로그인 가능.설치 과정 없이 웹에서 쿠버네티스를 실습 가능.한 번 접속에 4시간 사용 가능.사용 방법링크 : https://labs.play-with-k8s.com/ LNB의 +ADD NEW INSTANCE 버튼 선택# 클러스터 마스터 노드 초기화1. Initializes cluster master node: kubeadm init --apiserver-advertise-address $(hostname -i) --pod-network-cidr 10.5.0.0/16# 클러스터 네트워크 시작하기2. Initialize cluster networking: kubectl apply -f htt..
1. 쿠버네티스 입문 및 소개
·
쿠버네티스/cka
실습 예제https://github.com/237summit/Getting-Start-Kubernetes쿠버네티스 소개 쿠버네티스란?컨테이너를 도커 플랫폼에 올려서 관리 + 운영 + 클러스터 서비스를 지원해주는 것을 의미함container orchestration컨테이너란?nodejs 기반의 app.js 를 실행하기위해Dockerfile 에 nodejs 기반을 생성 후 app.js 복사, node > app.js 순서로 실행 컨테이너 동작을 위한 플랫폼이 필요함 (보통 도커, 로켓 등을 사용)컨테이너 이미지 생성하기컨테이너를 만들어서 저장소에 저장.docker platform 생성linux 시스템에 docker 설치docker deamon start이후 container 빌드 및 실행이 가능한 상태.co..
Docker Install on VM (Ubuntu 22.04)
·
쿠버네티스/docker
시스템 정보 확인하기sudo -i : 슈퍼 유저 또는 루트 권한으로 사용자를 전환root권한 주기 System 을 보는 데에는 root 권한이 필요한 경우가 많음cat /etc/os-release : os release 버전 확인Ubuntu 22.04.3 LTS 버전 확인된 상태uname -r : 현재 설치되어 있는 리눅스 커널 버전 확인6.5.0-28-generic 설치되어있는 상태free -h : 시스템 메모리 사용량 확인 (사람이 이해하기 쉬운 단위로 표기)lscpu : cpu 정보 확인2 core cpu 가 들어있음lscpu : hdd 정보 확인20GB HDD 확인 가능Docker Engnin 설치참고 링크 : https://docs.docker.com/engine/install/ubuntu/re..
9-2. 빌드에서 운영까지
·
쿠버네티스/docker
도커 컴포즈 설치하기참고 링크 : https://docs.docker.com/compose/install/standalone/docker compose 다운로드하기실행커미션이 없는 상태실행커미션 할당컨테이너 빌드에서 운영까지참고 링크 : https://docs.docker.com/compose/gettingstarted/디렉토리 생성하기빌드를 위한 Dockerfile생성app.py 생성하기도커파일에서 컨테이너 python base image에 library 설치할 때,requirements.txt에 있는 라이브러리를 설치함을 명시함.Dockerfile 생성함base image = python 작업 directory = /code환경변수 FLASK_APP=app.py                FLASK_..
9-1. 빌드에서 운영까지
·
쿠버네티스/docker
도커 컴포즈란?여러 컨테이너 일괄적으로 정의하고 실행할 수 있는 툴하나의 서비스를 운영하기 위해서는 여러개의 애플리케이션이 동작해야 함.컨테이너화 된 애플리케이션들을 통합 관리할 수 있음.도커 컴포즈 실행 방법도커를 실행할 때 추가한 옵션들을 docker command가 아닌, YAML형태로 만들음 (port, bolumes, name ..)docker compose에게 요청하여 도커명령어로 해석하여 docker container 운영도커 컴포즈 명령어docker compse ps : 도커 컴포즈를 통해 실행한 컨테이너 실행 상태 확인 및 삭제/제거/로그 확인 가능도커 컴포즈로 컨테이너를 실행할 수 있나요?문법에 맞춰 도커 컴포즈가 이해할수있는 YAML파일을 만들어서 전달함.참고 링크 : https://..
8-2. 컨테이너간 통신(네트워크)
·
쿠버네티스/docker
컨테이너 네트워크 사용하기docker 0 : docker 0 bridge Networkip addrdocker0 는 172.17.0.1 ip를 가지고 있음.brctl showdocker 0가 bridge interface라는 것을 확인할 수 있음모든 컨테이너는 docker 0 네트워크를 통해 외부로 송출됨docker run --name c1 -it busybox도커제로안에서 만들어진 컨테이너는 177.17.0.2 , 3, 4, .... 순차적으로 ip 할당되어짐첫번째로 실행된 container 은 177.17.0.2docker run --name c2 -it busybox두번째로 실행된  container 은 177.17.0.3ping -c 3 8.8.8.88.8.8.8 : google dns외부 통신이..
8-1. 컨테이너간 통신(네트워크)
·
쿠버네티스/docker
컨테이너 통신 방법Container Network Modeldocker0virtual ethernet bridge:172.17.0.0/16 값을 가지는 bridge network 가 docker 0.이 대역대 안에서 docker 0는 172.17.0.1 ip를 가지고 gateway 역할을 함.L2 통신기반container 생성 시 veth 인터페이스 생성(sandbox)모든 컨테이너는 외부 통신을 docker0을 통해 진행container running 시 172.17.X.Y로 IP 주소 할당.container 통신 방법docker host system 에서 docker deamon이 실 행되면 docker 0 라고 하는 docker network interface가 생김 docker 0은 virtual..
7-2.Docker Container Storage
·
쿠버네티스/docker
mysql DB data 영구 보존하기docker run -d --name db -v /dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pass mysql:latesthost path (/dbdata) 와 container path (/var/lib/mysql) 를 연결시켜 볼륨마운트를 통해 연결container path 에 db 의 컨텐츠가 쌓이는데 이를 /dbdata 에 영구적으로 보존.docker  run -v : 실행하기경로 및 실행중인 docker 확인/dbdata 경로 없음, 실행중인 docker .없음.docker run -d --name db -v /dbdata:/var/lib/mysql-e MYSQL_ROOT_PASSWORD=pass mysql:latest..