Skip to main content

Command Palette

Search for a command to run...

CKA study: day 1

Updated
3 min readView as Markdown
CKA study: day 1
W

constant failure

Background

From the official documentation:

Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation.

As with many things it originates from Google- their Borg system in particular. Kubernetes has been adopted by 31% of backend developers worldwide and is only expected to grow more in 2023. Around the end of December, Muni invited graduates of Google ML Bootcamp to a 1-month group study to finish a Udemy CKA course. (02/01/23 - 03/02/23) CKA focuses on administrative tasks instead of covering all of k8s: CNCF allocated CKAD for app development and CKS for security.

Every day I will be recording progress with this blog.

Components: control plane

Overview of Kubernetes components from the documentation

(updated to 'control plane' from 'master node' since video upload [1][2])

etcd

etcd is a key-value store that holds the current and desired states of the k8s cluster. A "source of truth" as this answer to how etcd is different from MongoDB point out. Notice there is only one instance in the diagram above.

etcd is designed to store small amounts of strongly-consistent state for coordination between services. - Kyle, from his Call Me Maybe Series

kube-scheduler

kube-scheduler assigns (i.e. schedules) feasible pods to a worker node so that the assigned node's kubelet can create the pod as instructed.

But I heard of k8s utilizing hardware to its maximum potential and creating a size 2 pod in a 10 instead of a 6 node did not make sense. Here are some incomplete answers (or more questions), although I hope to study the video below tomorrow to get a clear answer.

kube-apiserver

kube-apiserver does the bulk of the communication- ranging from user authentication and management of etcd, to coordination between the scheduler and kubelets. There are two ways to progress throughout the course:

  1. use kubeadm and call it a day

  2. directly interface with REST

As the link for 2 is outdated, will first try out with kubeadm. There is a way to expose the API via a proxy though.

kube-controller-manager

kube-controller-manager is 4 separate control loops packed into one binary. Most notable right now is the Node controller and Job controller.

  • Node controller: notices and responds to a node failure, if any. It monitors each node every 5 seconds and if unresponsive for 40 seconds, labels them as 'unreachable'. After 5 minutes it either replaces

  • Job controller: creates one-time pods for one-time jobs.

  • Replication controller mentioned in the video is fading in favour of Deployment controller.

Concluding thoughts

I know nothing. Will have to study hard to pass this test. Here are some other resources found along the way.

Never let down people who trust you again.

More from this blog

[ossca] 모델 리소스 추가

1. 시작하기 먼저 Hugging Face Transformers GitHub에서 해당 이슈를 읽어보세요. 다양한 모델의 문서를 관련 리소스를 모아서 개선하자는 내용이 있습니다. 저희 채널은 물론이고, 해당 이슈에 댓글을 달아 작업하고 싶은 모델을 신청하세요. 아래에 상위 21개 모델의 주요 특징, 게재 연도, 도메인, 기관, 링크를 정리해뒀습니다. 모델주요 특징게재 연도도메인기관링크 BART사전 훈련 목표(pre-training ...

Aug 1, 20234 min read
[ossca] 모델 리소스 추가

mint

19 posts

I don't know.