전체 글 466

[c++ 개발자되기] map, set , unordered_set, unordered_map

개요Container 관련 구현 사항을 정리 합니다.ContainerTyp 자료형중복구현시작 복잡도정렬여부구현 필요 사항정늘 저하 요인setKeyNoTreeO(log n)Yes mapkey-valueNoTreeO(log n)Yes unordered_setKeyNoHashO(1)Nohash,== 연산자료 값증가시O(n)의 rehahsing이 발생-> reserved를 사용하여 회피unordered_mapKey-ValueNoHashO(1)Nohash,== 연산자료 값증가시O(n)의 rehahsing이 발생-> reserved를 사용하여 회피unordered_multisetKeyYesHashO(1)Nohash,== 연산자료 값증가시O(n)의 rehahsing이 발생-> reserved를 사용하여 회피unord..

ProgrammingLang/c++ 2024.05.25

[CKAD] Security Context

개요 k8s에서 Security Context가 무엇인지 그리고 어떻게 사용하는지 알아보겠습니다. Security Context란? Kubernetes(K8s)에서 Security Context는 Pod나 Container의 보안 관련 설정을 지정하는 데 사용됩니다. 적용 범위 Pod 전체 또는 Container 적용 우선 순위 1순위 : Container2순위 : Pod 사용 형태 securityContext 필드를 사용합니다. Pod에 적용 apiVersion: v1 kind: Pod metadata: name: security-context-demo spec: securityContext: runAsUser: 1000 runAsGroup: 3000 containers: - name: sec-ctx-..

Cloud/k8s-CKAD 2024.04.23

[CKAD] 환경 변수 Configmap 과 Secret 사용하기

개요 container 환경 변수를 사용하는 방법을 알아보겠습니다. 환경 변수 사용방식 환경 변수를 사용하는 방법에는 총 3가지의 방법이 아래 와같이 존재합니다. Environment Variable ConfigMap Secret Environment Variable env 필드에서 key-value 형식으로 사용됩니다. 아래에서 밖같 박스 부분이 환견 변수를 사용한 부분이며, 환경 변수를 container 하위에서 설정하면 됩니다. Configmap 개요 사용 이유 container에 영향을 주는 환경변수를 외부에서 관리함으로써 container의 실행 환경을 제어할 때 사용합니다. 사용 절차 1. configmap 생성 2. configmap 확인 3. configmap 사용방법 제한 사항 confi..

Cloud/k8s-CKAD 2024.01.30

[CKAD] Dockerfile과 yaml 실행 필드 관련 관계

개요 dockerfile의 실행 관련 필드들이 yaml에서 어떻게 연관되는지 알아보겠습니다. 연관 관계 Dockerfile(좌)의 ENTRYPOINT과 CMD 옵션이yaml(우)에 command와 args로 override 됩니다. 주의 사항 1. Dockerfile에 ENTRYPOINT와 CMD 필드가 있는데 yaml에 command만 있으면 어떻게 되는가? [Dockerfile] ENTRYPOINT ["/bin/myapp"] CMD ["defaultarg"] [yaml] command: ["/bin/otherapp"] 이 경우, Kubernetes YAML 파일의 command 설정은 Docker 이미지의 ENTRYPOINT를 재정의합니다. 그러나 args가 지정되지 않았기 때문에, Docker 이미..

Cloud/k8s-CKAD 2024.01.29

[Linux] 실행 파일 동작 과정

Linker와 Loader KLDPWiki: Docbook Sgml/Linker Loader-TRANS KLDPWiki: Docbook Sgml/Linker Loader-TRANS 링커와 로더윤인수 이 글은 컴파일러, 링커, 로더들이 어떻게 동작하는지를 간략히 보이며, 또한 공유 라이브러리의 이점에 대해서 얘기한다. 고친 과정 고침 0.12002-11-28고친이 쿨링팬최초 번역 wiki.kldp.org 좋은 책들 comp_arch_list/books at master · last-genius/comp_arch_list · GitHub

카테고리 없음 2024.01.22

[CKAD] Dockerfile의 모든것

개요 Dockerfile을 이용하여 할 수 있는 모든 것을 알아보겠습니다. Dockerfile이란? container image를 만들기 위한 명령어들의 나열입니다. Dockerfile의 구조 Dockerfile은 Docker 이미지를 만들기 위해 사용되는 텍스트 문서로, 이미지를 생성하기 위한 명령어들의 집합을 포함하고 있습니다. 구조는 다음과 같습니다: 필수 FROM CMD or ENTRYPOINT 모든 설정 #FROM : 베이스 이미지를 지정합니다. # 예를 들어, `FROM ubuntu:18.04`는 Ubuntu 18.04 이미지를 베이스로 사용하겠다는 것을 의미합니다. FROM ubuntu:18.04 #LABEL : 이미지에 메타데이터를 추가합니다. LABEL maintainer="name@ex..

Cloud/k8s-CKAD 2024.01.10

[k8s] calico - multiple nic + metallb 사용법

개요 calio + metallb에서 multple nic 사용법을 정리 합니다. NIC 환경 controlplane nic1(ens33) : 1.1.0.0/16 nic2(ens35) : 172.10.1.1/16 woker node1 nic1(ens33) : 1.1.0.1/16 woker node2 nic1(ens33) : 1.1.0.2/16 woker node3 nic1(ens33) : 1.1.0.3/16 Calico 배포 위 NIC 환경에서 calico를 배포하면 controplane쪽이 정상 동작을 하지 않습니다. 로그를 보면 BGP 통신이 cluster IP가 아닌 다른 IP를 사용해서 그런것으로 판단이 됩니다. W1208 05:14:22.290398 240 feature_gate.go:241] ..

Cloud/k8s 2023.12.08

[k8s] trouble shooting

재부팅후 node가 NotReady인 경우 hostname 확인 구축 당시 hostname이 k8s-controlplane이 이거였는데 my-k8s-controlplane 이걸로 변경되어 안된다는 말입니다. Log 확인 명령어 journalctl -u kubelet.service -f 문제의 로그 Nov 29 09:12:08 my-k8s-controlplane kubelet[1463]: E1129 09:12:08.248902 1463 controller.go:146] "Failed to ensure lease exists, will retry" err="leases.coordination.k8s.io \"my-k8s-controlplane\" is forbidden: User \"system:node:k..

Cloud/k8s-CKA 2023.11.29