일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- docker
- guru
- Fast API
- 블록체인
- 러스트
- 백준
- fluent python
- Thread
- 전문가를 위한 파이썬
- 동시성
- 파이썬
- 플랫폼
- function
- Python
- 알고리즘
- BAEKJOON
- Container
- 코어 이더리움 프로그래밍
- Network
- Algorithm
- AWS
- rust
- BlockChain
- Refactoring
- IMAGE
- RabbitMQ
- Ethereum
- Kubernetes
- dockerfile
- 이더리움
- Today
- Total
글쓰기 | 방명록 | 관리 |
목록분류 전체보기 (99)
Victoree's Blog
Kubernetes 리소스의 관리와 설정 Namespace : 리소스를 논리적으로 구분하는 장벽 Namespace란? 도커나 스웜모드 사용 시, 컨테이너를 논리적으로 구분하는 방법이 없음 포드, 레플리카셋, 디플로이먼트, 서비스 등의 쿠버네티스 리소스들이 묶여있는 하나의 가상공간 또는 그룹 리소스들을 구분지어 관리할 수 있는 논리 그룹 같은 네임스페이스 내의 서비스에 접근할때만 서비스명으로 접근 가능함 ..svc 기본적으로 default, kube-system, kube-public 세 개의 namespace가 생성됨 서비스, 레플리카셋과 같은 리소스들도 네임스페이스에 별도로 존재함 kube-dns(파드나 서비스등을 이름으로 찾을 수 있도록 하는 서비스)도 kube-system내에 존재 Namespace..
Kubernetes 시작하기 Kubernetes 고유 특징 모든 리소스는 오브젝트 형태로 관리 아래 요소들을 모두 오브젝트라고 간주함 서비스 : 컨테이너의 묶음 파드(Pods) : 컨테이너의 집합 컨트롤러(Replica Set) : 컨테이너의 집합을 관리하는 컨트롤러 사용자(Service Account) 노드(Node) 여러개의 컴포넌트로 구성 쿠버네티스 노드 마스터 : 클러스터를 관리 API-Server, 컨트롤러 매니저, 스케줄러, DNS Server, 프록시, 네트워크 플러그인 워커 : 애플리케이션 컨테이너가 생성 kubelet : 클러스터 구성을 위한 에이전트 Pod : 컨테이너를 다루는 기본 단위 컨테이너 어플리케이션의 기본 단위 하나의 완전한 어플리케이션 1개 이상의 컨테이너로 구성된 컨테이너..
Docker는 Virtual machine이 아니다! $ docker run --name ubuntu_test ubuntu 위 명령어를 실행시켜보면, 쉘창에서는 아무 변화없고 우분투 서버도 실행되지 않고 있다 $ docker ps -a d8f31b2635d9 ubuntu "/bin/bash" 19 seconds ago Exited (0) 17 seconds ago ubuntu_test Status가 "Exited"임을 볼 수 있다 도커 컨테이너는 Virtual Machine과 같이 하나의 온전한 서버를 제공하는 것이 아니라 명령을 실행하는 환경만 제공하고 그 명령을 실행할 뿐이다 우분투 컨테이너 실행 시, 서버를 실행시키는 것이 아니라 "/bin/bash"가 실행되는 것 일반적으로 OS를 실행시킨다? 기..
Docker Compose Docker Compose란? docker compose란 다중 컨테이너 도커 어플리케이션을 정의하고 실행하기 위한 도구 컨테이너를 이용한 서비스의 개발과 CI를 위해 여러 개의 컨테이너를 하나의 프로젝트로서 다룰 수 있는 작업 환경을 제공 여러 컨테이너의 옵션과 환경을 정의한 파일을 읽어 순차적으로 컨테이너를 생성함 $ docker-compose up Docker Compose 파일 작성하기 yml이 무엇일까 YAML ain't markup language의 약자 일반적으로 구성 파일 및 데이터가 저장되거나 전송되는 응용프로그램에서 사용됨 XML이나 json 포맷으로 많이 쓰였으나, 좀더 가독성있는 포맷으로 나타난게 yaml임 docker-compose.yml $ do..
Docker Swarm 도커 스웜 도커 스웜을 사용하는 이유 여러 대의 서버를 클러스터로 만들어 자원을 병렬로 확장 및 관리하기 적당한 성능의 서버 여러 대를 자원 풀로 만들어 사용 가능함 여러 대의 서버를 하나의 자원의 풀로 만든다는 것 새로운 서버나 컨테이너가 추가되었을 때, 이를 발견(Service Discovery)하는 작업 어떤 서버에 컨테이너를 할당할 것인가에 대한 스케줄러와 로드밸런싱 문제 클러스터 내의 서버가 다운되었을 때 고가용성을 어떻게 보장할 것인가 도커 스웜과 스웜 모드 두 가지 솔루션이 존재함 스웜 클래식과 도커 클래식 여러 대의 도커 서버를 하나의 클러스터로 만들어 컨테이너를 생성하는 기능을 제공 컨테이너를 특정 도커 서버에 할당할 수있고, 유동적으로 서버를 확장할 수 있음 분산..
DockerDemon 도커 데몬 명령어 # service docker start # service docker stop 우분투 도커 설치시 자동으로 서비스 등록됨 호스트가 재시작되더라도 자동 실행 레드햇 계열 자동 실행으로 설정되지는 않음 $ systemctl enable docker 수행 시, 자동으로 서비스 활성화됨 도커 서비스는 dockerd로 데몬을 실행함 /usr/bin/dockerd에 명령어가 존재함 API listen on /var/run/docker.sock 소켓이 입력을 받을 수 있는 상태가 되었음을 뜻함 도커 데몬 설정 도커 데몬 제어 : -H 기본 설정 docker demon 실행 시 도커 클라이언트(/usr/bin/docker)를 위한 유닉스 소켓인 "/var/run/docker.s..
Dockerfile 이미지 생성 방법 기본 플로우 아무것도 존재하지 않는 이미지(우분투, CentOS 등)로 컨테이너를 생성 어플리케이션을 위한 환경을 설치하고, 소스코드 등을 복사해 잘 동작하는 것을 확인 컨테이너를 이미지로 커밋 위 방법은 어플리케이션 동작 환경 구성을 위해 일일히 수작업으로 패키지 설치 및 소스코드(Git) 복사가 필요함 도커에서는 build 명령어 기반으로 이미지 생성이 가능 컨테이너에 설치해야하는 패키지, 추가해야하는 소스코드, 실행 명령어와 쉘 스크립트 등을 한 파일[Dockerfile]에 기록 도커는 Dockerfile을 읽어 컨테이너에서 작업 수행 후 이미지를 생성함 Dockerfile은 한줄이 하나의 명령어, 명령어를 명시한 뒤 옵션을 추가하는 방식 Dockerfile 예..
이 페이지는 GURU 사이트 [what-is-refactoring] How to refactor의 번역을 담고 있습니다. 리팩토링 하는 방법 리팩토링은 일련의 작은 변경으로 수행되어야 하며, 각 변경으로 기존 코드가 약간 개선되고 프로그램은 여전히 작동중인 상태로 유지되어야 합니다. 올바르게 리팩토링되기 위한 체크리스트 1. 코드가 깨끗해져야 합니다. 리팩터링 후에도 코드가 똑같이 더러운 상태로 남아 있으면... 미안하지만, 당신은 인생의 한 시간을 낭비했습니다. 왜 이렇게 되었는지 알아내려 노력해보세요. 작은 변화들로 리팩터링을 하는 것에서 벗어나 많은 리팩터링을 하나의 큰 변화로 혼합할 때 이런 일이 종종 발생합니다. 이럴 때 정신을 잃기 쉬운데, 특히 시간 제한이 있다면 더욱 그렇습니다. 또 매우 ..
이 페이지는 GURU 사이트 [what-is-refactoring] When to refactor의 번역을 담고 있습니다. When to refactor When to refactor Rule of Three When you’re doing something for the first time, just get it done. When you’re doing something similar for the second time, cringe at having to repeat but do the same thing anyway. When you’re doing something for the thi refactoring.guru 리팩토링의 시기 1. 세 가지 규칙 처음에는 그냥 하세요. 비슷한 일을 두 번째..
이 페이지는 GURU 사이트 [what-is-refactoring] Technical Debt의 번역을 담고 있습니다. Technical debt Technical debt Everyone does their best to write excellent code from scratch. There probably isn’t a programmer out there who intentionally writes unclean code to the detriment of the project. But at what point does clean code become unclean? The metapho refactoring.guru Technical Debt 모든 사람들은 처음부터 훌륭한 코드를 쓰기위해 최선을..