월 39,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
kubeadm으로 마스터 노드 설치 시 문제가 있습니다 ㅠ.ㅠ
안녕하세요 kubeadm으로 마스터 노드 설치 시 다음과 같은 문제가 발생합니다. 설치 시에 다음과 같은 문제가 발생하는데 어떻게 해야할까? 특이 이력은 image pull 상태에서 진행이 안되서 ctrl+X 후에 다시 설치했습니다.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
multiple-command-v3에서 사용하는 방식은 각각의 명령이 동시 수행인지 순차적 수행인지 궁금합니다.
multiple-command-v3에서 사용하는 방식은 각각의 명령이 동시 수행인지 순차적 수행인지 궁금합니다.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
w4-k8s-1.22 VM 이미지 다운로드 할 수 있을까요?
Vagrant 통해 VM 생성 과정에서 또 막히네요. ㅜ.ㅜ 다른 VM 이미지 올려주셨던것처럼 w4-k8s 이미지도 다운로드 받을 수 있을지요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
응답이나 요청의 파드 ip
안녕하세요 Node Port, Load Balancer 등의 서비스를 이용한다는 가정하에.. 파드에서 외부로 응답이나 요청을 보내게 되면 그 패킷을 받은 상대에게는 패킷의 Source IP address 에 파드의 ip가 보이게 되나요? load balancer 면 로드밸런서의 ip가 찍히고 node port면 노드의 ip가 찍히나요..? 이것저것 구글링 해보니 파드에게까지 요청 패킷이 도착하는 과정에 대한 설명만 보여서 질문드렸습니다. 감사합니다
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
headless 편에서 Loadbalancer를 이용해서 외부 접근을 허용했을 때 브라우저에 따라 연결되는 파드가 다른가요?
새로 고침하면 다른 load balancer가 랜덤으로 다른 파드에 연결할 것 같은데 브라우저가 달라야 다른 파드로 연결이 되는게 이해가 안갑니다!
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
ReadWriteOnce에 대한 질문이 있습니다.
안녕하세요, 좋은 강의를 통해 많이 배우고 있습니다. nfs 접근모드 중 ReadWriteOnce라는 정책에 대해 질문이 있습니다. replicaset=1이라는 어떤 deployment가 있고, 만약 서버의 어떤 결함이 생겨 pod가 삭제되고 다른노드에 자동으로 재 배포된 경우에, 다른 노드에 재 배포된 pod는 해당 volume을 사용할 수 없나요? 즉 ReadWriteOnce 라는 정책이 동시에 하나의 노드만 접근이 가능한 지, 아니면 pvc가 사용한 시점부터 해서 처음 사용한 노드만 영원히 사용이 가능한 지 궁금합니다. 읽어주셔서 감사합니다.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
kubeadm config images pull 에서 멈춰 있습니다.
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull' 30분 이상 기다려봐도 여기서 그대로인것 같습니다. 진행이 멈춘 것처럼 보이는데 오래 걸리는걸까요? 더 기다려 봐야 할까요? ㅜ.ㅜ
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
VCPU0: Guru Meditation -27 (VERR_NO_PAGE_MEMORY 문제
vagrant up 시, w2-k8s VM 생성 후 다음과 같은 Error가 발생하면서 VM 상태가 "완전히 꼬임"이라고 뜹니다. 제 PC의 메모리가 부족해서 일까요? 현상 발생 시 메모리 현황 69% 정도여서 부족하지는 않은 상태이지 않을까 싶은데 다른 점검 포인트가 있을지요? ㅜ.ㅜ - VBox.log - VCPU0: Guru Meditation -27 (VERR_NO_PAGE_MEMORY
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
컨테이너 내 command 부분 질문
안녕하세요. 우선 너무 기본적인 질문을 하게된 점 죄송합니다ㅠ containers: 내에 있는 command 부분이 어떤식으로 구성되어 있는지 잘 모르겠어서 질문드립니다. command: ["/bin/sh", "-c"] args: - nslookup kubernetes 이 부분에서 []안에 들어있는 내용은 무엇이며, 왜 들어가는지 args: 에는 어떤 내용을 넣는 항목인지 궁금합니다.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
NodePort와 LoadBalancer 의 get 명령 수행시 보여지는 Port(s)에 대해 문의합니다.
노드포트와 로드밸런서 강의 중 아래 사항이 궁금합니다. 아래 k get service 의 출력을 보면 np-nginx에서는 80:3000:TCP, lb-nginx 는 80:30371/TCP로 나오는데, 노드포트에서는 3000을 노드포트로 설정했고 해당 포트로 접속을 시도해야 하는 것을 알겠습니다. 그런데 lb-nginx 는 LB로 설정했고 별도로 랜덤하게 30371이 node port 로 생긴거 같은데(노드 IP:30371로 접속하면 external IP:80 과 동일) 그렇다면 실제 flow는 어떻게(노드 IP:30371이 실제 사용되는지?) 흘러가는 건가요? [root@m-k8s ~]# k get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 43h lb-chk-ip LoadBalancer 10.105.221.232 192.168.1.12 80:30045/TCP 25s lb-nginx LoadBalancer 10.108.247.90 192.168.1.11 80:30371/TCP 29s np-nginx NodePort 10.107.9.103 <none> 80:30000/TCP 70m
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
Headless 관련 질문
4.6 강의에 관한 질문입니다. 여기서 LoadBalancer로 svc를 배포했을 때는 외부에서 접근하려면 해당 서비스의 ip를 입력하여 pod에 접근하였습니다. 제가 이해한 것은 headless는 ip를 사용하는 대신에, 도메인주소를 사용하여 외부에서 특정 pod에 접근할 수 있게 해주는 것으로 이해했는데, 그렇다면 외부에서 접근하려면 어떻게 해야하나요? 예를 들어, svssts-chk-hn-2 라는 특정 pod에 접속하기 위해서는 net에서 nslookup에서 확인 할 수 있는 sts-chk-hn-2.sts-svc-domain.default.svc.cluster.local 이 부분이 도메인 주소인가요..? 이 부분을 브라우저 주소 창에 입력했을 때 접속이 안되서 질문 드립니다.. 강좌에서도 headless를 사용했을 때 외부에서 접속하는 과정이 안나와 있는 것 같아 헷갈려서 질문드렸습니다!! 감사합니다.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
(공유) vagrant 로 환경구성이 안되는 경우 virtualbox 6.1.30 버전을 사용해보세요
안녕하세요. 수강하시는 분들 중 virtualbox 6.1.32, 6.1.34 버전에서 환경구성에 문제를 겪는 분들이 있는 것 같습니다. vagrant로 환경 구성시 오류가 발생되는 경우, virtualbox 6.1.30 버전을 사용해 보기를 권해드립니다. (https://download.virtualbox.org/virtualbox/6.1.30/VirtualBox-6.1.30-148432-Win.exe) vagrant로 환경 구성에 문제를 겪는 시스템에서는 강사님이 제공하시는 ova 로 설치해도 가상머신이 정상동작 안할거예요. * virtualbox에서 발생되는 오류메시지 watchdog: BUG: soft lockup - CPU#1 stuck for 23s! * 관련 쓰레드 https://forums.virtualbox.org/viewtopic.php?f=6&t=105047
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
각 VM들의 이름이 같아 WORKNODE가 생성되지 않는 것 같습니다.
각 VM들의 이름이 같아 WORKNODE가 생성되지 않는 것 같습니다. + w1 에만 kubeadm이 설치되어 있지 않다고 나옵니다. 최초에 ssh 인증 문제로 VM이 올라가지 않다가 어찌어찌 RAM(메모리)을 늘리고 계속해서 WINDOWS10(저의 운영체제)에서 cmd로 vagrant up을 계속 눌러주니 VM이 올라가 접속 까지 성공했습니다. 그런데 각 VM들이 k8s 로 동일한 이름을 갖고 있어 worknode가 생성되지 않는 것으로 보입니다. (강의에서는 1-k8s 이런식으로 나옴) 추가적으로 w1에는 kubeadm이 없어 worknode를 추가하는 명령어도 안먹는 것 같습니다. 사진도 첨부해드리겠습니다. 감사합니다
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
--record 옵션을 대체하는 옵션이 있나요?
kubectl 명령어의 --record 옵션이 deprecated 된다고 나오는데요, 변경 이력(history)을 기록하고 rivision을 확인할 수 있는 방법이 있을까요? 찾아보는데 잘 안보이네요. kubectl rollout history deployment deploy-roll 다만, 모든 deployment rollout history는 기본적으로 저장된다는데 --record 옵션을 넣지 않아도 history가 저장되는 것이 맞나요? (제가 테스트를 해봐도 되겠네요.) [업데이트] --record 옵션없이 하면 CHANGE-CAUSE 가 모두 <none>으로 나오네요.deployment.apps/deploy-rollout REVISION CHANGE-CAUSE 1 <none> 2 <none> 3 <none> Rolling Back a DeploymentSometimes, you may want to rollback a Deployment; for example, when the Deployment is not stable, such as crash looping. By default, all of the Deployment's rollout history is kept in the system so that you can rollback anytime you want (you can change that by modifying revision history limit).https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
ingress_ctrl_nodepory.yaml 파일과 ingress_ctrl_loadbalancer.ymal의 목적은 무엇인가요?
다른 파일들과는 다르게 ingress_ctrl_nodepory.yaml 파일과 ingress_ctrl_loadbalancer.ymal 파일은 이해가 잘 안됩니다 ㅠㅠ 4월 27일 변경, 질문 구체적으로 작성 4.8 인그레스(ingress) 강좌에서, deploy-hn.yaml를 실행시켜 3개의 chk-hn 파드를 디플로이먼트로 띄우고 ClusterIP 타입의 서비스(ing-hn)로 노출합니다. deploy-ip.yaml를 실행시켜 3개의 chk-ip 파드를 디플로이먼트로 띄우고 ClusterIP 타입의 서비스(ing-ip)로 노출합니다. deploy-ngnix.yaml를 실행시켜 3개의 ngnix 파드를 디플로이먼트로 띄우고 ClusterIP 타입의 서비스(ing-default)로 노출합니다. 그리고, ingress.yaml을 실행시켜 위에 생성한 3개의 서비스에 각각 가상호스트 역할을 하는 endpoints를 매핑합니다. 서비스 : endpoints ing-default : / ing-hn : /hn ing-ip : /ip 그리고 ingress_ctrl_nodeport.yaml을 실행시켜 노트포트를 실행합니다. 그리고 노드포트 서비스가 30100번 포트로 띄워져 있으니 워커노드1번의 ip와 30100번 포트로 접속하면 웹 브라우저에서 해당 endpoints로 각 디플로이먼트에 접근 가능하였습니다. 그런데 제가 궁금한 점은 ingress_ctrl_nodeport.yaml 파일에는 20개의 오브젝트가 있다는 것입니다. 제가 생각하기에는 ingress_ctrl_nodeport.yaml에는 nodeport 타입의 서비스를 생성하는 오브젝트 1개만 있어야 하지 않을까요? 구체적 질문은 1) 왜 ingress_ctrl_nodeport.yaml에 20개의 오브젝트가 있는지 궁금합니다. 2) 20개의 오브젝트에 사용목적이 있다면 왜 사용하는 것인지도 궁금합니다. 3) ingress_ctrl_nodeport.yaml에 nodeport 타입의 서비스 오브젝트 1개만 두면 인그레스와 노트포트가 연동이 되지 않는 것인지도 궁금합니다.
- 해결됨그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
NetworkPolicy ipBlock에 대한 질문 입니다.
현재 제 환경에서 실습을 위해 접속하는 net의 ip주소는 172.16.132.37 입니다. egress설정을 통해 172.16.0.0/17대역 쪽으로만 나가도록 허용했는데 방화벽의 아웃바운드와 같은 개념이라면 net에서 트래픽이 나가는 것 자체가 안되거나 ping 통신의 경우 트래픽을 주고 받기 때문에172.16.103.147이 net에서 보낸 트래픽을 받는 건 가능하더라도 net으로 다시 트래픽을 보내는건 불가능 하다고 생각합니다. net(172.16.132.37)이 172.16.103.147 주소를 가진 pod와 어떻게 ping통신이 가능한지 궁금합니다!
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
4.3 노드포트(nodeport) 강의에서 질문입니다
확인차 질문드립니다. nodeport.yaml 에서 deployment의 metadata:의 name:은 selector: matchLabels:의 app: 이름, template:metadata:labels:의 app: 이름과는 달라도 되는 것이죠? 1) kind: Deployment metadata: name: deploy-nginx 2) selector: matchLabels: app: deploy-nginx 3) template: metadata: labels: app: deploy-nginx (질문 요약) 2)의 app: 이름과 3)의 app: 이름은 같아야하지만, 2)의 app: 이름은 1)의 name:과는 같을 필요는 없음. 맞나요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
deploy-topologyspreadconstraints.yaml의 maxSkew에 대해 질문이 있습니다!
안녕하세요! 강의에서 노드3에 12개의 파드가 배포되어있는 상태에서 배포를 하였을 때, 노드1과 노드4에 2개의 파드가 배포되는 부분에 대해 질문이 있습니다. deploy-topologyspreadconstraints.yaml에서 region과 zone 모두 maxSkew가 현재 1로 설정되어 있습니다. 그러면 region별로는 파드의 수가 1이상 차이나면 안되고, zone에서도 마찬가지라고 생각했습니다. region에서는 이것이 잘 적용이 된 것 같은데, zone에서는 노드1과 노드4에 각각 2개씩 배포가 되어 maxSkew가 안지켜진 것으로 보입니다.(zone안에서의 노드끼리는 파드 수가 2개가 차이나므로) whenUnsatisfiable 또한 DoNotSchedule로 되어있어서 이렇게 배포가 되면 안되는 게 맞는 거 같은데, 이에 대해서 제가 잘못 알고 있는 점이 있는지 질문드립니다! 항상 친절한 답변 주셔서 감사합니다😀
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
kubernetes 임계치값 질문있습니다~
[질문 전 답변]1. 강의 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기] kubernetes 임계치값 기본값이 아래와 같이 설정되어있을때 memory.available<100Mi nodefs.available<10% nodefs.inodesFree<5% imagefs.available<15% <- 이미지 1. 만약 /var/lib/docker/overlay2의 용량이 85%이상이되면 용량 확보를 위해 docker image를 랜덤으로 삭제하나요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
initialDelaySeconds와 periodSeconds 설정에 대해 질문있습니다!
안녕하세요! tardy-nginx 부분에서 initialDelaySeconds와 periodSeconds를 설정할 때 tardy-nginx 자체가 늦게 올라오는 컨테이너이기 때문에 periodSeconds을 크게 준 것으로 이해했습니다. 제가 궁금한 부분은 periodSeconds를 크게 주는 방법 말고, initialDelaySeconds를 크게 주어서 초기 검사 시간 자체를 늦추는 방법도 사용할 수 있는지입니다. 중요한 애플리케이션이어서 periodSeconds를 작게 주어 주기적으로 체크를 하고 싶을 경우 혹시나 계속해서 restart 되는 문제를 막기 위해 initialDelaySeconds를 크게 주어서 애초에 제일 처음 검사하는 시간을 늦추는 방법도 사용하는지 궁금합니다! 늘 좋은 강의 감사합니다!