55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결대세는 쿠버네티스 [초급~중급]
설치방법보고 진행중인데요...
5-1-2) 쿠버네티스 초기화 명령 실행 kubeadm init --pod-network-cidr=20.96.0.0/12 --apiserver-advertise-address=192.168.0.30해당 명령어 쳤을때 나는 에러인데요.. 해결방법이 없을까요? ㅠㅠ
- 미해결대세는 쿠버네티스 [초급~중급]
nginx앞단 노드포트 service접속시에~
설명중에 사전에 nginx controller 가 설치되어 있고 pod에 외부에서 연결이 되도록 NortPort 서비스가 연결이 되어 있기 때문에 마스터의 host IP인 192.168.0.30에 30431포트로 접근을 하면 이 nginx pod의 80포트로 트래픽이 전송이 된다. 고 하셨는데~ nodeport는 모든 노드들에 포트가 열리는것이기 때문에 그 모든노드가 워커노드만이 아닌 마스터노드도 포함된다는 의미이고 ..그래서 마스터 hostip에 30431포트로 접속이 된단 그런 의미인가요?
- 해결됨대세는 쿠버네티스 [초급~중급]
mobaxterm ssh 접속이 안되네요.
이더넷 이구요 IP및 DNS자동으로 할당받기 설정되어있고, 동영상 강의대로 mobaxterm ssh 설정 하였는데, connection timed out 으로 접속이 안됩니다.. 어떤 부분을 더확인해봐야하나요?.. virtualbox내에 master VM(192.168.0.30) 을 생성이후 시도해보았으나 결과는 동일합니다.
- 미해결대세는 쿠버네티스 [초급~중급]
bash: nslookup: command not found 메세지
yum install bind-utils net-tools -y 으로 net-tools 설치후 실행하면 됩니다.
- 미해결대세는 쿠버네티스 [초급~중급]
api server 접속 아이피는 어디에?
실습강의에 보면 쿠버네티스 6443포트로 api server가 열려있고 여기로 접근하기 위해 https://192.168.0.30:6443/api/v1/nodes 이렇게 호출하는데 그리고 계속 강의를 보면 저아이피로 호출하는 예시들이 많은데 저 위의 아이피는 어떻게 확인되는것이며 만약 구축했을때 service cluster ip인것인지...누구의 아이피인가요?위의 아이피는 어디까지나 우리가 버추얼로 노드 설정할때 마스터 ip랑 워커노드 ip를 알수있기 때문인거잖아요...실제 aws상에서는 어떤노드의 ip를 말하는건지..궁금해요...aws상에 설치를 했을경우 proxy로 8001포트를 열었던 , api server 가 6443으로 포트가 되어있던...앞에 http:// 앞에 ip를어떻게 찾아서 붙히죠? 만약 마스터 노드의 ip라면 aws에서는 어떤 ip를 확인하면 되는건가요?
- 해결됨대세는 쿠버네티스 [초급~중급]
gcp 외부노출
GCP로 공부하고 있습니다만, 쿠버네티스 용 서비스가 아닌 일반 VM 인스턴스에서 직접 도커와 쿠버네티스를 설치하면서 실습하고있었는데요, 해당 강의중에 쿠버네티스로 서비스를 올려서 외부 아이피로 Http 웹사이트에 노출시키는 걸 봤는데 똑같이 파드 만들고 서비스까지 올렸지만 제 아이피와 포트번호는연결 거부가 나타나면서 방화벽 확인을 해달라하네요. 도커로 진행했을땐 동일 아이피에서 포트번호 8100으론 출력이 되었는데 쿠버네티스를 통해선 안되는데 별도 설정이 필요한걸까요? 아 해당 GCP 인스턴스 외부 아이피는 현재 고정상태입니다.
- 미해결대세는 쿠버네티스 [초급~중급]
kubectl proxy관련
여기 그림에서 보면 마스터 노드안에서 kubectl 이 설치되는그림이고 여기안에서 kubectl 명령어를 가지고 proxy server를 생성하는 그림인데요? 그다음 강의를 보면 master노드에서 admin.conf를 가져다가 ./kube/config로 복사해서 사용하던데..이건 외부에서 kubectl을 이용하는것 같은데요..여기에서도 마찬가지로 nohup kubectl proxy --port=8001 ~ 명령어로 proxy를 생성하던데...이건 그럼 master노드내에서 저명령어를 쓰는거랑 외부에서 kubectl명령어로 proxy를 생성하는거랑 똑같이 master내에 proxy서버가 생성되는 구조인가요? 그리고 실제 aws같은경우는 master노드 자체를 접속을 못하니 master노드내에 kubectl설치도 못하거나와 proxy를 그럼 외부에서 명령어로 실행하면 master노드내에 생성되는건지가 궁금하네요?
- 해결됨대세는 쿠버네티스 [초급~중급]
<Networking - Pod / Service Network (Calico), Pause Container> 강의 12분 45초경 IPtable Mode에 대해서 설명
<Networking - Pod / Service Network (Calico), Pause Container> 강의 12분 45초경 IPtable Mode에 대해서 설명을 해주시는데요 그림에서 iptables의 매핑정보가 10.103.9.116 -> 20.96.2.5 라고 나옵니다. 제가 잘못 이해한것인지 모르겠는데 pod의 ip가 20.111.156.6 이기 때문에 그림에서 10.103.9.116 -> 20.111.156.6 으로 표기해야 하는게 아닌지 여쭤봅니다.^^
- 미해결대세는 쿠버네티스 [초급~중급]
calico 설치후 Pod status
안녕하세요 kubenetes 1.19 설치중 calico 설치후 pod status 가 모두 Running 이 되지 않습니다. Init:0/3 인 pod가 2개 ContainerCreating 인 pod가 2개 있는 상태입니다. 모두 Running 되지 않은 상태에서 Dashboard 설치로 넘어가도 문제없을까요? [root@k8s-master ~]# kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system calico-kube-controllers-744cfdf676-p45kl 1/1 Running 0 27m kube-system calico-node-557zq 0/1 Init:0/3 0 27m kube-system calico-node-gglgg 1/1 Running 0 27m kube-system calico-node-hcsv5 0/1 Init:0/3 0 27m kube-system coredns-f9fd979d6-75m9f 1/1 Running 0 136m kube-system coredns-f9fd979d6-sfcdq 1/1 Running 0 136m kube-system etcd-k8s-master 1/1 Running 0 136m kube-system kube-apiserver-k8s-master 1/1 Running 0 136m kube-system kube-controller-manager-k8s-master 1/1 Running 0 136m kube-system kube-proxy-fcd99 0/1 ContainerCreating 0 30m kube-system kube-proxy-mjlv9 1/1 Running 0 136m kube-system kube-proxy-xk425 0/1 ContainerCreating 0 29m kube-system kube-scheduler-k8s-master 1/1 Running 0 136m
- 미해결대세는 쿠버네티스 [초급~중급]
새로운 강의로 AWS기반의 EKS, NLB, SSL, Nginx, Aurora for mysql을 활용한 쿠버네티스 강의를 만들어주시면 감사하겠습니다.
다음 새로운 강의로는 AWS기반의 EKS, NLB, SSL, Nginx, Aurora for mysql을 활용한 쿠버네티스 강의를 만들어주시면 감사하겠습니다. EKS(Elastic Kubernetes Service)로 node 구성시 multi-AZ으로 해주시고, ECR(Elastic Container Registry)사용법, ALB for Ingress로 할지 아니면 'NLB + Nginx for Ingress로 할지', SSL(혹은 TLS)인증서를 어디에 구성할지(Termination할지?), Jenkins 와 쿠버네티스 연동 그리고, 웹서버 혹은 WAS서버가 Scale-In될 때 웹클라이언트 세션 유지 용도로 ElasticCache for Redis도 추가 부탁 드립니다. 이 정도 커리큘럼이면 괜찮은 강의가 구성될 것 같습니다. 여력이 되신다면 쿠버네티스 모니터링용으로 프로메테우스와 그라파나, 그리고 로그서버로 fluentd도 부탁 드립니다. ^^
- 미해결대세는 쿠버네티스 [초급~중급]
쿠버네티스 19 버전에서 마스터와 노드 Join 에러가 납니다.
안녕하세요? 선생님 강의 잘 듣고 있습니다. Master 만들고, Work Node 2개 만들어서 Join 하려고 하는데 워커노드에서 마스터로 Join이 않됩니다. 쿠버네티스 15 버전으로 하니까 잘 되는데 19.9 버전을 Virtual Box에서 하니까 계속 에러가 납니다. 에러메시지 ---------------------------------------------------- error execution phase upload-config/kubelet: error writing crisocket information for the contro l-plane node: error patching node "k8s-master" through apiserver: patch "https://192.168.0.30:6 443/api/v1/nodes/k8s-master?timeout=10s": unexpected eof ---------------------------------------------------------------- GCP(Google Cloud Platform)에서는 VM을 만들어서 하니까 잘됩니다. 왜 그럴까요?
- 미해결대세는 쿠버네티스 [초급~중급]
수강평 작성자가 강의자료를 열람 어떻게 할수 있나요?
안녕하세요. 강의를 유용하게 잘 듣고 있습니다. 현재 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 풀권한으로 사용하고 있습니다. 예를들어 부서별로 관리를 하든지, 네임스페이스별로 권한을 차단한다든지, 특정계정은 조회만 한다든지요.... 감사합니다.