게시글
질문&답변
2024.09.11
service 생성 과정에서 설명한 내용에 대해서 질문드립니다.
안녕하세요. Service는 쿠버네티스에서 흔하게 쓰지만 사실 가장 어려운 개념입니다. 그리고 개념적으로만 쉽게 생각하면 쿠버네티스 클러스터 내에서 Pod에게 트래픽을 분산해 주기 위한 객체가 맞아요. 근데 실제 구현 관점에서 Service를 알려고 하면 좀 복잡해 집니다. Sprint1에서는 Service의 개념과 역할적인 부분만 다루는 게 목적이나, 전체적인 구성을 설명하다보니, Service의 몇몇 실체들도 설명하게 되는데요. 그러다 보면 질문하신 것 처럼 좀 혼동이 올 수도 있습니다. Service의 실체와 모든 기능들에 대해서는 Sprint3에서 다루고 있고, 잠깐 아래 그림을 설명 드리면, Service는 Iptable과 kube-proxy를 이용해서 Network를 만들어요. 그리고 새 Serivce 가 생겼을 때 kubelet이 kube-proxy한테 명령을 내리는 거고요. 이때 Service의 type이 NodePort는 kube-Proxy는 IPtable에 워커노드이 Port 설정을 추가하는 거죠. 기본적인 ClusterIP 타입일 경우에는 그냥 Iptable에만 Service IP를 기록하는 거고요. 이 Service IP로 트래픽이 Iptable로 들어오면 그에 매칭되는 Pod Ip를 연결 줍니다. (사진)
- 0
- 1
- 22
질문&답변
2024.09.06
안녕하세요 혹시 해당 에러에 대해 아시는 것 있을까요?
큰 환경 말고 세부적인 설치 명령어와 IP 주소들은 동일한가요? 에러 내용보다 설치 내용을 좀더 자세히 알아야 원인 확인에 좀 더 도움이 되긴 합니다. 그리고 아마 Calico 문제 일 수도 있을 것 같은데, 해당 플러그인을 삭제하고 다시 설치해보시겠어요?
- 1
- 2
- 26
질문&답변
2024.08.28
Jenkins 서버에 Kubectl 설치 해야하나요?
1. 서버 1에도 Kubernetes 관련 파일들을 설치해야할까요? -> cicd에서 쿠버네티스를 컨트롤 하기 위해서 cicd 서버에 쿠버네티스 관련 파일들을 설치해서 사용할 수도 있고, 젠킨스에 세팅할 수도 있습니다. sprint2 강의들을 보다 보면 자연스럽게 알게 되는 내용 이예요. 사용하려는 형상저장소를 Github가 아닌 bitbucket을 쓰려고 합니다. 사용하는데 문제는 없나요? -> bitbucket도 젠킨스와 연동이 되기 때문에 형상 저장소로 사용 가능하지만, 강의 내용과 차이가 있을 수 있습니다. 현재 소스코드가 jre1.8로 돌아가는데, jenkins에는 jdk 17 버전을 사용하고 추가로 jdk 8버전을 다운해서 사용하면 될까요? -> 네, 별도로 jdk 8버전을 다운로드 받고, 젠킨스 jdk 설정을 통해서 다른 버전의 jdk를 소스코드에서 사용 가능 합니다.
- 1
- 1
- 35
질문&답변
2024.08.27
Vagrant SSL 인증 오류
안녕하세요. 아래 명령으로 실행해 보시겠어요? VAGRANT_NO_CHECK_CERT=1 vagrant plugin install vagrant-vbguest vagrant-disksize
- 1
- 3
- 33
질문&답변
2024.08.27
설치 v1.27(win/mac intel) 문의
mac 사용자는 원격 접속툴을 별도로 설치할 필요 없이, 기본 터미널을 사용으로 가이드 드리고 있습니다. ( id/pw: root/vagrant) 4. 원격 접속 (Mac 터미널 사용) $ ssh root@192.168.56.30 The authenticity of host '192.168.56.32 (192.168.56.32)' can't be established. ED25519 key fingerprint is SHA256:+grKMOsgQHDF0lTTZTD65khFhnk5Q56wvNSFV4+NsnA. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes [root@192.168.56.30's password: (비번입력)
- 1
- 1
- 50
질문&답변
2024.08.27
설치 오류 문의드려요
안녕하세요. 에러 내용을 보면 os 다운로드 경로가 이상한데, vagrant up을 하기 전에 아래 작업이 정상적으로 진행됐을까요? 해당 설정이 os 이미지 다운로드 경로를 지정하는 부분입니다. // Rocky Linux Repo 세팅 C:\Users\사용자\k8s> curl -O https://raw.githubusercontent.com/k8s-1pro/install/main/ground/k8s-1.27/vagrant-2.3.4/rockylinux-repo.json C:\Users\사용자\k8s> vagrant box add rockylinux-repo.json 설치 방법에 대해서는 섹션 3. [기초편] 쿠버네티스 설치 강의에서 설명드리지만, 설치 구성 하나하나 까지 말씀드리지는 않습니다. 추후 섹션 9. [중급편] 아키텍쳐 에서 쿠버네티스 구성에 대한 강의가 있습니다.
- 1
- 2
- 43
질문&답변
2024.08.20
서비스 (NodePort) 질문 드려요.
안녕하세요. 강의 중에도 있는 아래 그림을 보시면 클러스터 내부 타 Pod들 입장에서는 Service를 통해서 api-tester Pod로 연결을 해야 하고, 이때 Service를 연결하기 위해 호출하는 Port가 80입니다. 그리고 아시다시피 nodePort는 워커노드를 통해 통신을 할 때 필요한 Port, targetPort는 Pod로 연결을 하기 위한 Port 이고요. nodePort 타입으로 Service를 만들었다고 하더라고, Service의 기본적인 역할을 포함하고 있어야 되기 때문에 port가 필요합니다. Service가 쿠버네티스에서 가장 어려운 개념이기 때문에, 지금처럼 하나씩 확실하게 기능을 알고 넘어가시길 바라고. 추후 Sprint3에서 Serivce의 모든 걸 설명 드리게 됩니다. (사진)
- 1
- 1
- 29
질문&답변
2024.08.18
기초 Object - Volume 마지막 실습 pod-volume-5 파트생성 오류 문의
안녕하세요. 일단 이미지 이름은 kubetm/init 를 쓰시면 되고요. 해당 Pod 스펙 내용은 문제 없어 보이는데, Pod에 연결된 PVC와 PV 스펙은 어떻게 되실까요? 에러 내용으로 보면 해당 PV에 지정된 노드에 Pod가 스케줄링 될 수 없다는 내용이라 pvc/pv yaml 스펙 및 pv에 지정된 local path가 nodeAffinity로 지정된 노드에 실제 존재하는 지 유무도 확인이 필요하겠네요.
- 1
- 1
- 26
질문&답변
2024.08.16
컨테이너-일관성 있는 배포 환경 관련 질문
음..꼭 찝어서 얘기한다면, 리눅스 업데이트시 라이브러리 영역과 커널 영역도 업데이트 되긴합니다. 그렇기 때문에 엄밀히 말하자면 커널영역을 공유하는 컨테이너 입장에서 영향도가 있을 수는 있어요. 하지만 커널 업데이트는 리눅스 전문가 영역이기 때문에 호환성 좋고, 그래서 컨테이너까지 문제가 생기기 쉽지 않습니다. 반면, 라이브러리의 경우 사용자 영역이라 라이브러리를 업데이트 할 경우 종속성 문제가 생기기 쉽습니다. 그래서 vm의 경우 문제가 발생하기 쉽고 그에 반해 컨테이너는 안정적인 거죠. 결론적으로 통상 라이브러리 관점에서 vm보다 컨테이너가 편리한거고요. 이때 커널까지 얘기하면 똑같이 영향이 있을 수는 있지만 커널은 잘 안 건들고, 업데이트가 안정적이다는 점이 전제조건이 숨어 있습니다.
- 2
- 2
- 24
질문&답변
2024.08.15
쿠버네티스 최신상태 저장 방법
네, 쿠버네티스에서 Pod를 배포한 후에 직접 Pod 내부에서 변경한 설정이나 설치한 패키지들은, 해당 Pod가 재시작되거나 새로 생성될 때 원래의 상태로 복구 됩니다. PC가 재부팅되면 Pod는 재시작되요. Pod상태에 대한 스냅샹 기능은 없고요. Pod에서는 변경이 필요한 사항들은 이미지를 업데이트하거나, 관련 설정을 ConfigMap이나 Secret로 빼놔야 되요. 컨테이너 사용에 가장 기본이 되는 원칙은 컨테이너는 언제든 늘어나거나 줄어들면서, 혹은 장애 때문에 편하게 죽을 수도 있고, 재시작 될 수도 있다는 겁니다. 그래서 그렇게 되도 문제가 없도록 컨테이너를 구성해줘야 되요. 처음엔 이런 방식이 복잡하게 느껴질 수도 있지만, 잘 적응하면 장애 대응이나 스케일링 등 관리 적인 면에서 정말 좋습니다 :)
- 1
- 1
- 38