55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결대세는 쿠버네티스 [초급~중급]
수강평 작성자가 강의자료를 열람 어떻게 할수 있나요?
안녕하세요. 강의를 유용하게 잘 듣고 있습니다. 현재 CKA 자격 준비를 진행하고 있는데, 블로그 최하단에 다음 내용이 기재되어 있어서 수강평을 작성하였습니다. 자료를 열람하려면 수강평 작성 후에 어떤걸 해야할지 알 수 있을까요?? 아키텍쳐편 강의 자료는 인프런 수강생 중 [수강평 작성자]에 한해 내용 제공됩니다. [Storage - FileStorage(NFS), BlockStorage(Longhorn)] [Networking - Pod/Service Network (Pause Container, Calico)] [Logging - Loki Stack]
- 해결됨대세는 쿠버네티스 [초급~중급]
11:10 ResourceQuota마지막 실습 ->pod 2개를 resoure제한없이 먼저 만들고 , 나중에 ResourceQuota를 만드는 경우
ResourceQuota마지막 실습 ->pod 2개를 resoure제한없이 먼저 만들고 , 나중에 ResourceQuota를 만드는 경우 저는 마지막에 1기가 짜리 pod를 만들어도 이상하게 만들어지네요 ... 강사님 바쁘신데 답을 달라는 의미는 아니고요 혹시나 이런 경험 겪으신 분 있나해서 올려봅니다. ^^ 1)네임스페이스 nm-4생성 , pod-2 pod-3생성 [root@k8s-master ~]# kubectl apply -f -<<END > apiVersion: v1 > kind: Namespace > metadata: > name: nm-4 > END namespace/nm-4 created [root@k8s-master ~]# kubectl apply -f -<<END > apiVersion: v1 > kind: Pod > metadata: > name: pod-2 > namespace: nm-4 > spec: > containers: > - name: container > image: kubetm/app > END pod/pod-2 created [root@k8s-master ~]# kubectl apply -f -<<END > apiVersion: v1 > kind: Pod > metadata: > name: pod-3 > namespace: nm-4 > spec: > containers: > - name: container > image: kubetm/app > END 2)나중에 resourceQuota 1Gi메모리 제한으로 생성 [root@k8s-master ~]# kubectl apply -f -<<END > apiVersion: v1 > kind: ResourceQuota > metadata: > name: rq-1 > namespace: nm-4 > spec: > hard: > requests.memory: 1Gi > limits.memory: 1Gi > END resourcequota/rq-1 created 3)1GI메모리로 pod생성 -> 생성이 잘됨. [root@k8s-master ~]# kubectl apply -f -<<END > apiVersion: v1 > kind: Pod > metadata: > name: pod-5 > namespace: nm-4 > spec: > containers: > - name: container > image: kubetm/app > resources: > requests: > memory: 1Gi > limits: > memory: 1Gi > END pod/pod-5 created 4)다시한번 resourceQuota 확인 1Gi 메모리 제한으로 만들어짐 [root@k8s-master ~]# kubectl get resourcequotas --namespace=nm-4 NAME AGE REQUEST LIMIT rq-1 17m requests.memory: 1Gi/1Gi limits.memory: 1Gi/1Gi 5)pod-2, pod-3, pod-5(1Gi메모리) describe로상태 확인 : 이상없음 [root@k8s-master ~]# kubectl describe pod pod-5 --namespace=nm-4 Name: pod-5 Namespace: nm-4 Priority: 0 Node: node-2/10.0.2.15 Start Time: Thu, 03 Dec 2020 09:03:10 +0000 Labels: <none> Annotations: cni.projectcalico.org/podIP: 20.104.247.32/32 Status: Running IP: 20.104.247.32 IPs: IP: 20.104.247.32 Containers: container: Container ID: docker://e54cc55d119117443794ae1a8dd732b3de54c773d6b1cb3a8348c8530cee237a Image: kubetm/app Image ID: docker-pullable://kubetm/app@sha256:b05f32a3c9fb95ad4e54fe23d7ba62e26a6374d1fa1a7aba2d7454f57eeddd91 Port: <none> Host Port: <none> State: Running Started: Thu, 03 Dec 2020 09:03:14 +0000 Ready: True Restart Count: 0 Limits: memory: 1Gi Requests: memory: 1Gi Environment: <none> Mounts: /var/run/secrets/kubernetes.io/serviceaccount from default-token-q7dfv (ro) Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes: default-token-q7dfv: Type: Secret (a volume populated by a Secret) SecretName: default-token-q7dfv Optional: false QoS Class: Burstable Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 2m10s default-scheduler Successfully assigned nm-4/pod-5 to node-2 Normal Pulling <invalid> kubelet Pulling image "kubetm/app" Normal Pulled <invalid> kubelet Successfully pulled image "kubetm/app" in 2.983328311s Normal Created <invalid> kubelet Created container container Normal Started <invalid> kubelet Started container container [root@k8s-master ~]# kubectl describe pod pod-2 --namespace=nm-4 Name: pod-2 Namespace: nm-4 Priority: 0 Node: node-1/10.0.2.15 Start Time: Tue, 01 Dec 2020 19:00:04 +0000 Labels: <none> Annotations: cni.projectcalico.org/podIP: 20.103.119.161/32 Status: Running IP: 20.103.119.161 IPs: IP: 20.103.119.161 Containers: container: Container ID: docker://a07fdb5c6fc267f9b0735386ccbcaa6bd56efd5205bebda614555c8de9268435 Image: kubetm/app Image ID: docker-pullable://kubetm/app@sha256:b05f32a3c9fb95ad4e54fe23d7ba62e26a6374d1fa1a7aba2d7454f57eeddd91 Port: <none> Host Port: <none> State: Running Started: Tue, 01 Dec 2020 19:00:07 +0000 Ready: True Restart Count: 0 Environment: <none> Mounts: /var/run/secrets/kubernetes.io/serviceaccount from default-token-q7dfv (ro) Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes: default-token-q7dfv: Type: Secret (a volume populated by a Secret) SecretName: default-token-q7dfv Optional: false QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Pulling 20h kubelet Pulling image "kubetm/app" Normal Pulled 20h kubelet Successfully pulled image "kubetm/app" in 3.01126576s Normal Created 20h kubelet Created container container Normal Started 20h kubelet Started container container Normal Scheduled 27m default-scheduler Successfully assigned nm-4/pod-2 to node-1 [root@k8s-master ~]# kubectl describe pod pod-3 --namespace=nm-4 Name: pod-3 Namespace: nm-4 Priority: 0 Node: node-2/10.0.2.15 Start Time: Thu, 03 Dec 2020 08:39:12 +0000 Labels: <none> Annotations: cni.projectcalico.org/podIP: 20.104.247.30/32 Status: Running IP: 20.104.247.30 IPs: IP: 20.104.247.30 Containers: container: Container ID: docker://3d7efc44f5e59d59a472aadff4c330c3ef71ec7ad51290382c8bb21018eb74da Image: kubetm/app Image ID: docker-pullable://kubetm/app@sha256:b05f32a3c9fb95ad4e54fe23d7ba62e26a6374d1fa1a7aba2d7454f57eeddd91 Port: <none> Host Port: <none> State: Running Started: Thu, 03 Dec 2020 08:39:15 +0000 Ready: True Restart Count: 0 Environment: <none> Mounts: /var/run/secrets/kubernetes.io/serviceaccount from default-token-q7dfv (ro) Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes: default-token-q7dfv: Type: Secret (a volume populated by a Secret) SecretName: default-token-q7dfv Optional: false QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 27m default-scheduler Successfully assigned nm-4/pod-3 to node-2 Normal Pulling <invalid> kubelet Pulling image "kubetm/app" Normal Pulled <invalid> kubelet Successfully pulled image "kubetm/app" in 2.844801073s Normal Created <invalid> kubelet Created container container Normal Started <invalid> kubelet Started container container 6)쿠버네티스 버전은 1.19.4임 [root@k8s-master ~]# kubectl get node NAME STATUS ROLES AGE VERSION k8s-master Ready master 6d10h v1.19.4 node-1 Ready <none> 6d9h v1.19.4 node-2 Ready <none> 6d9h v1.19.4
- 해결됨대세는 쿠버네티스 [초급~중급]
GCP 환경 설치시 404 Error
안녕하세요 선생님 이제 막 강의를 듣기 시작한 학생입니다. GCP서비스를 사용해서 환경을 구축하려고 하는데, 자료실에있는 설명 기준으로 환경을 설정하니 서버가 127.0.0.1:8000에 알려주신 경로에 뜨지만 skip하고 dashboard에 입장하자마자 아래와같이 404 응답을 띄웁니다 자료실 자료 기준으로 몇번을 시도해도 같은 결과가 나오네용 ㅠㅠㅠ 의견 부탁드립니다
- 미해결대세는 쿠버네티스 [초급~중급]
Case 5설치 문의드립니다
안녕하세요 강사님! virtualbox에 case5를 이용해서 쿠버네티스 설치하는 도중에 Natnetwork랑 호스트 네트워크 두개에 Gateway를 동시에 주면 DNS가 동작이 되지를 않는데 호스트쪽 Gateway를 죽여야할까요??... 192.168 대역 garteway를 주석처리하니까 dns가 정상적으로 동작을 하는데요.. init명령어를 사용하니까 에러가 나는데 에러 내용이 이렇게 나오는데 뭐가 원인일까요?... + Case4로 실행해보아도 같은 에러값으로 안됩니다... -> 강사님 강의보신 분의 1.15 v 버전으로 포스팅 한 내용 참조해서 1.15v으로 설치했습니다. 1.19버전은 흠.. 오류가 있는걸까요? ㅜㅜ 남은 강의도 열심히 달려보겠습니다~~~
- 미해결대세는 쿠버네티스 [초급~중급]
POD의 Container Command 중 copy 관련 문의드립니다.
POD내부에서 파일을 복사할 목적으로 Container Command에서 아래와 같이 복사 명령을 넣으면 CrashLoopBackOff이 나오고 logs에도 아무런 로그도 없고 describe에서도 오류 관련된 내용을 찾을 수 없습니다 해당 Pod에 접속하여 명령을 수행하면 정상 수행됩니다. yaml 에서 command를 제거하면 RUNNING됩니다. kubernetes.io의 기본 템플릿인데요 혹시 copy 커맨드 정의가 잘못된 부분이 있을지요? apiVersion: v1 kind: Pod metadata: name: myapp-pod16 labels: app: myapp spec: containers: - name: myapp-container image: tomcat:7.0 command: ['sh','-c','cp ./RUNNING.txt ./webapps'] 상대경로 절대경로로 지정해도 마찬가지이네요. 감사합니다.
- 미해결대세는 쿠버네티스 [초급~중급]
yaml작성 위치
안녕하세요 강사님. 쿠버네티스 dashboard없이, yaml 파일을 저장하고 배포하는 방법에 관해서 문의드립니다. - master node에 pod/service/controller 등의 폴더를 만들어서 폴더 내에 yaml을 작성하여 저장한 후, kubectl ~~명령어로 수행하면 자동으로 다른 worker노드에 배포되는 건지. - master node말고 어떤 node에 작성하든지 상관이 없이 배포되는건지 궁금합니다. 많은 도움 감사드립니다.
- 미해결대세는 쿠버네티스 [초급~중급]
쿠버네티스 운영 관련 질문드립니다.
안녕하세요 태민님. 항상 강의 잘 보고 많은걸 배우고 있습니다. 감사합니다. 다름이 아니라 제가 쿠버네티스로 EC2의 웹서버를 운영하려고 하는데, 프리티어로 하려다보니 쿠버네티스까지 통째로 EC2에 올리기엔 버거운 상황입니다.
- 미해결대세는 쿠버네티스 [초급~중급]
CKS 시험문제 강의 중 첫번째 9번 문제에 대해 질문드립니다.
CKS 문제 강의 중 첫번째 9번 문항인 "특정 Namespace에 속해있는 서비스에 연결된 Pod List이름 저장하기" 질문드립니다. kubectl create ns namespace-01 cat <<EOF | kubectl create -n namespace-01 -f - apiVersion: v1 kind: Pod metadata: name: pod-ns-1 labels: ns: pod spec: containers: - name: container image: kubetm/init --- apiVersion: v1 kind: Pod metadata: name: pod-ns-2 labels: ns: pod spec: containers: - name: container image: kubetm/init --- apiVersion: v1 kind: Pod metadata: name: pod-ns-3 labels: ns: pod spec: containers: - name: container image: kubetm/init --- apiVersion: v1 kind: Service metadata: name: service-nm spec: selector: ns: pod ports: - port: 9000 EOF 문제로 명령어와 yaml을 보면 앞에 kubectl create -n namespace-01 -f - 을 통해서 namespace-01번에 yaml 파일 내용에 있는 파드 3개와 서비스 1개가 생성되는건 알겠는데요. yaml파일안에 파드 3개에는 service가 지정되어있지않고 라벨만 입력이 되있는걸 확인했는데. 질문1 ) 파드생성시 내용에 service-nm 서비스를 기입하지 않고, 서비스와 파드에 같은 라벨내용만 부여를 했을때 자동으로 그 라벨끼리 매치가 되는건가요? 질문2 ) 위에 내용이 맞다면, 위와 같은 해당 네임스페이스에 파드를 추가생성할때 라벨만 붙여주면 자동으로 같은 라벨을 가지고있는 서비스에 붙나요? 질문3 ) 밑의 명령어 1번은 namespace-01에 있는 서비스를 확인하는 명령어고 2번은 해당 네임스페이스에 해당 라벨이 붙어있는 파드를 확인하는 명령어인데 kubectl get svc -n namespace-01 service-nm -o wide kubectl get pods -l ns=pod -n namespace-01 해당 서비스에 붙어있는 파드를 확인하는 명령어는 무엇인지 궁금합니다. ex) kubectl get po -n namespace-01 -svc service-nm 이런식으로요... 밑도끝도 없어서 죄송합니다ㅋㅋㅋㅋ 질문이 많아서 죄송합니다. 항상 강의 너무 잘 듣고있습니다 !!!
- 미해결대세는 쿠버네티스 [초급~중급]
권한관리 방법이 궁금합니다.
안녕하세요. 좋은 강의 감사드립니다. 현재 AWS EKS 사용중인데, Admin, 개발자, 모니터링 담당자 등 권한두고 차등관리 방법이 궁금합니다. 현재는 EKS 풀권한으로 사용하고 있습니다. 예를들어 부서별로 관리를 하든지, 네임스페이스별로 권한을 차단한다든지, 특정계정은 조회만 한다든지요.... 감사합니다.
- 미해결대세는 쿠버네티스 [초급~중급]
curl 관련되서 질문 드립니다.
안녕하세요^^ 강의 정말 설명을 잘해주셔서 실습을 제외하고 모두 보고 이제 실습을 진행하는 중입니다. 여러 PC에서 접속을 하려다보니 GCP환경으로 진행 중인데 curl 키워드를 입력해서 연결 정보를 보고 싶은데 GCP환경에서 진행중일때는 어디서 볼 수 있을지 궁금합니다.
- 해결됨대세는 쿠버네티스 [초급~중급]
docker run 질문입니다.
case-5 방식대로 따라서 하는도중에 [root@k8s-master ~]# docker run hello-world Unable to find image 'hello-world:latest' locally docker: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 8.8.8.8:53: read udp 192.168.56.30:40547->8.8.8.8:53: i/o timeout. 이런 에러가 떳는데 해결이 되질않네요. 뭐가 문제인가요?
- 해결됨대세는 쿠버네티스 [초급~중급]
mac os 환경입니다.
삭제된 글입니다
- 미해결대세는 쿠버네티스 [초급~중급]
쿠버가 설치가 안됩니다.
쿠버네티스 레포지토리도 잘 설정했는데 계속해서 이러는데 무슨문제인가요??
- 미해결대세는 쿠버네티스 [초급~중급]
실습환경 구축 ip
실습환경 구축할때 ip 10.0.2.0 번대로 꼭 구축을 해야하나요? VMware를 통해 실습을 진행하려고하는데 ip설정이 많이 어려워서 그냥 dhcp의 ip를 받아 그때그때 장소 옮길때마다 다시 설정해주려고하는데요.
- 미해결대세는 쿠버네티스 [초급~중급]
3:49분...curl..
교육은 잘 듣고 있습니다.. 제목에 있는 되로 실습을 같이 해보고 있는데요.. 아래와 같이 curl command가 없다고 하네요.. 무슨 문제인가요?
- 미해결대세는 쿠버네티스 [초급~중급]
안녕하세요. pause 컨테이너는 왜 이름이 pause 일까요??
안녕하세요. 강의 잘 듣고 있습니다.! 항상 감사드려요~! 근데 문득 네트워킹 강의에서 왜 pause 컨테이너라고 이름이 지어졌는지 궁금합니다.ㅎㅎ
- 미해결대세는 쿠버네티스 [초급~중급]
설치 - Case2 - 실습
안녕하세요.. 오늘부터 교육 듣고 있는데요.. 설치 - Case2 - 실습 부분이 사운드가 안나오네요. 확인 부탁드립니다..
- 미해결대세는 쿠버네티스 [초급~중급]
강의 잘 듣고 있어요!
안녕하세요. 강의 잘 듣고 있습니다. 실무에서도 잘 적응되고 있습니다. 항상 감사합니다. 다름이 아니오라 실무에서 CRD 에 대해서 많이 나오고 있는데요.. 생각보다, CRD 가 필수적인 요소라고 하더라구요.. 혹시 이 부분도 다뤄주실 예정인가요? 읽어주셔서 감사합니다.
- 미해결대세는 쿠버네티스 [초급~중급]
concurrencyPolicy replace
안녕하세요 태민님 태민님 강의를 너무 잘 듣고 있는 강의생입니다 :) CronJob 부분을 보던 도중 ConcurrencyPolicy 중 Replace policy에 대한 내용에 대해 확인 한 번 부탁드리려고 문의드립니다. 설명하시기로는 Replace policy 모드에서 기존 job이 실행중일 때 새로운 잡이 생기지는 않지만 기존 job은 계속 유지되고 job을 실행하는 파드만 새로 생성되고 기존 pod는 살아있는 방식으로 말씀하시는 것 같은데 이렇게 설명해주고 계신게 맞는지요 ? 그런데 직접 해보면 기존 잡이 실행중일 때 기존 잡과 실행중이던 파드를 없애고 새로운 잡을 통해 새로운 파드가 같이 생성됩니다. official document에서도 확인해보니 아래와 같이 하나의 cron job에 하나의 job만 유지할 수 있도록 해주는 개념으로 설명되어 있습니다. Replace: "새로운 잡을 실행할 시간이고 이전 잡 실행이 아직 완료되지 않은 경우, 크론 잡은 현재 실행 중인 잡 실행을 새로운 잡 실행으로 대체한다." 해당 내용에 대해서 한 번 확인 부탁드립니다. * 아, 그리고 제 로컬 kubenetes 1.19.2 에선 cronjob을 삭제 할 시 메뉴얼로 만든 job들도 같이 삭제 되는데 버전이 상이하여 다른 부분이 맞는지도 궁금합니다.
- 해결됨대세는 쿠버네티스 [초급~중급]
Node 장애인경우
안녕하세요 말씀주신 강의를 보고 다시한번 질문올립니다. https://www.inflearn.com/questions/76720 --- 환경 : GKE NODE : 3개(node1,node2,node3) pod : node1에 올라가 있는 상태 ----- node1에서 장애가 났다고 가정시 5분동안 gke자체 내에서 복구작업이 이뤄지며, 5분안에 노드가 살아나게 되면 그 노드에 파드가 그대로 생성이 됨. 하지만 5분 이상 장애가 지속이 되면 옵션 NoExecute 의 taint가 장애 발생된 node1에 추가가 됨으로 특정 Tolerations를 지니지 않은 pod는 삭제가 되며, 컨트롤러는 replica 수가 설정 값보다 감소했음으로 pod를 생성하는데, 해당 pod는 Tolerations를 가지고 있지 않음으로 다른 node(node2,3)에 생성이 된다라고 이해를 했습니다. 여기서 3가지 궁금증인데요. 1. GKE에서 5분 동안 복구 작업한다고 말씀을 주셨는데 복구 시간을 사용자가 직접 조정을 할 수 있는 방법이 있을까요. 2. 1번이 가능하지 않다면 5분동안 노드장애를 지속하고 싶은데, 방법이 있을까요. 조언을 구하고 싶습니다. (NoExecute 의 taint가 붙는 경우를 보고 싶습니다.) 3. 그리고 노드 장애인 경우 NoExecute 의 taint가 안붙는 경우도 있을까요. 이러한 질문들 드리는 이유는 gke를 사용하는 프로덕션 환경에서 node장애가 5분 이상 발생을 한 경우가 있었는데, 다른 node에 재생성이 되지 않은 경우가 있어서 질문드립니다. 감사합니다.