목록MLOPS (62)
중요한건 꺾이지 않는 맥북
쿠버네티스에 대한 구조와 원리를 모르는 상태에서 세팅부터 하려니 막막했다. 따라서 먼저 몰랐던 부분이나 전체적인 구조에 대해 자세히 적어놓은 링크들을 걸어놓는다. 쿠버네티스 클러스터 구성 요소 https://sphong0417.tistory.com/53 [Kubernetes 내부 구조 이해하기] 1. 쿠버네티스 클러스터 구성 요소 그동안 쿠버네티스를 사용하면서 헷갈렸던 부분이나 사용은 했지만 원리를 알지 못했던 부분들에 대해 정리해보고자 글을 작성하려고 합니다. 이 글은 Kubernetes In Action을 읽고 참고하여 작성하 sphong0417.tistory.com 쿠버네티스 네트워킹 이해하기#1: Pods https://coffeewhale.com/k8s/network/2019/04/19/k8s-..
$ systemctl status kubelet ● kubelet.service - kubelet: The Kubernetes Node Agent Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled Drop-In: /etc/systemd/system/kubelet.service.d └─10-kubeadm.conf Active: activating (auto-restart) (Result: exit-code) since Wed 2021-09-01 14:27:17 Docs: https://kubernetes.io/docs/home/ Process: 4242 ExecStart=/usr/bin/kubelet $K..
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 위의 curl 명령어로 도커 컴포즈 라이브러리 설치한다. mkdir composetest cd composetest sudo chmod +x /usr/local/bin/docker-compose ###root권한이 아닌 사용자권한으로 되어있는지 확인하고 써내려가자!!### app.py 파일을 composetest 디렉토리 안에 만든다. app.py import time import redis from flask import Flask app = F..

기본적으로 docker를 설치하게 되면 위와 같이 docker0 가 bridge 역할을 한다. docker0 - virtual ethernet bridge : 172.17.0.0/16 - L2 통신기반 - container 생성 시 veth 인터페이스 생성 (sandbox) - 모든 컨테이너는 외부 통신을 docker0 통해 진행 - container running 시 172.17.X.Y 로 ip 주소할당 PORT-FORWARDING - container port 를 외부로 노출시켜 외부 연결 허용 - iptables rule을 통한 포트 노출 -p hostPort:containerPort -p containerPort -P $ docker run --name web -d -p 80:80 nginx:1...

예를 들어 mysql 디비를 사용할 때 컨테이너의 /var/lib/mysql의 rw 레이어에 수많은 데이터들이 쌓이게 된다. 따라서 도커호스트에 특정 저장소를 생성한다. 디렉토리가 될수도 있고 디스크가 될수도 있고 상관없다! 컨테이너가 만들어주는 데이터를 /dbdata에 마운트한다 명령어는 다음과 같다 $ docker run -d --name db -v /dbdata:/var/lib/mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=pass mysql:latest --보안이슈-- 컨테이너가 도커 호스트의 데이터를 수정할 수 있다면 해킹의 위험에 노출된다 따라서, :ro 라는 옵션으로 readonly 명령을 내려서 볼륨을 마운트하게 해준다 $ docker run -d --name db -v ..

1. Kubernetes K8s는 컨테이너의 집합(Pod)을 효율적으로 배포•관리하기 위한 오픈소스 Ochestrator이다. kubectl : kubectl은 간단하게 명령어를 보내는 역할만 한다. 예) kubectl get pods ( pod들을 확인하는 명령어 ) Master : K8s의 전체적인 Control Worker(Node) : Container가 배포되어 구동되는 Node API Server :간단하게 명령어를 전달해주는 역할만 진행한다. 또한 etcd클러스터랑 통신한다. 이 정도만 알고 가자 Node, Web Console, Cli 명령어 등과 통신 Etcd : kubernetes 클러스터 데이터(포드 수,상태,네임 스페이스 등), API 객체 및 서비스 검색 세부정보를 저장하는 데 사..