대세는 쿠버네티스 ^o^

대세는 쿠버네티스 ^o^

(27개의 수강평)

581명의 수강생
55,000원
지식공유자 · 김태민
45회 수업· 총 7시간 38분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 초급
김태민의 다른 강의
연관 로드맵
아직 다른 강의가 없어요.
연관 로드맵이 없어요.
Umi 프로필

그냥 바로 volume을 이용하는 경우와 pv/pvc를 이용해 volume을 이용하는 경우의 차이 Umi 4시간 전

안녕하세요 태민님.

여태까지 pv와 pvc는 개념 처음 다룰 때에만 써보고, 굳이 pv/pvc를 이용하지 않고 그냥 volume을 이용했었는데요.

pod의 spec.volumes에서 hostPath volume을 생성 후 컨테이너에 mount 시키는 것과 pv/pvc생성 후 pod의 spec.volumes에서 persistentVolumeClaim으로 pvc를 연결 후 컨테이너에 mount 시키는 것의 차이가 어떤 게 있을 지 알 수 있을까요??

참고하실만한 내용을 그림으로 첨부했습니당.

감사합니다!

0
황의민 프로필

NodePort 80 또는 443 포트로 접근이 가능한지요? 황의민 2일 전

2. Service Loadbalancing 을 보면 내부 사용자가 서비스에 접속할 때 node port를 입력하고 들어오게되는데요. (ex: 192.168.0.30:30431) DNS에  192.168.0.30을 test.domain.com 으로 등록하여 test.domain.com으로 접속 가능하게 한 뒤 사용자는 test.domain.com:30431 이 아닌 test.domain.com으로만  접속할 수 있도록 80이나 443 포트로 서비스 할 수 있는지 궁금합니다.

1
castinglife 프로필

git 설치가 필요합니다... castinglife 3일 전

git 을 설치 안하시분들은 git을 설치하셔야 합니다.

yum -y install git

1
castinglife 프로필

metrics-server 옵션 추가 저장이 되지 않습니다. castinglife 3일 전

metrics-server 설치후

 - --kubelet-insecure-tls

 - --kubelet-preferred-address-types=InternalIP

위의 옵션을 입력하고 저장하려고 하면

위에 첨부한 이미지에 내용과 같은 에러가  뜨면서 저장이 되지 않습니다.   원인이 무었인지..

8
천혜린 프로필

VM 네트워크 설정 관련 해서 문의드립니다 천혜린 7일 전

VM으로 설치 진행하고 있습니다.

vm설정은 

브릿지 네트워크 와 호스트 전용 어댑터   두가지로 설치해봤습니다.

네트워크 모드를 '호스트 전용 어댑터' 로 진행하면  init에 실패합니다ㅠ

근데 쿠버네티스에서 필수적으로 인터넷연결이 필요한 것인가요?

호스트모드는 인터넷 연결이 안되는 설정..으로 알고 있어서요. 

1
아리마 프로필

로드밸런서 문의드립니다. 아리마 7일 전

안녕하세요.

Service 기초편 강의에서 LoadBalancer Type 의 Service 를 Azure 같은 클라우드서비스 환경에서 생성하면 External IP 가 플러그인에 의해 제공된다고 말씀해 주셨고, Ingress 강의에서도 Ingress Pod 접근을 위한 Service 생성 시, LoadBalancer Type 을 살짝 언급해주셨습니다. 

이 부분이 좀 궁금한데요.

Azure 에서 LoadBalancer Type 의 Service 를 생성한다는 의미와 Azure 에서 LoadBalancer 를 직접 생성하는 것의 차이가 무엇인가요? Azure Portal 에 가보면 Azure Load Balancer 만들기.. 같은 메뉴가 보이는데 Service 를 Load Balancer 타입으로 생성하여 사용하는 것과의 차이가 궁금합니다.

1
Umi 프로필

Ingress를 통한 LoadBalancing과 Service를 통한 LoadBalancing의 차이에 대해 질문드립니다. Umi 8일 전

안녕하세요 태민님. 덕분에 요즘 손쉽게 쿠버네티스를 배워가고 있습니다.

이번 질문은 강의와는 다소 거리가 먼 내용도 있긴합니다...ㅎ

1.

Ingress의 개념을 얘기할 때에는 Ingress라는 오브젝트와 IngressController라는 기능을 주로 다루는 것 같은데요. 제가 이해한 바는 아래와 같습니다.

Ingress라는 "개념"은 클러스터로 들어오는 요청을 로드밸런싱한다는 개념이고, Ingress라는 "오브젝트" 자체는 어떤 방식으로 라우팅과 로드밸런싱을 할 지에 대한 설정. ingress controller 역할을 하는 "파드"는 그 설정을 바탕으로 로드밸런싱을 진행한다.

제가 이해한 위의 내용이 맞는것인지요..?

되게 사소한 내용같긴하지만, 강의 및 기타 다른 블로그들에서도 "Ingress가 요청을 분산시켜준다." 는 식으로 설명이 되어있는 부분이 있어서 저는 처음에 Ingress로 접속을 하는 건 줄 알고 시도를 했는데, Ingress Controller로 접속하고, Ingress Controller가 요청을 분산시켜주는 게 맞지 않을까 싶어서 여쭤봅니다.

2. 

다음은 약간 네트워크 계층과 관련된 내용입니다. 서비스(특히 LoadBalancer)와 Ingress Controller가 어떻게 다른가인데요.

서비스는 L4 계층의 LB이고, Ingress Controller는 L7 계층의 LB이다. 라는 내용을 보았습니다.(https://stackoverflow.com/questions/50966300/whats-the-difference-between-exposing-nginx-as-load-balancer-vs-ingress-control)

네트워크 계층이 쿠버네티스의 주 내용이 아니라 빠져있는 게 당연하겠지만, 제가 네트워크쪽이 좀 약해서요..ㅜㅜ 좀 깁니다. 제가 이해한 내용에 따라 서비스와 인그레스, 네트워크 계층의 작동방식을 예시로 들어보겠습니다. 틀린 부분이 있다면 짚어주실 수 있을까요?

---

예시

Nginx IngressController Pod의 IP가 10.10.10.5, 10.10.10.6

Nginx IngressController Pods를 LoadBalancer type으로 노출시킨 service의 IP가 10.10.10.10

요청을 넘겨받을 Application Pod의 IP가 10.10.20.5,10.10.20.6

요청을 넘겨받을 Application Pods를 ClusterIP type으로 노출시킨 service의 IP가 10.10.20.10 이라고해보자.

정상적으로 client가 외부에서 직접 요청을 보내게되는 IP는 10.10.10.10이다.

그럼 이 LoadBalancer type 서비스는 URL이 어디든, Method가 뭐든 상관없는 L4 계층의 로드밸런싱을 이용해 Nginx IngressController Pod 중 하나로 요청을 넘겨준다.

요청을 넘겨받은 IngressController Pod는 URL과 Method, IP를 통한 L7 계층의 로드밸런싱을 이용해 적절한 app service로 요청을 넘겨준다.

요청을 넘겨받은 app service는 L4계층의 로드밸런싱을 이용해 적절한 app pod에 요청을 넘겨준다.

요청을 넘겨받은 app pod는 드디어 요청에 따른 작업을 수행하고 반응을 보낸다.

---

이번 내용은 상당히 길고, 간단히 답해주시기 힘들 수도 있는 점 죄송합니당. 강의 열심히 들을게요!

4
Umi 프로필

ingress를 이용해서 클러스터를 외부로 노출시키고 싶을 떄 Umi 9일 전

안녕하세요. 태민님 강의 잘 듣고있습니다.

Ingress를 이용하던 중 궁금증이 생겨 글 남깁니다.

Ingress Controller를 service로 expose함으로써 외부에서 접근할 수 있잖아요?

강의의 경우 NodePort를 이용했던 걸로 기억합니다.

근데 NodePort는 range가 아마 3만번대로 설정이 되어있는 걸로 알고 있는데, LoadBalancer로 노출시키는 방법 외에, 그냥 Node의 80번포트로 접속시키는 방법은 없을까요?

예를 들어 foo.com 에 어떤 노드 하나의 IP(예를 들어 123.123.123.123)만 설정함으로써

foo.com:80접속 =>123.123.123.123:80으로 번역됨=> ingress controller 서비스로 접속=> 다양한 노드의 pod로 요청 뿌려짐.

이러한 작업을 원하는데, LoadBalancer을 이용할 수 없고 NodePort를 이용하는 경우엔

foo.com:80접속 =>123.123.123.123:80으로 번역됨=>노드의 Nginx를 거쳐 80번에 대한 요청이 NodePort로 넘어감 => ingress controller 서비스로 접속=> 다양한 노드의 pod로 요청 뿌려짐.

이렇게 Ngnix나 Apache 등을 중간에 끼워넣어야하나 싶습니다.

질문이 좀 장황할 수 있는 점 죄송합니다. 애매한 부분은 다시 되물어주세요.ㅜㅜ

2
Choi Woo Young 프로필

쿠버네티스 대시보드에서 exec로 pod접속이 안됩니다.. Choi Woo Young 10일 전

1
Umi 프로필

같은 node 의 수를 유지한 채 replica를 scale out할 때의 장점이 무엇인가요? Umi 14일 전

꼭 수업의 어느 부분에 관련된 내용은 아니고, 항상 궁금했던 내용인데 이번에 강의를 듣게 되면서 질문해봅니다.

요점은 같은 node의 수를 유지한 채 replica를 scale out 할 때의 장점이 무엇인가입니다.

항상 orchestraion 기술을 배울 때 replica를 scale out하는 내용이 나오면서, 사용자가 많을 때는 Pod를 늘려주고, 적을 땐 줄여주고 이런 Auto Scaling 에 대한 내용이 등장하는데요,

제가 궁금한 것은 node 자체가 늘어나서 cluster의 리소스가 증가하지 않는한, replica를 늘린다고 해서 과연 성능이 좋아질까? 의문이 듭니다.

예를 들어서 원래 노드 3대, Pod 6개로 돌아가는 서비스가 있는데, 사용자가 증가한다고 해서 노드는 여전히 3대인데, Pod는 12개로 증가시킨다고 해서 얻어지는 장점이 있는지요??

제가 아는 선에서는, 한 Pod가 unhealthy할 때 잃는 능력이 적어지기 때문에 좀 더 서비스가 안정성이 있다는 것인데요.

(예를 들어 Pod가 2개인데 그 중 하나가 unhealthy면 순간적으로 서비스를 50퍼센트밖에 이용 못함.
반면 Pod가 6개인데, 그 중 하나가 unhealthy더라도 순간적으로 5/6는 이용가능하다는 안정성)

혹은 WAS의 Connection수를 늘려줄 수 있다던가.

혹은 node의 리소스를 좀 더 착취시켜서 서버 자원을 빡세게 사용한다던가(다만 이경우는 노드가 죽을 확률도 높아지긴함)

정리하자면,

보통의 컨테이너 오케스트레이션 기술에서 scale out을 할 때에는 새로운 노드도 클러스터에 추가해준 뒤 replica 수를 늘리는지, 단순히 노드에서 replica만 늘리는 경우도 있는 지 궁금합니다.

그리고 앞서 말씀드렸듯이, 같은 노드 상황에서 replica만 늘리는 행위가 어떤 장점이 있는 지 궁금합니다!

감사합니다!!

4
Jin Won Kim 프로필

helm chart에 관련해서 Jin Won Kim 15일 전

helm chart에 대해서도 강의를 하실 계획이 있으신가요??

강의를 들으며 구글링하다보면 helm chart라는 걸 써서 자원들을 묶어 하나의 패키지로 해준다는데..

실무에서 필수라면 꼭 알고싶어요..ㅎㅎ

1
Umi 프로필

블루그린 배포시엔 다플로이먼트를 이용하지 않는 이유 Umi 15일 전

블루그린 배포시엔 디플로이먼트를 이용하지 않는 이유가 따로 있나요?

2
Moon-Kee Bahk 프로필

ingress 실습 에러 발생 Moon-Kee Bahk 15일 전

ingress 실습 2-4) ingress 부분의 마지막 curl명령에 에러가 있습니다.

curl 192.168.0.30:30431/
curl 192.168.0.30:30431/order
curl 192.168.0.30:30431/customer

nginx 서비스를 확인해 보니, 아래와 같다.
"spec": {
"ports": [
{
"name": "http",
"protocol": "TCP",
"port": 80,
"targetPort": 80,
"nodePort": 30168
},
{
"name": "https",
"protocol": "TCP",
"port": 443,
"targetPort": 443,
"nodePort": 31423
}
],

이 명령에 변화가 있는 것인가요?
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.27.1/deploy/static/provider/baremetal/service-nodeport.yaml

알려주세요.

2
아리마 프로필

ConfigMap 문의드립니다. 아리마 16일 전

태민님 안녕하세요.

오늘 ConfigMap 강좌를 들었는데요. Pod 에 ConfigMap 을 전달하는 3가지 방식의 차이점을 말씀해주셨는데 VolumnMount 방식에서 궁금한 점이 하나 생겼습니다.

제가 아직 도커를 개념만 잡고 스터디는 하지 않은 상태에서 쿠버네티스 강좌를 듣다보니 제대로 된 질문이 아닐 수도 있으니 미리 양해바랍니다.

첫번째, 두번째 방식의 경우 ConfigMap 을 Pod 내의 컨테이너 안에 있는 환경변수 Env 설정과 바로 연동을 시킬 수 있는 반면에 마지막 VolumnMount 방식의 경우, 단순하게 생각하면 Mount 된 볼륨 내에 별도의 설정파일을 하나 생성해 주는 것일 뿐, 컨테이너 내의 Env 와 연동되지는 않는 듯 한데요. 그렇다면 이 방식의 경우, 컨테이너에서 Env 를 참조해도 값을 얻을 수 없게 될 듯 한데요..

결국 VolumeMount 의 경우, 컨테이너 내의 Appl 에서 Config 를 Get 하는 방식 조차 달라져야 된다는 것을 의미하는 것인지요?

1
아리마 프로필

대쉬보드 문의드립니다. 아리마 17일 전

안녕하세요.

쿠버네티스를 배우고자 오늘 결제하고 수강 중에 있습니다.

현재 Case2 번으로 VirtualBox 에 설치를 모두 마쳤습니다.

그런데 설치를 마칠 때는 대쉬보드 접속에 문제가 없었는데 VM 종료 이후 다시 접속하여 시도를 해보니 아래 메시지가 계속 뜨네요.

혹시나 해서 6-1) 과 6-2) 를 다시 시도해 보아도 동일한 증상 입니다.

어떻게 하면 조치가 가능할 지 지원 좀 부탁드릴께요.

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {
    
  },
  "status": "Failure",
  "message": "no endpoints available for service \"https:kubernetes-dashboard:\"",
  "reason": "ServiceUnavailable",
  "code": 503 

} 

7
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스