분류 전체보기

🐳 Container/K8S

[K8s][CKS] Kube-bench

[K8s][CKS] Kube-benchCIS benchmarks인터넷 보안 센터(CIS)는 보안 권장 수준을 위한 벤치마크를 출시한다. CIS Kubernetes 벤치마크는 강력한 보안 수준 지원을 위한 쿠버네티스 구성 권장 수준 집합이다. CIS kubernetes 벤치마크는 쿠버네티스 배포용으로 작성되었으며, 배포 간 범용 적용이 가능하도록 고안되었다. CIS Kubernetes BenchmarksDownload our step-by-step checklist to secure your platform: An objective, consensus-driven security guideline for Kubernetes.www.cisecurity.org Kube-bench위 CIS의 벤치마크 요소를 하..

🐳 Container/Docker

[Docker] 도커 명령어 권한 설정하기

[Docker] 도커 명령어 권한 설정하기 도커 설치 후  docker 명령어를 sudo 권한에서만 사용이 가능할 때가 있다.docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create: dial unix /var/run/docker.sock: connect: permission denied. 일반 유저 (ex. ubuntu) 가 docker 명령어를 사용하게 하고 싶다면, docker 그룹에 일반 유저를 추가해주면 된다.sudo usermod -aG ..

🐳 Container/K8S

[K8s][CKS] 런타임 클래스 (runtime class)

[K8s][CKS] 런타임 클래스 (runtime class)CKS 공부를 하면서 몰랐던 개념들을 정리 컨테이너 런타임파드가  노드에서 실행될 수 있도록 하기위해선 클러스터의 각 노드에 컨테이너 런타임을 설치해야한다.쿠버네티스 1.30에서는 컨테이너 런타임 인터페이스(CRI) 요구사항을 만족하는 런타임을 사용해야 한다. 공용 컨테이너 런타임은 다음과 같다.containerdCRI-O도커 엔진미란티스 컨테이너 런타임 런타임 클래스서로 다른 파드간에 런타임클래스를 설정하여 성능과 보안의 균형을 유지할 수 있다.예를 들어 하드웨어 가상화를 이용하는 컨테이너 런타임으로 파드를 실행하도록 예약할 수 있다. 또한, 런타임 클래스를 사용하여 컨테이너 런타임이 같으나 설정이 다른 여러 파드를 실행할 수 있다. 1. C..

👩‍💻 Develope/Python

[Python] get()

[Python] get()딕셔너리는 키-값(key-value) 쌍으로 매핑되어있는 순서가 없는 집합이다.get() 함수를 사용하면 딕셔너리 자료형에서 특정 key에 해당하는 값을 반환할 수 있다.  다음과 같은 딕셔너리가 있다고 가정해보자.my_dict = { 'apple': 10, 'banana': 20, 'orange': 15} get() 함수를 사용해서 apple(key)의 value를 가져올 수 있다.apple_cnt = my_dict.get('apple')>>> apple_cnt3 만약 키가 존재하지 않을 때, get을 사용하면 None이 출력되는데콤마(,) 뒤에 다음과 같이 두 번째 인자를 지정해주면 해당 값이 출력된다.grape = my_dict.get('grape', 'nothi..

🐳 Container/K8S

[K8s] Storage Class

[K8s] Storage Class스토리지 클래스는 관리자가 제공하는 스토리지의 classes를 설명할 수 있는 방법을 제공한다.클래스는 서비스의 품질 수준, 백업 정책, 클러스터 관리자가 정한 임의의 정책에 매핑될 수 있다. StorageClass 리소스 해당 스토리지클래스에 속하는 PV를 동적으로 프로비저닝할 때 사용된다.스토리지클래스의 이름은 중요하며, 사용자가 특정 클래스를 요청할 수 있는 방법으로 사용된다. apiVersion: storage.k8s.io/v1kind: StorageClassmetadata: name: standardprovisioner: kubernetes.io/aws-ebsparameters: type: gp2reclaimPolicy: RetainallowVolumeExp..

🐳 Container/K8S

[K8s] PV(Persistent Volume), PVC(Persistent Volume Claim)

[K8s] PV(Persistent Volume), PVC(Persistent Volume Claim)이전에 볼륨에 관련하여 포스팅을 하면서 PV/PVC에 대해 다뤘는데, 헷갈리는 개념이 있어 더 자세히 정리해보고자 한다. [K8s] 쿠버네티스(Kubernetes) Volume 관리쿠버네티스 (Kubernetes) Volume 관리 Kubernetes Volume 파드 내의 컨테이너가 종료되더라도 파일 시스템이 유지되도록 하고 싶다면? 쿠버네티스 볼륨을 정의해서 사용 가능 여러 개의 컨테이너가 볼륨을heywantodo.tistory.com 쿠버네티스 컨테이너 내의 디스크에 있는 파일은 임시적이며, 이는 몇가지 문제가 있다. 1. 컨테이너가 crash될 때 파일이 손실된다2. pod에서 같이 실행되는 컨테..

🐳 Container/K8S

[K8s] kubeconfig를 사용하여 다중 클러스터 접근 구성하기

[K8s] kubeconfig를 사용하여 다중 클러스터 접근 구성하기만약 여러 클러스터가 있고, 사용자와 구성요소가 다양한 방식으로 인증할 때,kubeconfig 파일들을 사용해서 클러스터, 사용자, 네임스페이스 및 인증 메커니즘에 대한 정보를 관리할 수 있다.기본적으로 kubectl은 $HOME/.kube 디렉터리에서 config라는 이름의 파일을 찾는다. 컨텍스트 (Context)kubeconfig에서 컨텍스트 요소는 편리한 이름으로 접속 매개 변수를 묶는데 사용한다.각 컨텍스트는 클러스터, 네임스페이스. 사용자라는 세 가지 매개변수를 가진다. kubectl config use-context위 명령어를 사용하면 컨텍스트를 선택 할 수있다. 클러스터, 사용자, 컨텍스트 정의만약 개발 작업을 위한 클러스..

💽 CICD/Git

[Git] fatal: push options must not have new line characters

[Git] fatal: push options must not have new line characters Merge Request 를 command Line으로 생성하는 법을 포스팅 했었다. [Git] Merge Request command Line으로 생성하기[Git] Merge Request command Line으로 생성하기 자동으로 MR 생성을 해야하는 과제가 있었다. 찾아보니 gitlab 11.10 부터 git 2.10 이상을 사용하는 경우, 다음과 같이 CLI로 Merge Request를 생성할 수 있었다. git pheywantodo.tistory.comgit push \-o merge_request.create \-o merge_request.remove_sour..

💾 Data/SQL

[MySQL] DB 테이블 row 수 확인

[MySQL] DB 테이블 row 수 확인 전체 테이블 별 row count를 구하기 위해선 다음과 같은 Query를 사용할 수 있다.SELECT table_name, table_rows FROM information_schema.tables WHERE table_schema = 'DBNAME' ORDER BY table_name;

👩‍💻 Develope/Python

[Python] Set

[Python] SetPython의 set은 중복되지 않는 고유한 항목들의 모음늘 나타내는 자료형이다.set은 중괄호 {}를 사용하여 정의되며, 각 항목은 쉼표로 구분된다.my_set = {1, 2, 3, 4, 5} set의 특징중복이 없는 고유성: set은 중복된 요소를 허용하지 않는다.따라서 같은 값을 여러 번 포함하여 정의하더라도, 각 값은 한번만 나타난다.  변경 가능한 자료형: 요소를 추가하거나 제거가 가능하다.#요소 추가my_set.add(6)#요소 제거my_set.remove(3) 집합 연산: set은 집합 연산을 지원한다.set1 = {1, 2, 3}set2 = {3, 4, 5} 1. 합집합union_set = set1 | set2>>> uni..

💽 CICD/Git

[Git] remote: You are not allowed to push code to this project.

[Git] remote: You are not allowed to push code to this project. 어제까지만 해도 잘 되던 Push가 다음과 같은 에러 메시지와 함께 안되기 시작했다 😥 remote: You are not allowed to push code to this project. fatal: unable to access 'http//git_repositoy.git/ ': The requested URL returned error: 403 원인은 여러가지가 있는 것으로 보였다. 1. Protect Branch로 설정되어있는데, force Push가 허용이 되어있지 않은 경우 2. 자격 증명이 잘못 설정되어 있는 경우 1번의 경우엔 브랜치 설정에서 proctect branch로 설..

👩‍💻 Develope/Python

[Python] 파이참 콘솔에서 output이 깨져서 보일 때

[Python] 파이참 콘솔에서 output이 깨져서 보일 때 파이참에서 subprocess 명령어를 사용하는데 에러가 발생했다. 원인을 파악하려고 하는데 아웃풋이 다음과 같이 깨져서 나와 알 수가 없었다. 알고보니 파이썬 콘솔은 UTF-9이고,불러오는 터미널은 CP-949가 활성 코드 페이지로 설정되어있기 때문에 콘솔에서 터미널 명령어를 불러올 때 깨지는 현상이 발생하는 것이다. 현재 사용 중인 콘솔창에서 언어 코드를 변경하는 명령어(chcp)를 사용하면 해결이 가능하다. os.system("chcp 65001")

heywantodo
'분류 전체보기' 카테고리의 글 목록 (6 Page)