분류 전체보기
-
클라우드: 쿠버네티스 레플리카셋(Replica Set) 실습하기K8S 2021. 2. 5. 01:58
우선 포드는 기본적으로 여러 개의 컨테이너를 추상화하여 하나의 어플리케이션으로 동작한다. 외부 사용자가 어플리케이션으로 요청을 보내면 쿠버네티스에서는 이러한 요청을 동일한 여러개의 포드로 분배하여 전달한다. 그렇다면 동일한 여러개의 포드는 어떤식으로 생성할 수 있을까? yaml 파일에 하나의 포드를 더 정의해서 사용하는 방법은 매우 비효율적이다. 워커 노드가 다운되거나 어떠한 이유로 포드가 삭제된다면 해당 포드를 다시 생성하기는 어렵다. 그래서 이러한 문제점을 해결해주는 것이 레플리카셋이다. 레플리카 셋이 하는 일은 다음과 같다. ● 동일한 포드가 정해진 수 만큼 실행되도록 한다. ● 노드에 장애 발생시, 다른 노드에서 포드를 다시 생성한다. 이렇게 레플리카셋을 이용하여 일정한 수의 동일한 포드를 생성하..
-
클라우드: 쿠버네티스 포드(Pod) 오브젝트 사용하기K8S 2021. 2. 1. 19:56
쿠버네티스는 대부분의 리소스를 오브젝트 형태로 관리한다. 쿠버네티스의 컨테이너의 집합(pods), 컨테이너의 집합을 관리하는 컨트롤러(replica set) 사용자(service account), 노드(node)등이 하나의 오브젝트들이다. 오브젝트 종류 확인하기 kubectl api-resources 오브젝트 설명보기 kubectl explain pod 쿠버네티스는 대부분의 작업을 명령어로 수행할 수 있다. 하지만 쿠버네티스의 가장 큰 특징은 yaml파일을 이용한 클러스터 관리이기 때문에 쿠버네티스를 잘 사용하는 사람은 yaml파일을 잘 작성하는 사람이라 해도 과언이 아니다. 1. 마스터노드와 워커노드 쿠버네티스에서 노드의 역할은 크게 두가지로 마스터와 워커이다. 마스터노드의 경우, 클러스터를 관리하며 ..
-
클라우드: 쿠버네티스 설치하기K8S 2021. 1. 31. 20:30
쿠버네티스는 사용환경과 목적에 따라 설치하는 방법이 매우 다양하고 복잡하다. 하나의 호스트에서 개발용도로만 사용하려면 Minikube, Docker for Mac/Windows에 내장된 쿠버네티스가 적당하다 하지만 서비스 테스트 또는 운영용도로 사용하려면 다른 것들이 필요하다. (쿠버네티스는 여러 자원을 클러스터링해서 컨테이너를 배치하는것이 핵심 기능이기 때문) 우선 어떤 환경에 설치할 것인지 결정해야 한다. 1. 온프레미스 환경에 설치할 것이냐 2. 클라우드 환경에 설치할 것이냐 온프레미스 환경에 설치할 경우, 쿠버네티스를 포함한 모든 인프라를 직접 관리해야 한다. 원하는 대로 구성할 수 있지만, 유지 보수를 스스로 해야하는 것이 단점 클라우드 플랫폼을 이용할 경우, 서버 인스턴스에 직접 쿠버네티스를 ..
-
리눅스 기초 명령어 10 (let, 사용자 생성, 사용자 정보)리눅스 2021. 1. 29. 19:12
1. let - 수식 다루기 정수 연산 let b=$a && echo $b -> a에 저장된 값이 b에 저장된후 b가 출력 (let을 사용할때는 $가 없어도 된다) let b=++a && echo $b -> a값을 1 증가시킨후, b에 대입, b 출력 let b=a++ && echo $b -> b에 대입한 후 a값 증가, b출력 let b=2*3 && echo $b -> b = 6 이후, b출력 let b=2**3 && echo $b -> b = 8(2의 3승)이 대입되고, b 출력 let b=(2 ** 10) && echo $b -> 띄어쓰기 고려해서 쓰자 let b=(2 != 4) && echo $b -> 1 (2와 4는 같지 않으므로) let b=(101 \& 111) && echo $b -> 10..
-
리눅스 기초 명령어9 (seq, factor, expr)리눅스 2021. 1. 28. 13:04
1. seq: 숫자 나열 seq 5 -> 1 2 3 4 5 seq -s ' ' 10 -> 1 2 3 4 5 6 7 8 9 10 seq -s ' ' 10 20 -> 10 11 12 13 14 15 16 17 18 19 20 seq -s ' ' 10 2 20 -> 10 12 14 16 18 20 seq -s ', ' 10 3 50 -> 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49 seq -s ' ' 50 -3 10 -> 50 47 44 41 38 35 32 29 26 23 20 17 14 11 (-를 써줌으로써 역순으로 출력할 수 있다) seq -s ' ' 1 0.3 5 -> 1.0 1.3 1.6 1.9 2.2 2.5 2.8 3.1 3.4 3.7 4.0 ..
-
리눅스 기초 명령어8 (mkdir, rmdir, copy, rm, mv)리눅스 2021. 1. 26. 16:19
1. mkdir d{1..10} -> d1부터 d10까지 디렉토리 생성 mkdir -p d1/d2 -> d1 디렉토리와 d1/d2 디렉토리를 생성한다. 만약 d1디렉토리가 존재한다면 d2만 생성한다. (p는 parent) (ls -R을 이용하면 내부 디렉토리까지 확인가능하다) 2. rmdir d* -> d로 시작하는 디렉토리 모두 지우기 rmdir d3/d4/d5 -> d5디렉토리만 지워진다. (d3, d4는 지워지지 않음) dd 디렉토리 안에 무언가 있는 경우 rm -rf dd -> dd 디렉토리가 지워진다. 일반적으로 디렉토리안에 무언가 있다면 디렉토리를 지울 수 없다. 따라서 내부에 있는 것들을 모두 지우고 디렉토리를 지워야 한다. 3. cp /etc/passwd . -> 현재 위치로 파일을 복사해..
-
리눅스 기초명령어 7 (tr, >, <, >>, <<, touch)리눅스 2021. 1. 25. 21:09
문자를 변경하거나 삭제할때 사용한다. -d: delete -s: sqeeze 반복되는 1문자 삭제 -t: truncate -c: --complement 보수 연산 1. echo "kbs" | tr -d k -> bs k 문자를 제거한다. echo "kbs" | tr -d kb -> s k, b 문자를 제거한다. echo "kbskbs" | tr -d k -> bsbs echo "12345678910" | tr -d 1-5 -> 67890 2. echo "abc" | tr 'a' 'k' -> kbc a문자를 k로 전환한다. echo "abc" | tr 'c' '%' -> ab% echo "aabbcc" | tr 'abc' 'ABC' -> AABBCC a는 A로 b는 B로, c는 C로 전환하겠다..
-
알고리즘: 백준 3190번 뱀 (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 20. 11:06
3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net import sys from collections import deque read = sys.stdin.readline N = int(read()) K = int(read()) snake = [[0 for _ in range(N)] for _ in range(N)] snake[0][0] = -1 apple = [[0 for _ in range(N)] for _ in range(N)] for i in range(K): ay, ax = list(map(int, read()..