모든 게시물 보기
![[쿠버네티스 인 액션] 3장 - 쿠버네티스에서 컨테이너 실행 (1/2)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FspMvb%2FbtruQlU040N%2FmcgYRlSIZo9owfXuvX7NVk%2Fimg.png)
[쿠버네티스 인 액션] 3장 - 쿠버네티스에서 컨테이너 실행 (1/2)
파드 “함께 배치된 컨테이너 그룹, 쿠버네티스의 기본 빌딩 블록” 파드가 여러 컨테이너를 가지고 있을 경우, 모든 컨테이너는 항상 하나의 워커 노드에 실행되며, 여러 워커 노드에 걸쳐 실행되지 않음 파드 필요 이유 “여러 프로세스를 단일 컨테이너로 묶지 않기 때문에, 컨테이너를 함께 묶고 하나의 단위로 관리할 수 있는 또 다른 상위 구조가 필요” 컨테이너는 단일 프로세스를 실행하는 것을 목적으로 설계 컨테이너 모음을 사용해 연관된 프로세스를 함께 실행하되 격리된 상태로 유지 가능 같은 파드에서 컨테이너 간 부분 격리 ”쿠버네티스는 파드 안에 있는 모든 컨테이너가 자체 네임스페이스가 아닌 동일한 리눅스 네임스페이스를 공유하도록 도커를 설정” → 모든 컨테이너는 같은 호스트 네임과 네트워크 인터페이스 공유 ..
![[쿠버네티스 인 액션] 2장 - 도커와 쿠버네티스 첫걸음](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEL2ft%2Fbtrt3f99lSj%2FzUyfAXs4OQQAlEBtRNmpQK%2Fimg.png)
[쿠버네티스 인 액션] 2장 - 도커와 쿠버네티스 첫걸음
도커로 컨테이너 이미지 생성, 실행 Hello World 컨테이너 실행 docker run busybox echo “Hello world” 1.busybox:latest 이미지가 로컬에 있는지 확인 2.없으면 http://docker.io의 도커 허브 레지스트리에서 이미지 다운 3.이미지 다운 후 이미지로부터 컨테이너 생성 4.생성된 컨테이너 내부에서 명령어 실행 docker 이미지 생성 Dockerfile 생성 (한 디렉토리에 Docker파일 하나만 존재 가능) -FROM : 기반이 되는 이미지 레이어 : 형식으로 작성 -RUN : 도커 이미지가 생성되기 전에 수행할 쉘 명령어 -VOLUME: 디렉터리 내용을 컨테이너에 저장하지 않고 호스트에 저장하도록 설정 ex) -v /root/data -CMD :..
![[쿠버네티스 인 액션] 1장 - 쿠버네티스 소개 (2/2)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkSp1L%2FbtrtYWaQuIJ%2FgkiXbzdFTSzFjrkKC9crc1%2Fimg.png)
[쿠버네티스 인 액션] 1장 - 쿠버네티스 소개 (2/2)
쿠버네티스 쿠버네티스란? “컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화해주는 오픈소스 플랫폼” 쿠버네티스는 여러 클러스터의 호스트 간에 애플리케이션 컨테이너의 배치, 스케일링, 운영을 자동화하기 위한 플랫폼을 제공 단순한 컨테이너 플랫폼이 아닌 마이크로서비스, 클라우드 플랫폼을 지향 컨테이너로 이루어진 것들을 손쉽게 담고 관리할 수 있는 그릇 역할 쿠버네티스는 왜 필요할까? “서버 배포를 자동으로 스케줄링하고 구성, 관리, 장애 처리를 포함하는 자동화 필요” 프로덕션 환경에서는 애플리케이션을 실행하는 컨테이너를 관리하고 가동 중지 시간이 없는지 확인해야 한다. 예를 들어 컨테이너가 다운되면 다른 컨테이너를 시작해야한다. 이 문제를 시스템에 의해 처리한다면 더 쉽지 않을까? -쿠버네티스는 분산..
![[쿠버네티스 인 액션] 1장 - 쿠버네티스 소개 (1/2)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTNASK%2FbtrtOyBZhJ7%2Fp2bk1AW0osKgjBluPPyJk0%2Fimg.png)
[쿠버네티스 인 액션] 1장 - 쿠버네티스 소개 (1/2)
컨테이너 기술 컨테이너 기술 필요성 “쿠버네티스는 애플리케이션을 격리하는 기능을 제공하기 위해 리눅스 컨테이너 기술 사용” 리눅스 컨테이너 기술로 구성 요소 격리 -동일한 호스트 시스템에서 여러 개의 서비스를 실행할 수 있으며 동시에 서로 다른 환경을 만들어줄 뿐만 아니라 가상머신과 유사하게 서로 격리하지만 오버헤드가 훨씬 적음. -프로세스 입장에서 다른 프로세스와 격리되어있기 때문에, OS 위의 유일한 프로세스처럼 보임. 컨테이너 vs 가상머신 -VM: Hypervisor 위에서 각 서비스마다 OS를 띄어야함 (Hypervisor: 호스트 위에서 작동하는 가상화 시켜주는 스택) -컨테이너: 하나의 OS를 공유하는 개념 -컨테이너는 훨씬 더 가벼워서 동일한 H/W에서 더 많은 수의 S/W 구성 요소 실행..
![[Linux] Ubuntu - #5 Shell Script](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc6qTmg%2FbtrsSu1kgJ2%2Fq0OoR3oA9ZZzKXt2BEn4bk%2Fimg.png)
[Linux] Ubuntu - #5 Shell Script
Shell Script “Shell에서 사용할 수 있는 명령어들의 조합을 모아서 만든 batch 파일” 즉, Shell을 이용하여 한 줄씩 순차적으로 명령어들을 실행시켜주는 이넡프리터 방식의 프로그램 Shell Script 기본구조 vi editor -adding text to file a → 커서 뒤에 텍스트 추가 A → 라인의 맨 뒤에 텍스트 추가 i → 커서에 텍스트 추가 I → 라인 시작에 텍스트 추가 o → 라인 밑에 새로운 라인 추가 O → 라인 위에 새로운 라인 추가 -exiting the editor :wq → 변경사항 기록하고 종료 :w → 변경사항 기록 :q → 저장하지 않고 종료 :q! → 변경사항 있는 경우 강제 종료 :w file → 파일에 덮어쓰고 계속 편집 -moving scr..
![[Linux] Ubuntu - #4 네트워크 진단 명령어와 접속 프로그램](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeGLv9%2FbtrsxEcLvSP%2Fd90k2Fnu9EIfjx09qhSk10%2Fimg.png)
[Linux] Ubuntu - #4 네트워크 진단 명령어와 접속 프로그램
ping “ping(Packet INternet Groper) 네트워크 상태 체크를 위해 사용” ping 명령어 설치 sudo apt-get install iputils-ping 네트워크 상태를 확인하려는 대상을 향해 ICMP(인터넷 제어 메시지 프로토콜) 에코 요청 패키지를 전송하고 응답을 기다리는 방식으로 작동 → 대상이 패키지를 수신하면 ICMP 에코 응답으로 응답합니다. ping -i 10 -c 3 www.google.com -ping -i 10 www.google.com : 10초 마다 응답 체크 -ping -c 3 www.google.com : 총 3회 ping 테스트 -64 bytes : 패킷 크기 / ttl : 패킷 생존값 / time : 응답 시간 talnet vs ssh(Secure S..
![[Linux] Ubuntu - #3 파일 관리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FztZE7%2FbtrsxiG02c4%2Fn35d2h5rvsNY55ri14OmI1%2Fimg.png)
[Linux] Ubuntu - #3 파일 관리
디렉토리 관리 [pwd] 현재 작업 디렉토리의 전체 경로 리턴 [cd] 자신의 홈 디렉토리로 돌아감, 현재 사용자 디렉토리를 변경 [ls] ls → 현재 디렉토리 ls -a → 히든 파일, 디렉토리 보여줌 ls -R → 모든 서브 디렉토리와 그 디렉토리 안의 파일들을 나열 ls -l → 파일권한, 링크수, 소유자, 그룹정보, 파일크기, 최근 수정 날짜, 파일 이름 ls -al → 히든 파일의 세부 정보 [mkdir] mkdir dir1 → 디렉토리 생성 mkdir -p dir1/dir2/dir3 → 하위 디렉토리 동시에 생성 [rmdir] rmdir test1 → 디렉토리 삭제 rmdir -p dir1/tdir2/dir3 → 하위 디렉토리 전부 삭제 [cp] cp -r dir1 dir2 → 디렉토리 복사..
![[Linux] Ubuntu - #2 HTTP vs HTTPS](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjPLhV%2Fbtrsku1JIIR%2FLcnjv4Ov3WuizWkyDKhkIK%2Fimg.png)
[Linux] Ubuntu - #2 HTTP vs HTTPS
HTTP vs HTTPS HTTP(Hypertext Transfer Protocol) 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜 HTTPS(Hypertext Transfer Protocol Secure) HTTP 프로토콜의 문제점은 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않음HTTPS 프로토콜은 SSL(보안 소켓 계층)을 사용함으로써 이 문제를 해결 SSL이란 “Secure Socket Layer 보안 소켓 계층, 인터넷 상에서 데이터를 안전하게 전송하기 위한 인터넷 암호화 통신 프로토콜” SSL은 CA(Certificate Authority)라 불리는 서드파티로부터 서버와 클라이언트의 인증에 사용 SSL 동작 과정 [웹브라우저] SSL로 암호화된 페이지 요청 ..
![[Linux] Ubuntu - #1 DNS](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FM2rgW%2FbtrskvlPYls%2Fv8yXoXFPnfbntwzB4sgrg0%2Fimg.png)
[Linux] Ubuntu - #1 DNS
DNS(Domain Name System) “도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해주는 네트워크 서비스” IP → Domain : IP주소를 쉽게 구분하기 위해 도메인 이름을 부여해서 관리 Domain → IP: 클라이언트에서 도메인의 IP 주소를 조회하는 경우 반환 DNS 계층구조 “트래픽 분산 → 관리 용이 : 계층 구조” Root DNS Server : 인터넷 도메인의 시작점, TLD 정보를 갖고있는 DNS 서버 TLD(Top Level Domain): 최상위 도메인(com, org, net, kr 등 모든 국가의 상위 레벨 서버), Authoritative DNS 서버 주소 저장 (naver.com) Authoritative DNS(책임 DNS): 실제 개인 도메인 IP 주소의 관..
![[Kubernetes] Overview - #5 Deployment](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPAjV7%2Fbtrq0vzK8X7%2FxLavDHaMoT7rmjkRk0tsE1%2Fimg.png)
[Kubernetes] Overview - #5 Deployment
Deployment 란? "Replica set의 상위 개념으로 애플리케이션을 배포하고 선언적으로 업데이트를 수행하는 컨트롤러" Deployment는 Replicaset의 상위 오브젝트이기 때문에 Deployment를 생성하면 해당 Deployment에 대응하는 Replicaset도 함께 생성된다. Deployment가 하위의 Replicaset 컨트롤러를 제어하고 Replicaset이 하위 pod를 제어하는 구조이다. 즉, 개념적으로는 Deployment = Replica set + Pod + history 이다. Deployment 사용 이유 그렇다면 왜 Replicaset을 직접 생성하지 않고, 상위 개념인 Deployment를 사용해서 간접적으로 Replicaset을 생성할까? Deployment..