목록k8s (6)
공부집

필수링크: https://bit.ly/3D9XCOz role: k8s에 활동할 수 있는 역활 rbac: secret이나 roleBinding등 관리할 때 쓰는 것 make deploy IMG={...} 로 배포시 config/manager/kustomization.yaml 파일의 newName에 IMG 값이 들어가짐 "config/rbac/kustomization.yaml" 이 파일 주석을 보면 Be sure to update RoleBinding and ClusterRoleBinding 「kind: ClusterRoleBinding」 의 name, namespace 값을 수정해줘야함 subjects: - kind: ServiceAccount name: controller-manager namespace..

필수링크: https://bit.ly/3D9XCOz 저번주 과제 피드백 topology 키를 zone으로 하면 노드당 팟이 세워지는 것이 아니라 같은 zone에 있는 어느 한 노드에만 팟이 전부 세워질 수가 있음 노드당 팟을 세우려면 topology 키를 host단위로 설정해야함 nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - gke-cluster redis conf BIND BIND 127.0.0.1 이것은 디폴트이고 127.0.0.1로 접속하는 클라이언트만 접속을 허용한다. 즉..

필수링크: https://bit.ly/3D9XCOz 메모리 관리를 위해서 go defer 꼭 사용 resources: requsets: // 최소 이만큼 리소스 사용할 수 있는 노드에 할당 memory: "64Mi" cpu: "500m" limit: // 리소스를 더 많이 사용할 수 없도록 제한 memory: "64Mi" cpu: "500m" log aggregator: 로그 수집용 사이드카 pod은 HPA로 개수 늘림 node는 auto scaler 를 사용해서 늘릴 수 있음 taint, toleration taint은 node에 지정하는 설정임 (pod이 스케줄이 되지 않음) toleration은 pod에 설정(노드에 걸린 taint을 무시하고 설정) NoSchedule: k8s scheduler에게..

필수링크: https://bit.ly/3D9XCOz GKE 만들때 유의사항 존, 리전: 리전은 컨트롤 플레인이 분산됨 유지보수 기간: 선택한 리전 시간대에 맞게 설정 워크로드 아이덴티티(Workload Identity): aws와 같은 외부 서비스어카운트와 쿠버 서비스어카운트랑 바인딩 가능 서비스 메쉬: msa 아키텍쳐의 사이드카 관리용 K8S 메모 ClusterIP: 컨트롤 플레인 API 호출 및 pod 간의 통신때 사용하는 IP서비스 kubectl apply 와 다르게 kubectl create 명령어는 캐싱이 안됨 dnspolicy: # DNS에 질의를 할때 어떤 순서로 할 것인지 개별 포드마다 지정해 줄 수 있음 # Default : dns 설정을 포드가 실행중인 노드의 설정을 가져와서 사용합니다..

필수링크: https://bit.ly/3D9XCOz helm 현재 오버라이드 기능에서 null 값을 넣을 수 없음 helm repository: 도커 허브 같은 거 실제 사용 예시 Pod 파드와 컨테이너의 다른 점은 독립성을 부여할 수 있음 - 컨테이너 안에 컨테이너를 넣으면 종속됨 - Pod안에 컨테이너 2개인 경우: 사이드카 패턴 Deployment: Pod를 관리(replicas), 파드 갯수를 보장 Deployment와 Repilcaset의 차이: Deployment가 Repilcaset도 관리해주는 상위개념 Deployment와 Repilcaset의 기능적인 측면에서의 차이: declarative updates (선언적 업데이트)를 제공함 StatefulSets: Deployment와 달리 파드..

필수링크: https://bit.ly/3D9XCOz 1주차 Go 언어 환경변수 설정 % go env | grep "GOPATH" GOPATH="/Users/park/go" init: go.mod,go.sum 패키지 관리 파일을 생성함 % go mod init go-test go: creating new go.mod: module go-test tidy: 불필요 모듈을 정리하는 명령어? vendor: 패키지들을 보관해두는 곳, 외부 패키지가 아닌 필요한 패키지만 보관하여 용량이 줄어듬 go.mod: 모듈을 정의한 파일 go.sum: go.mod에 정의된 모듈의 해시값을 저장 패키지 관리를 위해서 노드단에서 볼륨 마운트는 비효율적 배열은 고정된 크기를 가지고, 슬라이스는 동적인 크기 array := [6]i..