본문 바로가기

분류 전체보기16

[쿠버네티스] CKA 기출 자료_5 [네트워킹] | 데인트리 라이브러리 이 페이지에서는 기출 문제 중 네트워크 관련 문제를 다룬다. 1. 디플로이먼트 Expose 참조 링크: https://kubernetes.io/ko/docs/tasks/access-application-cluster/service-access-application-cluster/ 특정 디플로이먼트가 주어지고 이에 대한 서비스를 생성하는 문제이다. service YAML파일을 작성하여 생성하는 방법도 있지만, kubectl expose 명령어를 통해 간편하게 서비스를 생성할 수 있다. [root@k8s-master ~]$ kubectl expose deployment hello-world --type=NodePort --name=example-service 2. 인그레스 생성 참조 링크: https://k.. 2021. 7. 20.
[쿠버네티스] CKA 기출 자료_4 [PV, PVC] | 데인트리 라이브러리 이 페이지에서는 기출 문제 중 PV,PVC에 대한 문제와 이를 활용한 사이드카 패턴 관련 문제를 다룬다. 1. hostPath PV 생성 참조링크: https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolume 수동으로 PV를 하나 생성한다. 파드는 기본적으로 stateless로 파드 삭제 시 내부에 파일시스템에 작성되었던 내용들도 모두 삭제된다. 이를 막기 위해 영속성이 필요한 데이터들은 PV와 PVC를 활요해 관리한다. PV는 어떤 스토리지를 사용할 지에 대한 부분이고, PVC는 파드가 어떤 PV를 사용할 지에 대한 정의이다. PV는 다양한 스토리지와.. 2021. 7. 20.
[쿠버네티스] CKA 기출 자료_3 [파드, 디플로이먼트] | 데인트리 라이브러리 이 페이지에서는 기출 문제 중 파드, 디플로이먼트 관련 문제를 다룬다. 1. 특정 레이블을 가진 파드 중 CPU 사용량이 가장 높은 파드 조회 파드의 CPU 사용량은 kubectl top pod 명령을 통해 확인할 수 있다. -l 옵션과 레이블명을 추가하여 특정 레이블을 가진 파드의 CPU 사용량을 조회할 수 있다. 문제에서는 해당 파드명을 파일형태로 저장한다. [root@k8s-master ~]$ kubectl top pod -l {LABEL} [root@k8s-master ~]$ echo {파드명} > {문제에서요구하는파일명} 2. 특정 노드에 파드 생성 참고 링크: https://kubernetes.io/ko/docs/concepts/scheduling-eviction/assign-pod-node/.. 2021. 7. 6.
[쿠버네티스] CKA 기출 자료_2 [클러스터 업그레이드, 백업] | 데인트리 라이브러리 이 페이지에서는 기출 문제 중 클러스터 업그레이드, 백업 관련 문제를 다룬다. 1. 클러스터 업그레이드 문서 링크: https://kubernetes.io/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/ 문서의 내용을 따라하면 크게 어렵지 않은 문제이다. 업그레이드 순서는 다음의 순서대로 진행한다. 1) 마스터 노드 drain 2) 마스터 노드의 kubeadm 업그레이드 3) 마스터 노드의 kubectl, kubelet 업그레이드 4) 마스터 노드 uncordon 5) 워커 노드 drain 6) 워커 노드의 kubeadm 업그레이드 7) 워커 노드의 kubectl, kubelet 업그레이드(kubectl이 없을 경우 kubelet만 업그레이드) 8).. 2021. 6. 26.
[Go Web programming] 003.서버 설정 | 데인트리 라이브러리 이 페이지에서는 go로 작성한 서버 실행 시 세부 설정 사항에 대해 다룬다. 앞선 포스팅에서도 살펴보았지만 go에서는 net/http 패키지를 사용해 서버를 실행한다. 지금까지는 http.ListenAndServe 함수를 통해 서버를 실행하였지만, 직접 Server 구조체를 생성하여 몇가지 설정을 커스터마이징 할 수 있다. 1) net/http 패키지의 ListenAndServe 함수 // 함수 선언 func ListenAndServe(addr string, handler Handler) error { server := &Server{Addr: addr, Handler: handler} return server.ListenAndServe() } 위의 코드를 보면 http.ListenAndServe(":8.. 2021. 6. 17.
[Go Web programming] 002.핸들러와 멀티플렉서 | 데인트리 라이브러리 이 페이지에서는 핸들러와 멀티플렉서 개념 및 HandleFunc 함수에 대해 다룬다. 001에서는 핸들러를 사용해 / 경로에 대한 Index Page를 생성하는 것을 알아보았다. 하지만 아직 핸들러와 멀티플렉서가 무엇인지 정확이 감이 잡히지 않았을 것이라 생각한다. 이번 포스팅에서는 핸들러와 멀티플렉서에 대해 자세히 다뤄보고 좀 더 편하게 핸들러를 정의할 수 있는 HandleFunc 함수를 테스트해볼 것이다. 1. 핸들러 핸들러는 인터페이스이다. 핸들러의 정의는 다음과 같다. type Handler interface{ ServeHTTP(ResponseWriter, *Request) } 위의 코드를 보면 ServeHTTP(ResponseWriter, *Request) 메서드를 구현한 모든 구조체는 핸들러 .. 2021. 6. 15.