DevOps Engineer

Cluster Maintenance OS Upgrades 노드 정상적으로 비우기 controlplane ~ ✖ k drain node01 --ignore-daemonsets node/node01 already cordoned Warning: ignoring DaemonSet-managed Pods: kube-flannel/kube-flannel-ds-86sk5, kube-system/kube-proxy-h5rcc evicting pod default/blue-6b478c8dbf-qvshb evicting pod default/blue-6b478c8dbf-74gxg pod/blue-6b478c8dbf-qvshb evicted pod/blue-6b478c8dbf-74gxg evicted node/node01..
Core Concepts PODs 명령어 # 파드 확인하기 kubectl get pod # k get po # 특정 네임스페이스 안에 있는 파드 확인하기 kubectl get pod -n # 파드 더 자세히 확인하기 kubectl get pod -o wide # 파드 생성하기 kubectl run pod # 파드 생성할 때 이미지 설정 kubectl run pod --image=: # 파드 생성할 때 레이블 설정 kubectl run pod --image=: -l = # -l =,= 레이블의 경우 콤마(,)를 넣어주면 다수도 지정 가능 # 파드 상세 정보 출력 kubectl describe pod # 파드 삭제 kubectl delete po kubectl delete po # 다중 삭제도 가능 # 파드..
문제1 How many PODs exist on the system? In the current(default) namespace 풀이 controlplane ~ ➜ k get po NAME READY STATUS RESTARTS AGE webapp-color 1/1 Running 0 2m48s 문제2 What is the environment variable name set on the container in the pod? 풀이 controlplane ~ ➜ k get po webapp-color -o jsonpath='{..env}' [{"name":"APP_COLOR","value":"pink"}] 문제3 What is the value set on the environment variable A..
문제1 How many PODs exist on the system? In the current(default) namespace 풀이 controlplane ~ ➜ k get po NAME READY STATUS RESTARTS AGE ubuntu-sleeper 1/1 Running 0 2m7s 문제2 What is the command used to run the pod ubuntu-sleeper? 풀이 controlplane ~ ➜ k get po -o jsonpath='{..command}' ["sleep","4800"] 문제3 Create a pod with the ubuntu image to run a container to sleep for 5000 seconds. Modify the fil..
Troubleshooting Application Failure 강의에선 예시를 들어 설명했다. 웹 서버와 데이터베이스 서버가 있는 2계층 애플리케이션이 있다. 데이터베이스 파드는 데이터베이스 응용 프로그램을 호스팅하고 데이터베이스 서비스를 통해 웹 서버에 서비스를 제공한다. 웹 서버는 웹 팟에 호스팅되며 웹 서비스를 통해 사용자에게 서비스를 제공한다. 문제의 원인을 찾을 때까지이 맵의 모든 객체와 링크를 확인하는 것이 좋다고 한다. 웹 애플리케이션인 경우 curl을 사용하여 노드 포트의 웹 서버에 액세스할 수 있는지 확인한다. 다음으로 서비스를 확인한다. 웹 파드에 대한 엔드포인트가 있는 지 확인한다. 엔드포인트가 없다면 서비스에 구성된 셀렉터가 파드에 구성된 것과 일치하는지 확인한다. 그 다음 파드 ..
Introduction to Deployment with Kubeadm kubeadm 도구는 kubernetes의 best practice를 사용해 다중 노드 클러스터를 설정하는 데 도움이 된다. 우리는 이미 kube-apiserver, etcd, 컨트롤러 등을 포함한 다양한 구성 요소로 이루어진 kubernetes 클러스터에 대한 몇가지 보안 및 인증 요구 사항을 논의했다. 각 노드에 개별적으로 이러한 다양한 구성 요소를 설치하고 모든 구성 파일을 수정하여 모든 구성 요소가 서로 가리키도록 하고 동작하려면 인증서를 설정하는 것은 매우 귀찮은 작업이다. kubeadm 도구는 이러한 모든 작업을 처리 해 우리를 도와준다. kubeadm 도구를 사용해 kubernetes 클러스터를 설정하는 단계는 먼저 여러..
Ingress 서비스와 인그레스의 차이는 무엇이며 언제 어떤 것을 사용해야할까? 먼저 간단히 서비스를 다시 살펴보고 인스레스를 살펴보자 예를 들어 온라인 스토어를 운영하는 회사를 위해 쿠버네티스에 응용 프로그램을 배포중이라고 가정해보자. 응용프로그램은 myonlinestore.com으로 배포되어 있다. 외부에서 이 온라인 스토어로 접근하기 위해서는 http://www.myonlinestore.com 으로 접근해야 한다. 이는 보통 NodePort를 이용해서 http://10.58.10.1:38080 이런 식으로 접근한다. 프로덕션 레벨의 애플리케이션을 배포한 적 있다면 트래픽을 전달하는 것 외에 수행해야 할 많은 작업이 있다. 예를 들어 사용자가 매번 IP 주소를 입력하는 것을 원하지 않아 DNS 서버를..
Pod Networking 파드 레이어의 네트워킹은 어떻게 되는가? 클러스터에는 많은 파드가 실행될 것이다. 파드는 어떻게 주소 지정되는지, 서로 어떻게 통신하는 지 클러스터 내에서 이러한 파드에서 실행되는 서비스에 어떻게 접근하는지? 그리고 클러스터 외부에서 어떻게 접근하는 지 등이 고려해야할 문제이다. 쿠버네티스는 현재로서는 이러한 문제들에 대해서 내장 솔루션을 제공하지 않는다. 그래서 이런 문제들을 해결하기 위한 네트워킹 솔루션을 구현해야한다. 위 이미지를 보면 쿠버네티스가 파드 네트워킹에 대한 요구사항을 제시했다. 각 파드가 고유한 IP 주소를 가져야한다. 각 파드는 해당 IP 주소를 사용해 동일한 노드 내의 다른 모든 파드에 도달할 수 있어야한다. 각 파드는 동일한 IP 주소를 사용해 다른 노드..
Networking 선수 지식 - Switching Routing 네트워크란 무엇인가? 클라우드에 두 대의 컴퓨터(A와 B), 노트북, 데스크탑, 가상 머신이 있는 경우 시스템 A가 B에 어떻게 도달하는가? 이를 스위치에 연결하면 스위치는 두 시스템을 모두 포함하는 네트워크를 생성한다. 각 호스트에는 스위치에 연결하기 위한 물리적 또는 가상 인터페이스가 필요하다. 호스트의 인터페이스를 보려면 IP link 명령을 사용 이 경우 스위치에 연결하기 위해 Eth0이라는 인터페이스를 살펴보자. 네트워크 주소가 192.168.1.0인 네트워크라고 가정한다. 그런 다음 시스템에 동일한 네트워크의 IP 주소를 할당하면된다. 이렇게 하려면 ip addr 명령을 사용하면된다. 링크가 연결되고 IP 주소가 할당되면 이제 ..
Nowon9159
'분류 전체보기' 카테고리의 글 목록 (3 Page)