반응형

K8s는 object(Pods, Replicas, Deployments, Service, etc)를 생성하기 위해 YAML File을 사용한다. 

 * Yaml 파일이 무엇인지 이해가 안된다면 이전 게시글 참고!

Udemy K8s absolute beginner course
https://www.containerlabs.kubedaily.com/Kubernetes/fundamentals/Pod.html

각 Object들은 모두 비슷한 형식을 따르는데, k8s definition 파일에는 항상 아래 4개의 상위 속성을 포함해야한다.

- apiVersion: object를 만들기 위해 사용할 k8s API version (예시는 두 번쨰 그림 속 kind/version 참고)

- kind: object type (pod, service, deployment, ...)

 

Udemy K8s absolute beginner course

- metadata: 이름, label과 같은 오브젝트의 data. 

  . label은 나중에 pod가 여러 개 생겼을 때, 이를 묶어줄 수 있는 역할을 한다. tag라고 보면 쉬울듯!

   label 밑에는 추가적인 key들을 작성해도 되지만, metaData 밑에는 key를 추가할 수 없다.

- spec: specification.

  . 위 3개를 보면, 그래서 어떤 containers를, 어떤 image파일로 만들건데! 하는 정보가 없다.  

     그래서 containers 및 image 정보를 작성하고, multiple-containers가 될 경우 list로 써줄 수도 있다.

 

* 각 Key값 뒤 Value를 입력할 땐, 콜론(:) 뒤 띄어쓰기(space)하는 것 잊지말기

 

 

이후 k8s definition.yaml 파일을 작성 후엔,

kubectl create -f definition.yaml

kubectl apply -f definition.yaml 로 pod를 만들 수 있고, 아래와 같이 상세 조회도 가능하다.

* kubectl edit pod [pod명]을 하면, 현재 running된 pod의 config값을 변경할 수 있다.

 

이렇게 yaml파일을 vi를 통해 만들 수도 있지만, Visual Studio Code를 사용하면 더 쉽게 만들 수 있다.

아래와 같이 들여쓰기도 스스로 해줄 뿐더러, 첨삭(내가 뭘 틀렸는지 혹은 어떻게 입력해야하는지) 가이드라인도

제공해주기 때문이다.

https://cloud.google.com/code/docs/vscode/yaml-editing?hl=ko

 

그런데 검색하다보니, 구글에서도 google cloud Code를 제공한다..

즉, 별도의 프로그램 다운이 필요없는 것이다. 갓 구글 ㄷ ㄷ

https://cloud.google.com/code/docs/vscode/yaml-editing?hl=ko 

 

Google Cloud 및 Kubernetes YAML 작업  |  VS Code용 Cloud Code

의견 보내기 Google Cloud 및 Kubernetes YAML 작업 Cloud Code는 구조 및 유효한 값 모두에 대한 스키마를 린트하고 자세한 오류를 제공하여 Kubernetes 및 Cloud Build 구성을 쉽게 만들 수 있도록 설계되어 있습

cloud.google.com

 

 

출처)

자료의 기반은 모두 Udemy의 'Kubernetes for the Absolute Beginners - Hands-on' Course 입니다!

반응형
반응형

 

* YAML: XML, JSON과 같은 Data Structure format. K8s에서는 이것을 사용한다.

아래 그림은, 동일한 자료를 format만 다른 XML, JSON, YAML로 각각 나타낸 것이다.

https://www.udemy.com/course/learn-kubernetes/

 

 

YAML은 내부적으로도 크게 3가지 형태가 있는데, 아래와 같다.

https://developer.ibm.com/tutorials/yaml-basics-and-usage-in-kubernetes/

 

1) Key Value Pair: 가장 간단한 형태로 별도의 복잡한 형태가 필요없을 때 사용.

2) Array/List: 추가 속성값(value)을 가지고 있을 때. "-"는 array의 element임, 단순히 정렬이라 보면 쉬움(순서 상관 O)

3) Dictionary: 속성 값을 더 갖고 있을 때.

ex. Array/Lists에서는 Fruits가 orange, banana로 끝나지만

     Dictionary는, Banana의 세부 key들을 또 정의해주고, 그에 따른 value를 가지고 있음.

   * 앞에 들여쓰기(space 갯수) 신경 잘 써야함. 이게 곧 구분자, Unordered (순서 상관 x)

 

 

순서 상관이 무슨 말이냐면, 아래를 봐보자.

https://www.google.com/search?q=yaml+list+ordered&tbm=isch&ved=2ahUKEwiao_CxhrPzAhUNWpQKHVdJAykQ2-cCegQIABAA&oq=yaml+list+ordered&gs_lcp=CgNpbWcQAzoHCCMQ7wMQJzoFCAAQgAQ6CAgAEIAEELEDOgQIABAeOgQIABATOggIABAIEB4QEzoGCAAQHhATOgQIABAYUMLnDVithg5gsYcOaAFwAHgAgAGuAogBkReSAQgwLjE3LjAuMZgBAKABAaoBC2d3cy13aXotaW1nwAEB&sclient=img&ei=RSdcYdrsHY200QTXko3IAg&bih=976&biw=1698#imgrc=WSzxBeEe7oimvM

이는 List 형태인데, 여기서 Mike가 첫 번째로 입력되어 있는데, 그럼 Rob와 순서가 바뀌면 안 된다는 거다.

 

 

 

https://stackoverflow.com/questions/61396981/write-yaml-file-from-python-dict-containing-special-characters-asterisk-ampers

그러면 Dictionary case를 봐보자.

여기서는, model이 in_features이나 use_bn 과 같은 key들과 순서가 바뀌어도 전혀 상관없다는 것이다.

앞으로 YAML은 계속 다룰테니, 다음 강의에서 더 복잡한 파일을 이해해보자.

 

출처)

자료의 기반은 모두 Udemy의 'Kubernetes for the Absolute Beginners - Hands-on' Course 입니다!

 

반응형
반응형

 

Kubernetes를 setup하는 방법은 여러 가지가 있다. 

1) Minikube / Kubeadm 툴을 사용하여 랩탑 or VM에 setup을 할 수 있다.

 - Minikube: All-in-one으로 single instance 셋업을 위해 사용되는 툴

 - Kubeadm: multi-node setup에 사용되는 툴

 

2) Hosted solutions in a cloud environment (ex. GCP, AWS)

3) play-with-k8s.com에 checkout

 - 리소스가 없거나, 복잡한 셋업 과정을 거치고 싶지 않은 경우

 

다시 하나씩 보자. Minikube부터.

Minikube는 위 그림에서보면, master/worker node가 분리된 것처럼 보이지만,

ppt 효과가 들어가 있어서 분리되어 있는 것이고

실제론 Master와 Worker Node가 하나로 All-in-one 버전이다.

 

Minikube는 아래 링크에서 Minikube와 VirtualBox를 다운 받아서 셋업하면 된다.

Install MiniKube: https://kubernetes.io/docs/tasks/tools/install-minikube/

VirtualBox: https://www.virtualbox.org/wiki/Downloads

MiniKube Download page for  Windows: https://github.com/kubernetes/minikube/releases

 

More about it here: https://kubernetes.io/docs/setup/learning-environment/minikube/#specifying-the-vm-driver

 

 

이 외는 데모하는 부분이라 여기서 마무리 :)

퀴즈는 3개 중 2개를 맞췄는데, 틀린 부분 역시.. 지금 티스토리에 정리를 하다보니 답이 바로 보인다.

앞으로도 열심히 정리해봐야겠다.

 

출처)

자료의 기반은 모두 Udemy의 'Kubernetes for the Absolute Beginners - Hands-on' Course 입니다!

반응형
반응형

 

SW분야에서는 Kubernetes 사용이 거의 필수가 됨에 따라 K8s 공부를 하고 있다.

지식의 시작은 항상 기초부터 쌓는 게 중요하기 때문에, 검색 끝에 Udemy라는 곳에서 K8s 강의를 찾았다.

* Udemy: 미국의 온라인 강의 플랫폼

 

 

다만, 뭔가 증명할 수 있는 자격증을 취득하면 공부에 대한 방향성이 잡아지기에

CKA(Certified kubernetes Administrator)라는 자격증의 존재를 찾았고,

Certified Kubernetes Administrator (CKA) with Practice Tests 강의를 결제했다.

강의시간은 약 19시간이고, 수강료는 할인가 기준 15000원이다!ㄷㄷ

https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/

 

 

강의 컨텐츠도 미리 볼 수 있는데, 기본적인 것들을 배울 것 같아 이걸로 결제했다.

 

 

그런데, Orientation을 들어보니 Absolute-Beginner(왕초보)는 다른 코스를 만들어 뒀다고 한다.

그게 아래의 Kubernetes for the Absolute Beginners- Hands-on 인데,

강의시간은 약 5.5시간에, 수강료도 15000원으로 저렴하다. 그래서 이것도 결제했다....

https://www.udemy.com/course/learn-kubernetes/

 

이번주 중에 왕초보 버전을 끝내고, CKA 강의를 들어 볼 예정이다.

 

 

 

약 1시간 정도 들은 후기

- 확실히 웬만한 한국 강의보다 내용들이 꼼꼼하고 알차다.

  (강사도 이 업계에서 유명한 강사라고 함)

- 문제가 되는 부분은, ALL 영어로 진행되기에 2배속 듣기는 불가능하다. (역량 부족)

  (영어, 독일어, 스페인어 등의 자막은 있지만 한국어는 없다.)

- 강의 내용 + 자막을 pdf로 제공해줘서 혼자 예습/복습하기 좋다.

  (웬만한 온라인 강의들은 자막까진 안 넣어주는데, 여긴 자막까지 포함되어 있어서 좋음)

 

 

앞으론 Absolute-Beginner 강의를 들으며 내용을 요약하고,

얼른 CKA로 넘어가볼 예정이다.

 

반응형

+ Recent posts