public:computer:docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
public:computer:docker [2021/08/08 20:13] alexpublic:computer:docker [2021/08/08 21:00] (current) – [A.3 Cloud Console 사용법] alex
Line 1777: Line 1777:
  
 === 실행 환경 작성(create) === === 실행 환경 작성(create) ===
 +<alert type="info">docker-machine create --driver <드라이버명> <작성할 Docker 머신명></alert>
 +
 +  * Docker Machine에서 이용할 수 있는 드라이버 목록; https://docs.docker.com/machine/drivers/
 +
  
 === 실행 환경 목록 표시(ls/status/url) === === 실행 환경 목록 표시(ls/status/url) ===
 +<alert type="info">docker-machine ls [옵션]</alert>
 +
 +^  지정할 수 있는 주요 옵션  ^^
 +^ 옵션  ^ 설명  ^
 +| --quite, -q  | 머신명만 표시한다  |
 +| --filter  | 표시할 머신을 필터링한다  |
 +
 +<cli prompt="$ " comment="# ">
 +$ docker-machine status host1  # 실행 환경의 스테이터스 확인
 +$ docker-machine url host1  # 실행 환경의 URL 확인
 +</cli>
  
 === 실행 환경에 대한 SSH 연결(ssh) === === 실행 환경에 대한 SSH 연결(ssh) ===
 +<alert type="info">docker-machine ssh 머신명</alert>
 +
 +<cli prompt="$ " comment="# ">
 +$ docker-machine ssh host1
 +</cli>
 +
 === 실행 환경 시작/정지/재시작(start/stop/restart) === === 실행 환경 시작/정지/재시작(start/stop/restart) ===
 +<cli prompt="$ " comment="# ">
 +$ docker-machine start host1  # 실행 환경 시작
 +$ docker-machine stop host1  # 실행 환경 정지
 +$ docker-machine restart host1  # 실행 환경 재시작
 +</cli>
  
 === 실행 환경으로부터 파일 다운로드(scp) === === 실행 환경으로부터 파일 다운로드(scp) ===
 +<cli prompt="$ " comment="# ">
 +$ docker-machine scp host1:/etc/passwd .  
 +</cli>
 +
 +  * SCP(Secure Copy Protocol); SSH의 기능을 사용하여 파일을 전송하기 위한 명령 Secure Copy Protocol로 인증 정보와 데이터를 암호화하여 네트워크로 전송
  
 === 실행 환경 삭제(rm/kill) === === 실행 환경 삭제(rm/kill) ===
 +<cli prompt="$ " comment="# ">
 +$ docker-machine rm -f host1  # 실행 환경 삭제
 +$ docker-machine kill host1  # 실행 환경 강제 정지
 +</cli>
  
 === 실행 환경 정보 확인(ip/inspect) === === 실행 환경 정보 확인(ip/inspect) ===
 +<cli prompt="$ " comment="# ">
 +$ docker-machine ip host1  # IP 주소 확인
 +</cli>
  
 +<alert type="info">docker-machine inspect [옵션] 머신명</alert>
  
  
Line 1796: Line 1835:
 ---- ----
 ===== 클라우드를 사용한 Docker 실행 환경 구축 ===== ===== 클라우드를 사용한 Docker 실행 환경 구축 =====
 +> GKE(Google Kubernetes Engine)
  
 ==== 클라우드 환경에서 Docker 오케스트레이션하기 ==== ==== 클라우드 환경에서 Docker 오케스트레이션하기 ====
  
 === 분산 환경에서의 컨테이너 운용 관리 === === 분산 환경에서의 컨테이너 운용 관리 ===
 +  * Kubernetes
 +  * Docker Enging(Swarm 모드)
 +  * Apache Mesos, Marathon
 +
  
 === 퍼블릭 클라우드가 제공하는 매니지드 서비스 === === 퍼블릭 클라우드가 제공하는 매니지드 서비스 ===
 +  * Amazon EC2 Container Service
 +  * Azure Container Service(AKS)
 +  * Google Kubernetes Engine(GKE)
 +
  
 === Google Cloud Platform의 컨테이너 관련 서비스 === === Google Cloud Platform의 컨테이너 관련 서비스 ===
 +  * Google Container Builder
 +  * Google Kubernetes Enging
 +  * Google Container Registry
 +
  
 ==== Kubernetes의 개요 ==== ==== Kubernetes의 개요 ====
 +  * 여러 서버들에서의 컨테이너 관리
 +  * 컨테이너 간 네트워크 관리
 +  * 컨테이너의 부하분산
 +  * 컨테이너의 감시
 +  * 무정지로 업데이트
  
 === Kubernetes의 서버 구성 === === Kubernetes의 서버 구성 ===
 +  * 마스터 서버(Kubernetes Master)
 +  * 백엔드 데이터베이서(etcd)
 +  * 노드(Node)
 +
  
 === 애플리케이션 구성 관리(Pod, ReplicaSet, Deployment) === === 애플리케이션 구성 관리(Pod, ReplicaSet, Deployment) ===
 +  * Pod(포드)
 +  * ReplicaSet(리플리카 셋)
 +  * Deployment(디플로이먼트, 전개)
  
 === 네트워크 관리(Service) === === 네트워크 관리(Service) ===
Line 1816: Line 1880:
  
 === Kubernetes의 구조 === === Kubernetes의 구조 ===
 +  * 마스터(Master); API Server, Scheduler, Controller Manager
 +  * 데이터 스토어(etcd)
 +  * 노드(Node); Kubelet
  
 ==== GCP를 사용한 Docker 애플리케이션 개발 ==== ==== GCP를 사용한 Docker 애플리케이션 개발 ====
Line 1824: Line 1891:
  
 === Docker 이미지 빌드(Cloud Container Builder) === === Docker 이미지 빌드(Cloud Container Builder) ===
 +  * API 유효화하기
 +    * Google Kubernetes Engine API
 +    * Google Container Registry API
 +    * Google Cloud Build API
 +  * Docker 이미지 빌드 파일; 빌드 스텝 -> 이미지 -> 
  
 ==== GCP를 사용한 Docker 애플리케이션 실행 환경 구축 ==== ==== GCP를 사용한 Docker 애플리케이션 실행 환경 구축 ====
Line 1849: Line 1921:
  
 === 가용성 관리 === === 가용성 관리 ===
 +  * 콜드 스탠바이 방식; 스탠바이 기기는 장애가 발생하면 액티브 기기와 교체
 +  * 핫 스탠바이 방식; 액티브 기기에서 장애가 발생하면 자동으로 스탠바이 기기로 교체
 +  * 헬스 체크
 +    * ICMP 감시(레이어 3); Ping 등의 응답을 확인
 +    * 포트 감시(레이어 4); 웹서비스의 경우는 80번 포트로부터 응답이 있는지 확인
 +    * 서비스 감시(레이어 7); HTTP 통신을 확인하는 경우 특정 페이지가 올바르게 표시되는지를 확인
 +  * 로드 밸런싱(load balancing)
 +
 +
 +  * Disaster Recovery System
 +    * RTO(Recovery Time Objective); 서비스를 복구할 때까지 필요한 경과 시간
 +    * RPO(Recovery Point Objective); 재해 등으로 시스템이 정지되었을 때 어떤 시점까지 거슬러 올라가서 데이터를 복구시킬지에 대한 지표
  
 === 수용성(Capacity) 관리 === === 수용성(Capacity) 관리 ===
  
 === 시스템 감시 === === 시스템 감시 ===
 +  * 머신의 활동 감시
 +  * 서비스의 가동 감시
 +  * 서버/네트워크의 리소스 감시
 +  * 잡 감시
 +  * 장애 대응
  
 ==== GKE를 사용한 Docker 실행 환경의 운용 ==== ==== GKE를 사용한 Docker 실행 환경의 운용 ====
  
 === Kubernetes의 스테이터스 확인 === === Kubernetes의 스테이터스 확인 ===
 +  * 클러스터의 상태 확인
 +  * 노드의 스테이터스 확인
 +  * Pod의 상태 확인
 +  * 서비스 확인
  
 === Kubernetes의 Pod 관리 === === Kubernetes의 Pod 관리 ===
Line 1863: Line 1956:
  
 === Kubernetes의 리소스 작성/삭제/변경 === === Kubernetes의 리소스 작성/삭제/변경 ===
 +  * 리소스 작성
 +  * 리소스 삭제
 +  * 리소스 변경
  
 === Kubernetes의 업그레이드/다운그레이드 === === Kubernetes의 업그레이드/다운그레이드 ===
Line 1953: Line 2049:
 ===== Google Cloud Platform 사용법 ===== ===== Google Cloud Platform 사용법 =====
 ==== A.1 계정 등록 ==== ==== A.1 계정 등록 ====
 +  * Google 계정, 신용카드 또는 은행 계좌
 +
 +  - 등록 시작
 +  - 계정 정보 등록
  
-[1] 등록 시작 
-[2] 계정 정보 등록 
 ==== A.2 프로젝트 작성과 삭제 ==== ==== A.2 프로젝트 작성과 삭제 ====
  
-[1] 프로젝트 작성 +  - 프로젝트 작성 
-[2] 프로젝트명 설정 +  프로젝트명 설정 
-[3] 프로젝트 삭제+  프로젝트 삭제
 ==== A.3 Cloud Console 사용법 ==== ==== A.3 Cloud Console 사용법 ====
  
- 툴과 서비스 +  * 툴과 서비스 
- 대시보드+  대시보드 
 ==== A.4 Cloud Shell 사용법 ==== ==== A.4 Cloud Shell 사용법 ====
  
  • public/computer/docker.1628421221.txt.gz
  • Last modified: 2021/08/08 20:13
  • by alex