전체 글 491

[CKA] 5. namespace

개요 k8s에서 namespace의 용도를 알아보겠습니다. namespace k8s에서 namespace는 single cluster 내에서 리소스를 그룹화하여 분리하는 메커니즘을 제공합니다. k8s에서는 최소 설치 시 2개의 namespace가 존재하게 됩니다. 1. kube-system k8s system 관리를 외한 pod들이 존재하는 namespace 2. default 사용자가 pod를 배포 시 기본적으로 소속되는 namespace namespace 제약 사항 1. 동일 namespace에서의 resource name은 유일해야 합니다. namespace가 다르면 같아도 괜찮습니다. 2. namespace의 적용 법위는 namespace에 기반한 object에 한정됩니다. (예: deployme..

Cloud/k8s-CKA 2023.01.24

[CKA] 4. Service

개요 k8s에서의 service가 무엇인지 알아보겠습니다. 일단 그전에 k8s의 network 기초를 조금 설명하고 넘어가겠습니다. k8s의 network k8s에서의 network구조 물리적으로 구성한 node위에 overlay network라는 기술을 이용하여 Pod 간의 network를 구현하고 있습니다. 참고로. overlay network는 물리적으로 구성된 망위에 새로운 논리적인 network를 구성하는 하는 것입니다. 그림으로 설명 하면 다음과 같습니다. 1. 먼저 물리적인 network를 구성하여 node를 연결합니다. 2. 그리고 node안에 생성된 pod들을 overlay network를 이용하여 연결합니다. 이때 "overlay network를 이용하여 연결" 한다는 뜻은 Pod들을 ..

Cloud/k8s-CKA 2023.01.20

[go] 내부 module 및 package 만들기

개요 이전 post([go] 1. downloading 가능한 module 및 package 만들기)에서 download가능한 module을 만들어 보았습니다. 그러나 program 을 개발 하다보면 외부에 노출 되면 안되는 module들도 많이 개발합니다. 그러면 이러한 module을 어떻게 만들면 되는지 알아보겠습니다. 참조 : https://go.dev/doc/tutorial/call-module-code 절차 1. 내부 모듈 생성 (inner_hello) 2. 내부 모듈 경로 설정 3. main package에서 호출 내부 모듈 생성 (inner) 내부 모듈은 main package directory에서 생성을 합니다. 1. inner 생성 #mkdir inner 2. inner_hello mod..

ProgrammingLang/Go 2023.01.20

[go] downloading 가능한 module 및 package 만들기

개요 go 1.19 기준에서 프로그램을 가끔 만들면 사용자 module 를 만들어야 할 때가 매우 많이 생깁니다. 그런데 항상 module 만드는 방법을 까먹습니다. 우선 첫 번째 post에서 download가능한 module을 만들어 볼것 입니다. 참고로, 모든 정보는 https://go.dev/ 에서 가져왔습니다. 알고 싶은 것 1. 나만의 module를 만드는 순서 필요한 사전 지식 - module과 package의 관계 - module 용도 - package 용도 module과 package의 관계 https://go.dev/doc/tutorial/create-module Go 코드는 package로 그룹화되고 package는 module로 그룹화됩니다. 그래서 나만의 module을 만들때는 mo..

ProgrammingLang/Go 2023.01.19

[go] 개발에 도움되는 오픈소스

1. cli 개발에 도움주는 패키지 각종 옵션 및 서브 명령어를 쉽게 사용 할 수 있도록 도와 줍니다. https://cli.urfave.org/ Welcome - urfave/cli Welcome to urfave/cli urfave/cli is a simple, fast, and fun package for building command line apps in Go. The goal is to enable developers to write fast and distributable command line applications in an expressive way. These are the guides for each major s cli.urfave.org

ProgrammingLang/Go 2023.01.18

[CKA] 3. ReplicaSet & Deployments

Replicaset란? Pod의 High Availablity를 지원합니다. Pod에 문제가 생기면 새로운 Pod를 Cluster 내부에 생성 합니다. 즉, ReplicaSet은 지정된 수의 동일한 Pod의 실행을 유지하려는 목적으로 사용됩니다. Replication Controller VS Replicaset Replication Controller - 오래된 기술 - Replication Controller로 생성한 것만 관리 할 수 있습니다. Replicaset - 최신 기술 - Replicaset 생성의 일부로 생성되지 않은 Pod도 Replicaset에서 관리할 수 있기 때문입니다. 가장큰 차이점 selector를 사용 할 수 있냐 없냐가 제일 큰 차이점. Replicaset 설정 디플로이먼트로..

Cloud/k8s-CKA 2023.01.11

[급한 k8s] 4. 외부 서비스

외부로 service하는 방법 1. Port forwarding 1) 개요 - master node에서 접속할 pod를 대상으로 port forwarding을 해주는 것입니다. - process레벨로 돌아가기 때문에 매번 설정을 해줘야 되서 테스트 할 때만 사용하는게 좋음 2) 설정 방법 - 배포 할 Pod root@master:~/k8s_yaml# cat nginx-pod.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: containers: - name: nginx image: nginx:1.14.2 - 명령어 #kubectl port-forward --address 0.0.0.0 nginx-pod 80:80 2. NodePort 1) 개요..

Cloud/k8s 2023.01.01

[C++개발자되기] 32. STL Container 실무

개요 container의관련된 모든것을 실무에 필요한 순서대로 알아보겠습니다. Container의 종류 아래 site에 잘 정리되어 있습니다. https://cplusplus.com/reference/stl/ https://cplusplus.com/reference/stl/ cplusplus.com Container별 성능 https://users.cs.northwestern.edu/~riesbeck/programming/c++/stl-summary.html EECS 311: STL Containers This is a brief summary of the containers in the Standard Template Library. It deliberately sacrifices completenes..

ProgrammingLang/c++ 2022.12.28