일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nodejs
- 네트워크
- node.js
- MongoDB
- git
- worker
- RAPA
- 쿠버네티스
- Docker Swarm
- docker
- 개념
- IaaS
- OpenStack
- mysql
- kubernetes
- 도커
- RAID
- PAT
- Docker-compose
- PaaS
- network
- 이론
- Javascript
- dockerfile
- 클라우드
- 명령어
- gns3
- express
- 실습
- 용어정리
- Today
- Total
목록2022이전/Docker&Kubernetes (19)
융융이'Blog
도커 공식 문서에 의하면 다음과 같이 방화벽을 열어줘야한다. TCP:2377 클러스터 매니지먼트(스웜 조인과 같은)에서 사용 TCP/UDP:7946 노드간 통신 UDP:4789 오버레이 네트워크 간 트래픽 통신
위 3가지는 서비스 퍼블리싱(Service Types) 에 속한다. 기본값으로 ClusterIP 방식으로 설정 된다. ClusterIP : 서비스를 클러스터-내부 IP에 노출시킨다. 이 값을 선택하면 클러스터 내에서만 서비스에 도달할 수 있다. Cluster 내부적에서만 사용한다. NordPort : 고정포트로 각 노드 IP에 서비스를 노출 시킨다. NodePort 서비스가 라우팅되는 ClusterIP 서비스가 자동으로 생성된다. [NodeIP] : [NodePort]를 요청하여, 클러스터 외부에서 NodePort 서비스에 접속할 수 있다. 같은 상위 네트워크 상에서 주로 사용한다. LoadBalancer: 클라우드 공급자의 로드밸런서를 사용하여 서비스를 외부에 노출시킨다. 외부 로드 밸런서가 라우팅되는..
컨피그맵(ConfigMap) 환경 변수나 설정값까지 쿠버네티스 오브젝트에서 관리 값들을 YAML 파일로 포드와 함께 배포할 수 있다. 사용법 kubectl create configmap 위 실행문은 log-level-configmap 에 변수 1개 / start-k83에 변수 2개를 설정해준 것이다. configmap 확인 => kubectl describe configmap , kubectl get configmap -o yaml이다. 주요 사용 컨피그맵의 값을 컨테이너의 환경 변수로 사용 컨피그맵의 값을 포드 내부의 파일로 마운트해 사용 컨피그맵의 데이터를 컨테이너의 환경변수로 가져오기 예시: yaml 파일에서 log-level-configmap 과 start-k8s의 comfigmap값 참조를 하고..
리소스를 논리적으로 구분하는 장벽 쿠버네트스에서는 리소를 논리적으로 구분하기 위해 네임스페이스(Namespace)라는 오브젝트를 제공합니다. 네임스페이스를 생서하지 않았더라면 기본적으로 default, kube-public, kube-system 으로 3가지가 존재한다. # yaml 파일 이용할 때 kubectl apply -f production-namespace.yaml # CLI이용 kubectl create name production네임스페이스와 라벨의 차이점은 네임스페이스는 자원사용량을 제한을 두거나 특정 네임스페이스에 생성되는 포드에는 사이드카 컨테이너를 붙이는 등 특정 namespace에 대해서 설정이 가능합니다. namespace를 꼭 부여를 해야하는 것은 아니다. 왜냐하면 namespa..
도커가 나타난 이래로 다양한 컨테이너 오케스트레이션 도구가 등장했다. 어려 해에 걸쳐 이 도구끼리 경쟁한 결과 2017년 가을에 쿠버네티스가 정식으로 도커에 통합된다는 내용이 발표되면서 컨테이너 오케스트레이션 도구의 사실상 표준이 되었다. 쿠버네티스 공식 문서 : https://kubernetes.io/ko/docs/home/ 쿠버네티스(Kubernetes) 쿠버네티스는 구글의 엔지니어를 중심으로 하는 커뮤니티에서 개발이 진행되고 있는 오픈소스 컨테이너 오케스트레이션 툴이다. 구글 뿐만 아니라 Microsoft, Red Hat, IBM 등이 개발에 참여하고 있어 제공하는 기능도 풍부하고 개발 속도도 빠르며, 대규모 시스템에서의 도입 실적도 풍부하여 컨테이너 오케스트레이션 툴의 실질적 표준이라고 할 수 있..
Docker의 Cilent-Server 아키텍처 도커를 이용하여 환경을 구축을 하다보면 위 그림과 비슷한 형태의 아키텍처를 따른다. Docker 시스템 유닛은 크게 3개로 분리되어, Client, Host(Daemon), Registry를 이룬다. 대부분의 현대 CI 도구들(travis, circle, gocd, jenkins)등이 agent를 통해 docker관련 Task를 수행을 하기 때문에 docker daemon은 호스트머신에서 동작하면서 컨테이너로 동작하는 agent들이 docker-client역할을 하는 경우가 많다. 그래서 데브옵스 개발자들은 쉽게 daemon과 client의 분리를 고려하며 docker container에서 agent가 호스트 머신에 위치한 docker daemon에게 어떻..
이 둘을 비교한다는 것은 Dokcer Swarm 과 Kubernetes를 비교하는 것을 말한다. 도커 = 이미지 생성, 관리, 탄력적인 확장성, 격리, 이식성 쿠버네티스 = 오케스트레이션 중점, 복잡한 앱, 확장성과 복구성이 중요한 앱 도커란? 도커는 '컨테이너 기반의 오픈소스 가상화 플랫폼' 이다. 컨테이너는 애플리케이션 & OS앱을 구동하는 환경을 격리한 공간을 뜻한다. 자원을 필요한 만큼 격리하여 컨테이너에 할당(Host 운영체제와 자원 공유) 효율적 배포가 빠름 쿠버네티스란? 쿠버네티스는 '컨테이너 오케스트레이션 툴' 이다. 다른 컨테이너 오케스트레이션 툴로 'Docker Swarm', 'ECS', 'Nomad' 등이 있다. ..
여러 서버 중 일부에 장애가 생겨도 제 기능을 유지하도록 하는 합의 알고리즘이다. 합의 알고리즘(Conensus Algorithm) 합의 알고리즘이란 다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘이다. 서버에서 명령을 실행하기 위해 다른 서버의 합의를 요청한다. 각 서버에 문제가 없는 경우 동일한 명령을 처리하고, 동일한 결과를 생성하고, 동일한 상태에 도달한다. 장애 허용 분산 시스템(fault-tolerance distributed system) 시스템 중 일부에 오류가 발생해도 정상적으로 작동할 수 있도록 하는 시스템이다. 마치 4발 자전거에서 바퀴 하나가 고장나도 굴러가는 것처럼 말이다. 뗏목 알고리즘의 진행 상태 시스템과 로그 각 서버에 상태 시스템과 로그가 있다. 여기서 상태..