분류 전체보기 1185

KubeConfig

KubeConfig kubectl을 사용할 때 인증 정보를 지정하지 않고 사용할 수 있도록 인증 정보를 저장한 설정 파일 즉, kubectl 사용 시 사용할 인증 정보를 저장한 파일 Kubernetes 사용자는 생성해둔 인증서 파일과 키를 지정하여 curl을 이용해 kube-apiserver에 쿼리를 요청할 수 있다. curl - 포드 목록 확인 curl https://my-kube-playground:6443/api/v1/pods \ --key admin.key \ --cert admin.crt \ --cacert ca.crt kubectl을 사용할 때도 마찬가지로, 인증 정보를 지정하여 kube-apiserver에 요청을 전달할 수 있다. kubectl - 포드 목록 확인 kubectl get pod..

[cp] omitting directory 해결

현상 cp 명령어로 특정 디렉터리를 통으로 복사하려고 하자, 아래와 같이 omitting directory 에러가 발생했다. 원인 기본적으로 cp 명령은 디렉터리 내의 하위 디렉터리가 아닌 파일만을 복사한다. 해당 메세지는 지정한 디렉터리가 복사되지 않았음을 뜻하는 경고 메세지다. 해결 방법 cp 명령 사용 시 -r 또는 --recursive 옵션을 지정한다. cp -r /ORIGIN/DIRECTORY/PATH /DEST/DIRECTORY/PATH

Linux 2021.12.26

Authentication

Kubernetes 클러스터는 물리 노드, 가상 노드 및 동작하는 다양한 요소로 구성되어 있다. Kubernetes 클러스터는 인증 및 권한 부여 메커니즘을 이용해 구성 요소 간 통신과 클러스터에 대한 접근 관리성을 확보함으로써 보호되어야 한다. 사용자 쿠버네티스는 기본적으로 사용자 계정을 관리하지 않는다. 즉, kubectl create user와 같은 명령어로 사용자를 생성할 수 없고, kubectl get users와 같은 명령어로 사용자를 확인할 수도 없다. 쿠버네티스는 인증서, LDAP과 같은 서비스, 사용자 정보가 저장된 정적 파일 등을 이용해 사용자를 관리한다. 단, Service Accounts는 쿠버네티스에 생성하고 관리할 수 있다. 사용자 유형 인간 User Accounts 관리자 : ..

[BOJ] 2592 - 대표값

문제 https://www.acmicpc.net/problem/2592 열 개의 자연수가 주어질 때 이들의 평균값과, 가장 많이 나타나는 최빈값을 구하은 프로그램을 작성하라 첫째 줄에는 평균을, 둘째 줄에는 최빈값을 출력한다. 최빈값이 둘 이상인 경우에는 그중 하나만을 출력한다. 풀이 1. 열 개의 자연수를 입력받아 배열로 저장한다. 2. 배열 내 값을 키로, 그 값의 개수를 값으로 하는 딕셔너리를 생성한다. 3. 딕셔너리의 키 배열에서, 그 키의 값과 딕셔너리의 값 배열의 최대값이 같으면 해당 키가 최빈값이다. 내 코드 import sys l = [] for i in range(10): l.append(int(sys.stdin.readline())) freq = {x: l.count(x) for x i..

Algorithm/백준 2021.12.24

Authentication, Authorization and Admission Control

쿠버네티스 클러스터에서 보안이 필요한 부분과 그 방법에 대해 정리한다. 호스트 쿠버네티스 클러스터를 형성한 호스트에 대한 접근은 보호되어 있어야 한다. 비밀번호 인증 접근은 제한되어야 하며, SSH 키 인증 접근만이 허용되어야 한다. kube-apiserver kube-apiserver는 쿠버네티스 내 모든 작업의 중심으로, 사용자는 kubectl를 이용하거나 apiserver에 직접 접근하여 클러스터와 상호작용할 수 있다. 클러스터에서 거의 모든 작업을 kube-apiserver를 통해 수행할 수 있으므로 apiserver 자체에 대하 접근 제어가 필수적이다. 고려사항 누가 클러스터에 접근할 수 있는가 ID/PASSWD, Token, 인증서, 외부 인증 공급자(LDAP), Service Accounts..

[Docker] Dockerfile로 이미지 생성

2021.12.21 - [Docker] Dockerfile에서는 Dockerfile의 개념과 형식, 명령문 몇 가지에 대한 내용을 정리했다. 이 글에서는 Dockerfile 주 사용처인, 이미지 생성 방법에 대한 내용을 정리한다. 이미지 생성이 필요한 이유 Docker Hub 등에서 사용할 구성 요소나 서비스를 찾을 수 없는 경우 개발한 애플리케이션의 배포 편의성 이미지 생성 방법 1. Dockerfile 작성 2. 작성한 Dockerfile build build 명령을 이용해 작성한 Dockerfile로 이미지를 생성한다. docker build -t # -t : 생성한 이미지의 이름과 태그 지정 # 예시 docker build . -t docker_hub_username/imagename docker..

Docker 2021.12.22

[Docker] Dockerfile

Dockerfile Docker 이미지가 어떤 단계를 거쳐 빌드돼야 하는지를 담고 있는 텍스트 파일 Docker는 Dockerfile에 나열된 명령문을 차례대로 수행하여 이미지를 생성한다. 형식 INSTRUCTION arguments # 주석 각 명령문은 명령어(Instruction)으로 시작하며, 여러 개의 인자(Arguments)가 나열될 수 있다. 관례적으로 명령어는 대문자로 작성한다. 명령문 FROM FROM FROM : # 예시 FROM ubuntu FROM python:3.6​ Docker 이미지는 base 이미지 위에 새로운 층을 쌓아 새 이미지를 생성한다. FROM 명령문은 base 이미지를 지정하기 위해 사용하며, Dockerfile 최상단에 위치한다. 일반적으로 base 이미지는 Doc..

Docker 2021.12.21

[BOJ] 11718 - 그대로 출력하기

문제 https://www.acmicpc.net/problem/11718 입력 받은 문자열을 그대로 출력하는 프로그램을 작성하라. 입력은 최대 100줄이며, 한 줄은 알파뱃, 숫자, 공백으로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또한 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. 풀이 임의의 여러 줄을 입력받아 처리하는 문제이다. 내 풀이 빈 줄이 주어지지 않는다는 점을 이용하여 입력이 공백인 경우, 입력의 끝이라고 간주한다. import sys while True: i = sys.stdin.readline()[:-1] # 개행문자('\n') 제거 if i == "": exit() print(i) 다른 풀이 예외 처리를 이용한다. import sys..

Algorithm/백준 2021.12.20

[RDS] 스토리지 사용률 확인

AWS 콘솔에서는 기본적으로 RDS 스토리지 사용량 또는 사용률에 대한 지표를 제공하지 않는다. 대신 여유 스토리지 공간 (MB/초) 지표를 제공한다. 즉, 총 스토리지 용량과 여유 스토리지 공간 용량을 이용해 사용량 및 사용률을 별도로 계산해야 한다. 이 글에서는 총 스토리지 용량과 여유 스토리지 공간 확인 방법을 정리해둔다. 1. 총 스토리지 용량 확인 AWS Concole에서 RDS 정보에 접근한 후, 구성 탭을 클릭한다. 구성 탭에서 스토리지 항목을 확인한다. 2. 여유 스토리지 공간 확인 AWS Concole에서 RDS 정보에 접근한 후, 모니터링 탭을 클릭한다. 모니터링 탭에서 여유 스토리지 공간이라는 이름의 지표를 찾아 클릭한다. 그래프에 마우스를 가져다대면 원하는 시점의 여유 스토리지 공간..

AWS 2021.12.19

Storage Class 관련 명령어

PV와 PVC를 이용하면 퍼시스턴트 스토리지를 쉽게 사용할 수 있지만 클러스터 관리자가 실제 스토리지를 프로비저닝해두어야 한다는 불편함이 있다. 쿠버네티스는 이 작업을 자동으로 수행할 수 있도록 PV 동적 프로비저닝(Dynamic Provisioning)을 지원하여, PV 프로비저너를 배포하고 사용자가 선택 가능한 PV 타입을 정의하는 스토리지 클래스(SC, Storage Class) 객체를 기반으로 지원한다. 이 글에서는 Storage Class 목록을 확인하고, 생성하는 명령어를 정리해둔다. Storage Class 목록 확인 get 명령을 이용해 Storage Class의 목록을 확인할 수 있다. kubectl get storageclasses.storage.k8s.io Storage Class 상..