Kubernetes
-
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)Kubernetes 2024. 5. 21. 17:49
파드를 띄워놓고, 서비스에 할당된 외부 ip에 접근하려고 했지만ping을 찍어보니 이렇게 호스트를 찾을 수 없다고 한다.도커 허브에 있는 echo server로 변경을 해봤는데, 그때는 잘 들어가 있는 걸 보면 내가 설정한 yaml 파일 혹은 더 하위 개념으로 dockerfile에 문제가 있다고 판단했고 확인 결과다음과 같은 에러가 발생했다.컨테이너를 로컬에 띄우면 이상없이 잘 되는 것 같은데.. 흠 ---하다보니 was 부분은 DB 연결이 되었는데...! 왜 Web만 되지 않는것인가.. ㅠㅜ아마도 도커파일을 전적으로 수정해야 될 것 같다.. WAS -> DB(Azure) Mysql 서버 --> Private DNS Zone --> Virtual network links에 링크 추가 --> 링크에 k8..
-
[Trouble Shooting] AKS 연결 안됨Kubernetes 2024. 5. 20. 19:47
k8s 클러스터 구축 중에, service 배포 후 할당된 외부 IP 접속이 안되어 문제가 발생했다. 대략적으로, AKS 배포 진행 단계는 다음과 같다.Dockerfile 작성이미지 빌드Azure 포탈 내 Container Registry 생성Container Registry 로그인Docker tag -> docker pushK8s cluster 생성Cli에서 명령어 가져와 Cluster 연결컨테이너 띄우고 yaml 파일 작성후 배포(Deployment -> Service)Sevice 배포 단계에서 외부 IP 획득 여러 방면으로 생각을 해봐야할텐데...traceroute 결과 msn.net 홉을 거친 이후 timeout이 발생하는 것을 볼 수 있다. 원인은 총 2가지다.첫째로, 내가 만든 WEB Dep..
-
Kubernetes가 사용되는 이유Kubernetes 2024. 5. 8. 10:15
이 내용은 를 참고해 작성하였습니다.Kubernetes란?통합적인 인프라 관리, 버전 관리를 위한 도구클라우드 컴퓨팅의 핵심 기술 중 하나 CNI/CSI : 컨테이너 네트워킹/스토리지 인터페이스로, 각각 쿠버네티스에서 실행되는 파드에 대한 플러그형 네트워킹과 스토리지를 가능하게 한다Container : 도커 및 OCI 이미지. 일반적으로 애플리케이션을 실행한다.Control Plane : 컨테이너의 스케줄링과 모든 쿠버네티스 객체의 관리가 이루어지는 곳\DaemonSet : 디플로이먼트와 유사하나, 클러스터의 모든 노드에서 실행된다Deployment : 쿠버네티스에서 관리되는 파드의 모음이다Kubectl : 쿠버네티스 컨트롤 플레인과 통신하기 위한 명령행 도구Kubelet : 클러스터 노드에서 실행되는 ..
-
[Kubernetes] Replica SetKubernetes 2024. 4. 3. 23:18
Pod는 여러 개의 컨테이너를 추상화해 하나의 애플리케이션으로 동작하도록 만드는 훌륭한 컨테이너 묶음이다. 그러나 YAML에 파드만 정의해 생성하게 되면 이 파드의 LifeCycle은? kubectl delete 명령어로 파드를 삭제하게 되면 그 파드의 컨테이너 또한 삭제된 뒤 쿠버네티스에서 영원히 사라지게 도니다. 이렇게 YAML 파일에 파드만 정의해 생성할 경우 해당 파드는 오직 쿠버네티스 사용자에 의해 관리된다. 이렇게 되면 단순히 파드의 기능을 테스트하는 것이 아닌 실제 외부 사용자의 요청을 처리해야 하는 MSA 구조의 파드라면 이러한 방식을 사용하기 어렵다. MSA에서는 여러 개의 동일 컨테이너를 생성한 뒤 외부 요청이 각 컨테이너에 적절히 분배될 수 있어야 한다. 쿠버네티스에서는 파드가 기본 ..
-
[Kubernetes] PodKubernetes 2024. 4. 3. 20:39
쿠버네티스에는 컨테이너 애플리케이션을 구동하기 위해 반드시 알아야할 몇 가지 오브젝트가 존재한다. Pod / Replica Set / Service / Deployment 그 중 하나인 Pod에 대해서 알아보자. Pod 컨테이너 애플리케이션의 기본 단위이며, 1개 이상의 컨테이너로 구성된 컨테이너의 집합이다. 파드는 쿠버네티스에서 가장 기초적이고 중요한 개념이기 때문에, 반드시 이해해야 하는 개념이다. 쿠버네티스에서는 컨테이너 애플리케이션을 배포하기 위한 기본 단위로 파드라는 개념을 사용한다. 1개의 파드에는 1개의 컨테이너가 존재할 수도 있고, 여러 개의 컨테이너가 존재할 수도 있다. # nginx-pod.yaml apiVersion: v1 kind: Pod metadata: name: my-nginx..
-
[Kubernetes] Minikube와 쿠버네티스 개요Kubernetes 2024. 4. 3. 19:42
쿠버네티스는 컴퓨터들을 연결하여 단일 형상으로 동작하도록 컴퓨팅 클러스터를 구성하고 높은 가용성을 제공하도록 조율한다. 오늘은 minikube에 대해서 알아볼 건데, Minikube는 1개의 노드에서 쿠버네티스 설치 및 사용이 가능하고, 간편하게 로컬에서 쿠버네티스의 기본 기능 테스트 기능이 있으며, 쿠버네티스의 일부 기능이 제한될 수 있다. 그 이유는 쿠버네티스가 클라우드 플랫폼에서만 사용할 수 있는 기능들이 존재하기 때문이다. 쿠버네티스의 특징부터 알아보자. 우선, 쿠버네티스는 대부분의 리소스를 오브젝트라고 불리는 형태로 관리한다. 쿠버네티스에서는 컨테이너의 집합인 Pods, 컨테이너의 집합을 관리하는 컨트롤러 Replica Set, 사용자 Service Account, 노드 Node 까지도 하나의 ..