55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결대세는 쿠버네티스 [초급~중급]
Pod 생성시 Container끼리 같은 이미지를 사용하지는 못하나요?
Pod 생성시 Container끼리 같은 이미지를 사용하지는 못하나요?(실습 환경이 아직 준비가 안되서 ㅠㅠ 질문남겨봅니다)
- 해결됨대세는 쿠버네티스 [초급~중급]
StatefulSet 내용이 잘 이해가 되지 않습니다.
강사님 안녕하세요StatefulSet 강의 중 궁금한 부분이 있어서 질문 드립니다. 먼저 ReplicaSet 부하 분산용으로 kubetm/app 가 3개 실행된다replicas:3spec: containers: - name: container image: kubetm/app부하 분산용으로 kubetm/app 가 3개 실행된다는 내용은 이해를 하겠는데 StatefulSet 예제도replicas:3spec: containers: - name: container image: kubetm/app이렇게 되어있더라구요강의 내용처럼 containers에 예를 들어image: kubetm/primaryimage: kubetm/secondaryimage: kubetm/albiter각각 다른 역할을 하는 container가 실행되어야 하는거 아닌가요?만약 그렇다고 하면 replicas 부분과 container 부분의 yaml 파일 작성이 실제로 어떻게 되는지 궁금합니다.
- 미해결대세는 쿠버네티스 [초급~중급]
StatefulSet에서 각 pod별로 port를 다르게 지정 할 수 있을까요?
안녕하세요.강의를 듣고 실무에 더 많은 k8s의 기능을 사용할 수 있게 되어서 즐겁게 업무를 하고 있는 개발자입니다. kafka를 statefulset을 활용하여 구성을 하였는데, pod 별로 서로 다른 container port를 설정 할수 있는지 궁금하여 문의드립니다.예를 들어서 relicas를 3으로 한 경우a-0, a-1,a-2 이렇게 pod가 생성되면,각각 9000, 9001, 9002 이렇게 다른 포트를 할당이 가능할까요?저 3개의 포트를 모두 열어 놓아도 결국엔 해당 프로세스가 있는 pod를 찾아가긴하지만, 프로세스가 안 떠있는 pod로 갔다가 다른 pod를 찾아가는 것이 좀 안 좋아보여서, pod 별로 프로세스의 listener port만을 할당하고 싶어서 문의 드립니다.
- 미해결대세는 쿠버네티스 [초급~중급]
volume 관련 질문
PV-PVC 관련하여 몇 가지 문의 드립니다. PV 와 PVC 생성 시 엑세스 모드가 서로 다른상태라면 PV와 PVC가 연결이 안되는 것인가요?PVC 생성 시 별도이 PV의 이름을 지정하지 않는것으로 보아 엑세스 모드와 용량으로 판별하여 PV와 연결이 되게 되나요? 만약 엑세스모드와 용량이 같은 여러 PV가 존재한다면 PVC는 생성 시 어떤 기준으로 PV와 연결되게 되나요?실습은 PV를 특정 노드에서 만들었기 때문에 해당 노드에서 생성된 Pod만 연결이 가능하고 다른 노드에서 생성된 pod는 pvc 연결이 불가능한 부분이 맞나요? 아니면 pvc 연결이기 때문에 다른 노드에서 생성된 pod도 볼륨 지정이 가능한가요?노드에서 pv를 만든것이 아닌 클라우드스토리지(ex : Azure에 Blob 또는 AWS에 S3)로 만들 경우 Pod에 노드 위치와 상관없이 볼륨 연결이 가능할까요?쿠버네티스가 처음이라.. 질문이 많네요. 전문가가 보아 이상한 질문일 수도 있지만 답변 부탁 드립니다.
- 미해결대세는 쿠버네티스 [초급~중급]
Experiment 실행시 resource 설정
안녕하세요 강사님,Experiment yaml 실행시 cpu, memory, storage, gpu 설정 방법 및 shared memory 설정 (limit & requests) 방법에 대해 설명 해 주시면 감사하겠습니다.
- 미해결대세는 쿠버네티스 [초급~중급]
서비스 생성 후에, 다른 파드 내에서 해당 서비스에 접근할 때
중급편 > 기본 오브젝트 > 서비스 편을 듣다가 궁금해져서 질문을 남깁니다. apiVersion: v1 kind: Service metadata: name: clusterip1 spec: selector: svc: clusterip ports: - port: 80 targetPort: 8080이렇게 서비스(1)을 만들고apiVersion: v1 kind: Service metadata: name: endpoint1 spec: selector: svc: endpoint ports: - port: 8080이렇게 서비스(2)를 만들었을 때 두 개의 서비스 모두에 붙지 않은 request-pod에서 각각의 서비스에 curl을 날릴 때서비스(1)은curl clusterip/hostname은 되는 반면curl clusterip:8080/hostname은 되지 않고 서비스(2)는curl endpoint1/hostname은 되지 않는데curl endpoint1:8080/hostname은 되는 건가요? 차이점만 봐서는 서비스 생성시의 서비스 targetport를 지정해주냐 안해주냐의 차이같고targetport는 파드를 연결하는 포트로 알고 있는데저 차이로 curl 날리는 게 달라지는 게 어떤 동작(?)으로 되는 건지 궁금합니다.
- 미해결대세는 쿠버네티스 [초급~중급]
ingress에 대해
안녕하세요 선생님 항상 감사합니다dockerfile과 ingress 와 service에 대해 이해가 잘 가지 않아 질문 드립니다.k8s를 운영하면서 web pod를 띄울때 전체적인 순서가Dockerfile -> deployment -> service -> metalLB -> ingress controller -> ingress 라고 생각 하고 있습니다 1.web-server가 0.0.0.0:8000 이라고 한다면 dockerfile 에서 expose 할 때 8000 으로 맞춰 줘야 하나요? 2.image를 expose 8000 으로 띄웠으니 deployment의 containerports를 8000 번으로 열어주어야 하나요?3.deployment pod port가 8000이니 service의 targetport는 pod 를 가리키는 8000을 줘야 하나요? 4.ingress를 80번 포트로 열어준다고 한다면 service의 port는 80이고 tagretport는 pod를 가리키는 8000 번이 맞나요?5. ngress-nginx-controller - ingress - service - deployement 이런식으로 트래픽이 들어오는게 맞다면 HPA 오토스케일을 걸어주고 싶은 상황에서는 ngress-nginx-controller에 걸어 줘야하나요?익스터널 ip가 있는 pod에 걸어주는거로 알고 있었는데 ngress-nginx-controller에 익스터널 ip가 있고 pod에는 없어서요이정도가 궁금합니다!
- 미해결대세는 쿠버네티스 [초급~중급]
설치 성공 but Pods들이 Running 상태로 안 올라옵니다.
설치는 성공했는데..pods들 아래와 같이 running 상태로 안돌아 오네요.해결방안이 있을까요? 선생님?참고로 집에 공유기가 없어서 포트 포워딩 방식으로 세팅했습니다.
- 미해결대세는 쿠버네티스 [초급~중급]
Authorizattion Secrets 이슈
안녕하세요 강사님,Secrets에 아무것도 보이지 않습니다. authentication 에서도 exec 명령후 etc 안에 Kubernetes 디렉토리가 없어서 인증 키 실습을 못하고 건너 뛰었는데.. 같은 문제로 안되는 건지 설명 부탁 드립니다. 같은 문제면 어떻게 해결해야 할지 도 알려 주시면 감사하겠습니다.
- 미해결대세는 쿠버네티스 [초급~중급]
vagrant up 설치 오류
잘 설치되는 듯 하다가 아래와 같은 오류가 발생했습니다. 검색해봐도 마땅한 답이 안나오는 것 같아서... 문의드립니다. Error: 0 [main] rsync (28752) C:\HashiCorp\Vagrant\embedded\usr\bin\rsync.EXE: *** fatal error - cygheap base mismatch detected - 0x11B2408/0x1462408.This problem is probably due to using incompatible versions of the cygwin DLL.Search for cygwin1.dll using the Windows Start->Find/Search facilityand delete all but the most recent version. The most recent version shouldreside in x:\cygwin\bin, where 'x' is the drive on which you haveinstalled the cygwin distribution. Rebooting is also suggested if youare unable to find another cygwin DLL. 0 [main] rsync 940 dofork: child -1 - forked process 28752 died unexpectedly, retry 0, exit code 0xC0000142, errno 11rsync: [sender] fork: Resource temporarily unavailable (11)rsync error: error in IPC code (code 14) at pipe.c(65) [sender=3.2.3]
- 해결됨대세는 쿠버네티스 [초급~중급]
Authorization 실습
안녕하세요 강의 잘 보고 있습니다.Authorization 실습예제에서 궁금한 부분이 있는데nm-02 네임스페이스를 생성하면default serviceaccount가 같이 생성되자나요?근데 clusterRole을 default serviceaccount와 연결하지 않고sa-02라는 serviceaccount를 새로 만들어서 연결하는 이유가 있을까요?
- 미해결대세는 쿠버네티스 [초급~중급]
docker와 pod/service의 차이
저는 도커만 사용을 해보았고 kubernetes는 업무상 필요해서 공부하면서 사용 해보려고 하는건데, docker에 containers들과 images들이 있는데 pod를 docker와 같은 개념으로 보면 되는건지, 아님 docker 처럼 외부와 연결이 가능한 service를 docker로 봐야 할지.. 아뭏든 pod/service와 docker의 차이가 무엇인지 설명해 주시면 감사하겠습니다.
- 미해결대세는 쿠버네티스 [초급~중급]
container를 admin이 생성한 pod에 연동하는 방법
이미지 생성후 applictioan program을 docker container 에 업로드하고 experiment를 실행하면 기존 kubernetes에 설정에 의해 그 container가 연동된 pod가 running되어 namespace에서 확인이 됩니다.첫번째 질문: 그 container(예: was 또는 wep)를 admin이 생성한 pod에 연동되어 관리 되도록 하는 방법, service를 통해 연동을 하면 되는건지...두번째 질문: image 빌드 및 conatanier 생성시 admin이 생성한 새로운 pod에 container가 실행 되도록 하는 방법에 대해 설명해 주시면 감사하겠습니다.세번째 질문: kind: limitRange를 yaml 파일로 생성하게 되면, 기존 nameserver에 새로 적용한 limitRange가 자동으로 update 가 되는건지와 이때 기존 namespace에 자동 적용되기 위해 yalm 파일에 metadata의 name이 같아야 하는건지 등 특별히 뭔가를 해야 하는것이 있는지 설명 부탁 드립니다.네번째 질문: pod도 새로운 limitRange 값으로 생성시 기존 containers 들을 관리하는 pod에 자동으로 update 가 되는건지아닌, 별도의 pod로 새롭게 image와 containers을 만들어야 하는건지 알고 싶습니다. 만약 자동으로 기존 pod에 새로운 limitRange 값이 update 된다면, 새로운 생성할 pod의 yaml 파일에 특별히 뭔가를 해야 하는것이 있는지 설명 부탁 드립니다.그리고 강의내용 중에 어느 부분을 다시 검토해 봐야 하는지도 좀 알려 주시기 바랍니다.
- 미해결대세는 쿠버네티스 [초급~중급]
파이프라인을 거쳐 experiment 실행 중인 pod 적용방법
안녕하세요 강사님,하나의 ML application program을 다양한 limitRange 모델을 적용해서 resource 설정에 따라 처리속도 등 어떻게 달라지는지를 비교하는 테스트를 아래 두가지 방법으로 하고자 합니다.파이썬 코드를 이미지 빌드 및 푸쉬하여 파이프라인 작업후 experiment 을 하고자 할 경우, limitRange가 설정된 pod에 올리는 방법 limitRange 적용되어 파이프라인을 거쳐 experiment running 중인 pod에 새로운 pod(단일, 복수의 pod)를 생성해서 그 pod들의 limitRange로 experiment 실행을 위한 방법을 알려 주시면 감사하겠습니다.
- 미해결대세는 쿠버네티스 [초급~중급]
쿠버네티스 클러스터 노드 연결 문제
현재 Master Node, Worker Node 두개로 클러스터 구성하려합니다.안녕하세요, 강사님강사님의 쿠버네티스 강의를 듣고 실전에서 수행 중에 있습니다. Master Node와 Worker Node의 클러스터 구성중에 있는데 Master 노드에서 init(sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.0.67) 명령문 시행하고 나온 출력 명령문을 워커노드에서 입력했는데 이렇게 뜨네요...마스터노드에서 kubectl get pods --all-namespaces하면 'flannel'은 정상적으로 ruunning 상태입니다. 현재 환경에 대해서 자세히 말씀드리자면, nhn클라우드에서 cpu서버(master 노드)와 gpu서버(워커 노드) 간 클러스터를 구성하려 하고 있고, 두 서버간 피어링 되어있습니다.마스터 노드 eth0 ip는 192.168.0.67, 워커노드 eth0 ip는 10.0.0.3으로 대역대가 다르지만, 위에서 말한 피어링을 통해 통신은 가능한 상태입니다. (워커노드에서 ping 192.168.0.67하면 응답함)뭐가 문제일까요??? ㅜㅜㅜ 방화벽 해제, 노드 오픈, 서버 시간 동기화, swapoff(마스터, 워커 둘다 함) 다했는데도 안되는 이유가 뭘까요...
- 해결됨대세는 쿠버네티스 [초급~중급]
loki-stack 설치시 에러가 발생합니다.
[root@k8s-master ~]# helm repo add loki https://grafana.github.io/loki/charts"loki" has been added to your repositories[root@k8s-master ~]# helm fetch loki/loki-stack --version 0.41.2[root@k8s-master ~]# tar -xf loki-stack-0.41.2.tgz[root@k8s-master ~]# lsanaconda-ks.cfg client.crt client.key client.p12 join.sh loki-stack loki-stack-0.41.2.tgz original-ks.cfg ssl[root@k8s-master ~]# cd loki-stack/[root@k8s-master loki-stack]# lscharts Chart.yaml README.md requirements.lock requirements.yaml templates values.yaml[root@k8s-master loki-stack]# vi values.yaml[root@k8s-master loki-stack]# kubectl create ns loki-stacknamespace/loki-stack created[root@k8s-master loki-stack]# helm install loki-stack -f values.yaml . -n loki-stackcoalesce.go:160: warning: skipped value for filters: Not a table.Error: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "Role" in version "rbac.authorization.k8s.io/v1beta1", unable to recognize "": no matches for kind "RoleBinding" in version "rbac.authorization.k8s.io/v1beta1"][root@k8s-master loki-stack]# 위와 같이 설치시 에러가 발생하는데 어떤 부분을 확인해보면 될까요?
- 해결됨대세는 쿠버네티스 [초급~중급]
longhorn 설치 시 longhorn 삭제가 안됩니다.
[root@k8s-master ssl]# kubectl get storageclasses.storage.k8s.io -n longhorn-system longhornNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGElonghorn (default) driver.longhorn.io Delete Immediate true 119s[root@k8s-master ssl]# kubectl delete storageclasses.storage.k8s.io -n longhorn-system longhornwarning: deleting cluster-scoped resources, not scoped to the provided namespacestorageclass.storage.k8s.io "longhorn" deleted[root@k8s-master ssl]# cat <<EOF | kubectl create -f -> kind: StorageClass> apiVersion: storage.k8s.io/v1> metadata:> name: longhorn> provisioner: driver.longhorn.io> allowVolumeExpansion: true> parameters:> numberOfReplicas: "2"> staleReplicaTimeout: "2880"> fromBackup: ""> EOFError from server (AlreadyExists): error when creating "STDIN": storageclasses.storage.k8s.io "longhorn" already exists[root@k8s-master ssl]# 어떤 부분을 확인해봐야 할까요?
- 미해결대세는 쿠버네티스 [초급~중급]
Env(File) terminal로 container root-master에서 kubectl not found 에러
Env(File) terminal로 container root-master에서 kubectl not found 메세지가 나오는데, master 터미널 모드에서 kubectl을 어떻게 설치 해야 하는지 알려 주시기 바랍니다.
- 미해결대세는 쿠버네티스 [초급~중급]
노트북 minikube 환경에서 추가 node 설정 및 dashboard 확인 방법
$ minikube start \ --driver='docker' \ --profile='multinode-lab' \ --cni='calico' \ --kubernetes-version='stable' \ --nodes=3위에 처럼 노드 추가를 실행하고 $ minikube status -p multinode-lab 명령어 실행 및 Docker Desktop에서도 pods(containers)들이 running 되는것을 확인 하였습니다. 그런데 minikube dashboard를 실행하면 보이지 않고 기존의 kinikube 노드만 확인 됩니다. 추가된 노드들을 dashboard에서 확인할 수 있는 방법에 대해 알려 주시면 감사하겠습니다.
- 미해결대세는 쿠버네티스 [초급~중급]
맥환경에서 강의 청취
강사님,저는 맥북을 사용하고 있는데, 예를 들면 Xshell.exe는 설치 실행이 안됩니다. 맥 환경에서 이 강의를 청취하고 실습을 하는데 문제가 되는지 안되는지 알려 주시기 바랍니다.맥 환경에서 강의 청취에 문제가 안된다면, 맥환경에서 설치 방법에 대해서도 추가로 올려 주시기 바랍니다. 그리고 docker, minikube, VMbox 다 설치후 kubeflow를 설치하는 방법에 대해서도 알려 주시면 감사하겠습니다~^^ 맥북에서 여러 시행착오 끝에 kustomize (최신버전시) 명령으로 설치를 하였는데, ㅇdex를 통해 kubeflow dashboard 오픈이 쉽지 않네요..