Recent Study/udemy - CKA with Practice Tests
-
1. Rollout and Versioning : 처음 배포를 생성하면 새로운 Rollout은 새로운 revision을 생성합니다. 컨테이너 버전이 새것으로 업데이트 되면 새 Rollout이 트리거되고, 새로운 배포 revision을 생성합니다. 배포에 일어난 변화를 추적하고, 전버전으로 돌아갈 수 있게 돕습니다. 배포 전략에는 2가지가 있습니다. 1) 기존의 것을 삭제하고, 새로운 것을 배포하는 방법은 구 버전이 다운되고, 새로운 버전이 업데이트 되기 전 기간에 응용 프로그램이 다운되어 사용자가 사용이 불가합니다. 이 Recreate 전략은 기본적으로 잘 사용되지 않습니다. 2) 한꺼번에 전부 삭제하지 않고, 하나씩 삭제하며 새 버전을 올리는 방법이 있습니다. 이는 응용 프로그램이 다운되지 않고, 업..
Section 5 : Application Lifecycle Management1. Rollout and Versioning : 처음 배포를 생성하면 새로운 Rollout은 새로운 revision을 생성합니다. 컨테이너 버전이 새것으로 업데이트 되면 새 Rollout이 트리거되고, 새로운 배포 revision을 생성합니다. 배포에 일어난 변화를 추적하고, 전버전으로 돌아갈 수 있게 돕습니다. 배포 전략에는 2가지가 있습니다. 1) 기존의 것을 삭제하고, 새로운 것을 배포하는 방법은 구 버전이 다운되고, 새로운 버전이 업데이트 되기 전 기간에 응용 프로그램이 다운되어 사용자가 사용이 불가합니다. 이 Recreate 전략은 기본적으로 잘 사용되지 않습니다. 2) 한꺼번에 전부 삭제하지 않고, 하나씩 삭제하며 새 버전을 올리는 방법이 있습니다. 이는 응용 프로그램이 다운되지 않고, 업..
2024.03.10 -
1. Manual Scheduling [ 1 ] (Pod의 삭제와 생성을 동시에) > kubectl replace --force -f nginx.yaml 2. Label & Selector [ 1 ] We have deployed a number of PODs. They are labelled with tier, env and bu. How many PODs exist in the dev environment (env)? Use selectors to filter the output > kubectl get pods --selector env=dev | wc -l > kubectl get all --selector env=prod (wc - l 을 추가하면 해당 개수를 나타내 줄 수 있음, 헤더 포함 /..
KodeKloud - Test Record (section 3 & 4)1. Manual Scheduling [ 1 ] (Pod의 삭제와 생성을 동시에) > kubectl replace --force -f nginx.yaml 2. Label & Selector [ 1 ] We have deployed a number of PODs. They are labelled with tier, env and bu. How many PODs exist in the dev environment (env)? Use selectors to filter the output > kubectl get pods --selector env=dev | wc -l > kubectl get all --selector env=prod (wc - l 을 추가하면 해당 개수를 나타내 줄 수 있음, 헤더 포함 /..
2024.02.22 -
1. Manual Scheduling : 만약 클러스터에 스케줄러가 없을 때는 어떻게 할까요? 이때는 직접 Pod를 스케줄링 할 수 있습니다. 먼저 기본 스케줄링부터 알아보죠. Pod의 yaml 파일에는 nodeName 이라는 설정이 가능합니다. 스케줄러는 모든 Pod를 보고 이 속성이 없는 것을 찾습니다. 스케줄링 알고리즘을 실행해 Pod의 올바른 노드를 식별해서 지정합니다. 스케줄러가 없을땐 직접 설정해주면 됩니다. Pod의 yaml에 nodeName 속성에다가 노드의 이름을 작성해주면 되는 것이지요. 노드 이름은 생성할 때만 지정할 수 있습니다. 이미 노드에 속해있는 Pod는 노드를 변경할 수 없으며, 이를 가능하게 하는 방법은 바인딩 개체를 생성하고, Pod의 바인딩 API에 요청하는 것 입니다...
Section 4 : Scheduling & Logging, Monitoring1. Manual Scheduling : 만약 클러스터에 스케줄러가 없을 때는 어떻게 할까요? 이때는 직접 Pod를 스케줄링 할 수 있습니다. 먼저 기본 스케줄링부터 알아보죠. Pod의 yaml 파일에는 nodeName 이라는 설정이 가능합니다. 스케줄러는 모든 Pod를 보고 이 속성이 없는 것을 찾습니다. 스케줄링 알고리즘을 실행해 Pod의 올바른 노드를 식별해서 지정합니다. 스케줄러가 없을땐 직접 설정해주면 됩니다. Pod의 yaml에 nodeName 속성에다가 노드의 이름을 작성해주면 되는 것이지요. 노드 이름은 생성할 때만 지정할 수 있습니다. 이미 노드에 속해있는 Pod는 노드를 변경할 수 없으며, 이를 가능하게 하는 방법은 바인딩 개체를 생성하고, Pod의 바인딩 API에 요청하는 것 입니다...
2024.02.22 -
k8s Controllers는 k8s에 숨은 두뇌입니다. k8s 객체 모니터링을 진행하고, 이에 반응합니다.Replication Controller: k8s 클러스터에 있는 단일 Pod의 다중 인스턴스를 실행하도록 도와 고가용성을 제공합니다. 항상 Pod가 실행되도록 보장합니다. 개수에 상관없이. 서로 다른 노드의 여러 Pod에 걸쳐 부하를 분산하는 데 도움이 되고, 수요가 증가하면 앱 스케일도 조정할 수 있습니다. (Replication Controller vs ReplicaSet 서로 비슷하지만 다르고, controller는 구식이다) 이에 대한 yaml 파일도 apiVersion, kind, metadata, spec으로 구성되어 있습니다. Replication Controller yaml 파일..
Section 3 : Core Conceptsk8s Controllers는 k8s에 숨은 두뇌입니다. k8s 객체 모니터링을 진행하고, 이에 반응합니다.Replication Controller: k8s 클러스터에 있는 단일 Pod의 다중 인스턴스를 실행하도록 도와 고가용성을 제공합니다. 항상 Pod가 실행되도록 보장합니다. 개수에 상관없이. 서로 다른 노드의 여러 Pod에 걸쳐 부하를 분산하는 데 도움이 되고, 수요가 증가하면 앱 스케일도 조정할 수 있습니다. (Replication Controller vs ReplicaSet 서로 비슷하지만 다르고, controller는 구식이다) 이에 대한 yaml 파일도 apiVersion, kind, metadata, spec으로 구성되어 있습니다. Replication Controller yaml 파일..
2024.02.15 -
1. Pods [ 1 ] Which nodes are these pods placed on? > kubectl get pods -o wide [ 해당 옵션으로 어떤 Node에 선정되었는지 볼 수 있었음 ] [ 2 ] Create a new pod with the name redis and the image redis123. Use a pod - definition YAML file. And yes the image name is wrong! > kubectl run redis —image=redis123 —dry-run=client -o yaml > redis.yaml [ Print the result (in YAML format) of updated nginx deployment with the ser..
KodeKloud - Test Record (section 2)1. Pods [ 1 ] Which nodes are these pods placed on? > kubectl get pods -o wide [ 해당 옵션으로 어떤 Node에 선정되었는지 볼 수 있었음 ] [ 2 ] Create a new pod with the name redis and the image redis123. Use a pod - definition YAML file. And yes the image name is wrong! > kubectl run redis —image=redis123 —dry-run=client -o yaml > redis.yaml [ Print the result (in YAML format) of updated nginx deployment with the ser..
2024.02.14 -
ETCD ETCD : 분산, 속도, 신뢰할 수 있으며 고가용성을 제공하는 분산 키-값 저장소입니다. 키값 저장소 : 정보를 문서나 페이지 형태로 보관합니다. 각 문서를 받고, 그 개인 데이터에 대한 모든 정보는 해당 파일에 저장됩니다. Etcd 컨트롤 클라이언트는 etcd의 커맨드라인 클라이언트 입니다. 키값 쌍을 저장하고 회수할 수 있습니다. etcd에서 사용되는 Raft 합의 알고리즘은 분산 시스템에서 일관성과 안정성을 보장하기 위해 설계된 분산 일관성 알고리즘입니다. Raft 알고리즘은 리더와 팔로워, 후보자 세 가지 역할로 분리되어 있습니다. 각 노드는 이러한 역할 중 하나를 가지며, 시스템이 동작하는 동안 상태를 전환할 수 있습니다. etcdctl은 etcd와 상호 작용하기 위한 CLI 도구입니..
Section 2 : ETCD & ComponentsETCD ETCD : 분산, 속도, 신뢰할 수 있으며 고가용성을 제공하는 분산 키-값 저장소입니다. 키값 저장소 : 정보를 문서나 페이지 형태로 보관합니다. 각 문서를 받고, 그 개인 데이터에 대한 모든 정보는 해당 파일에 저장됩니다. Etcd 컨트롤 클라이언트는 etcd의 커맨드라인 클라이언트 입니다. 키값 쌍을 저장하고 회수할 수 있습니다. etcd에서 사용되는 Raft 합의 알고리즘은 분산 시스템에서 일관성과 안정성을 보장하기 위해 설계된 분산 일관성 알고리즘입니다. Raft 알고리즘은 리더와 팔로워, 후보자 세 가지 역할로 분리되어 있습니다. 각 노드는 이러한 역할 중 하나를 가지며, 시스템이 동작하는 동안 상태를 전환할 수 있습니다. etcdctl은 etcd와 상호 작용하기 위한 CLI 도구입니..
2024.02.12