기술 이모저모

2022년 11월 openssl 재단에서 엄청난 취약점이 발견되었다는 기사가 많이 나왔다. 취약점이 공개되기 이전에는 엄청난 취약점이라고 공포심 조장이 많았는데, 실제 취약점이 공개되고 난 다음에는 영향력도 크지 않고 유효한 취약점이 되기에는 많은 조건이 있기 때문에 사실 그만큼 위험성이 높은것은 아니었다. KISA 인터넷 보호나라&KrCERT KISA 인터넷 보호나라&KrCERT www.boho.or.kr 취약점에 대한 기사를 보자마자 우리 회사 Container image에는 해당 취약점이 없을까? 현황 파악을 할 수 있을까? 하는 생각이 많았다. 근데 결론부터 말하면, 현재 회사에서는 개발/배포 과정에서 image에 대한 취약점 점검이 없었어서 취약점 점검을 위한 설계를 하였다. 취약점 점검을 위한..
kubernetes 공부를 하다보면 pod, containers라는 단어를 많이 들어볼 수 있다. 먼저 pod란? kubernetes에서 가장 기본적인 배포 단위이다. 쉽게 말해서 1개의 가상이미지라고 보면 된다. 그렇다면 container는 뭘까? pod를 이루는 Application이라고 보면 된다. 일반적으로 1개의 pod에는 1개의 container가 존재하나 필요에 따라서 다수의 containers가 존재할 수 있고 이런 경우 multi containers pod라고 한다. 그럼 init container는 뭘까? init container는 app container가 구동되기 이전에 pod를 초기화해주는 container라고 보면 된다. pod의 환경설정 또는 기타 다른 부수적인 작업을 하기 ..
앞장에서 DaemonSet에 대해서 알아보았다. 그렇다면 이번에는 StaticPod에 대해서 알아보자! 먼저 StaticPod란 무엇일까? Docs에 기재되어 있느 내용을 인용하면 Kubernetes API 서버없이 Kubelet 데몬에 의해 직접 관리하며, Node에 필수로 설치하는 Pod을 배포하기 위한 방법으로 설명되어 있다. Kubelet 데몬에 의해 직접 관리의 의미는 일반적은 Kubernetes 구조와는 다르다는것을 의미한다. 일반적은 구조는 사용자가 어떤 명령을 하면 이를 API Server에서 모두 취합하여 명령을 내린다. API Server는 사람으로치면 두뇌의 역할을 한다. 그렇기에 API Server에 장애가 발생하면 Pod 배포가 되지 않는다. 근데 StaticPod는 API Ser..
Kubernetes에는 많은 형태의 Pod 배포 방법이 존재한다. 그렇기에 많은것을 공부해야되고 아직까지도 새로운것이 많다. 이번에는 DaemonSet 과 StaticPod에 대해서 알아보자!! 먼저 DaemonSet이란? DaemonSet은 노드별로 Pod를 배포할 때 사용하는 서비스이다. 예를들어서 클러스터에 5개의 Node가 존재한다면 Daemonset이 있다면 각 노드별로 Pod가 배포되고 총 5개의 Pod가 배포된다. 일반적으로 Node별로 Pod 정보를 수집하거나, Node 정보를 수집하거나 또는 각 Node에 필수로 실행되어야하는 Pod가 있을 때 DaemonSet을 많이 사용한다. 현재 재직중인 회사에서도 Node의 상태를 모니터링하는 오픈소스 플랫폼을 사용하는데, 이를 DaemonSet으..
아래의 연습문제를 풀다보니 configmap에 대한 개념이 필요했다. 공부해보자 [k8s] KodeKloud Practice test -Multiple Schedulers Q1. What is the name of the POD that deploys the default kubernetes scheduler in this environment? A1. Q2. What is the image used to deploy the kubernetes scheduler? Inspect the kubernetes schedule.. dobby-isfree.tistory.com 일단 쿠버네티스 configmap이란 뭘까? 공식 사이트의 내용을 인용하면 기밀의 아닌 정보를 key-value 쌍으로 저장하는 API 오..
Q1. How many static pods exist in this cluster in all namespaces? A1. 4 일반적으로 Static Pod는 /etc/kubernetes/mainfests 하위에 yaml 파일을 위치하게 된다. 일반적으로 pod를 만드는 yaml을 두면 되고, 일반적으로 pod는 name 뒤에 의문의 문자열이 생기는데 static pod는 name 뒤에 node name이 붙게된다. static pod의 개수는 /etc/kubernetes/mainfests의 yaml 파일 개수를 확인해도 도고, pod의 name에 node가 붙어있는것을 확인하면 된다. Q2. Which of the below components is NOT deployed as a static pod..
k8s를 사용하는 구조에서는 많은 Container pod가 배포되고 이에 따라 적절하게 Resouces를 관리해야 한다. 그리고 pod를 schedule 할 때, pod 내의 application이 동작할 수 있을만큼의 자원(CPU, Memory)가 확보되어야 한다. 물론, 별도 Limit 없이 무제한으로 할당할 수 있지만 이는 특정 pod가 문제가 되면 다른 pod도 모두 영향을 받으므로 제한하는것이 좋은 방법이다. - k8s 1.9 버전에서는 CPU, Memory 자원에 대해서만 제한이 가능하다. k8s Resouces 단위 k8s에서 Resouces를 정의하는 기본 단위는 ms(밀리 세컨드)이다. 대략 1000ms = 1vCPU이다. CPU, Limit Resources 자원 할당 방법 k8s를..
Q1. A pod called rabbit is deployed. Identify the CPU requirements set on the Pod in the current(default) namespace A1. 1 Q2. Delete the rabbit Pod. Once deleted, wait for the pod to fully terminate. A2. kubectl delete pod rabbit Q3. Another pod called elephant has been deployed in the default namespace. It fails to get to a running state. Inspect this pod and identify the Reason why it is not r..
나는 아래 게시물에서 특정 node에는 특정 values값만 가지는 pod를 배포하는것에 대해서 공부하였다. [k8s] Node Taint 와 Tolerations의 개념 CKA 실습을 하다보면, 특정 Node에는 Pod이 배포되지 않도록 요구하는 문제를 많이 볼 수 있다. 그때마다 설정하는 내용을 보면 Taint / Tolerations을 설정하여 특정 Node에 대한 사용을 제한한다. 오늘은 dobby-isfree.tistory.com 근데 결과적으로 말하면 Taint는 특정 node에 특정 values값을 가지는 pod만 배포한다는것이지, 해당 pod가 항상 특정 node에 배포되는것을 보장하지는 못한다. 이런 문제점을 해결하기 위해 바로 nodeAffinity 존재한다. nodeAffinity는 ..
Kobby
'기술 이모저모' 카테고리의 글 목록 (4 Page)