월 39,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
'A.11.030.쿠버네티스 인증서가 1년인 이유와 조치 방법' 강의가 진행되지 않아 수료가 되지 않고 있는데 어떻게 조치를 해야하나요?
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? 아니요2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 법을 읽어보셨나요? 아니요(https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]'A.11.030.쿠버네티스 인증서가 1년인 이유와 조치 방법' 강의가 진행되지 않아 수료가 되지 않고 있는데 어떻게 조치를 해야하나요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
강사님, ARM계열의 CPU 사용에 대해 질문이 있습니다.
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 모르겠습니다.2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 모르겠습니다.3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719) 예4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기] 안녕하세요 조훈님, 강의 [쉽게 시작하는 쿠버네티스]를 너무 잘 듣고 CKA를 목표로 해당 강의도 수강하려는 학생입니다. 먼저 질 좋은 강의 제공해주셔서 감사하다는 말씀을 전합니다!! 감사합니다. 다름이 아니라, 궁금한 점이 있어서 질문을 드립니다. 강의 소개에서 M1,M2 와 같은 ARM 계열의 CPU는 실습이 불가능하다고 하셨는데, 혹시 그 이유에 대해서 여쭤봐도 괜찮을까요? 실습을 진행하면서 에러가 많이 발생해서 그에 대한 대처를 일일이 하기 힘들다 같은 이유일까요..? 아니면 쿠버네티스가 arm 계열의 cpu에선 잘 작동하지 않는것이 이유일까요..?제가 노트북을 맥북으로 구매를 하려고해서요.. 앞으로 계속해서 개발쪽에서 일하면서 쿠버네티스를 계속 접할 것 같은데, 혹시 후자의 이유라면 고민을 더 해야할 것 같아서요ㅠㅠ 답변 부탁드려도 괜찮을까요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
k get svc 명령을 통해 container port를 확인할 수 있나요?
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]안녕하세요. 4.3과 4.4를 실습하면서 nodeport를 기반으로 loadbalancer가 동작하는 것으로 이해하고 있습니다. k get svc lb-nginx -o wide 명령을 통해 정보를 확인해 보면 아래와 같은데요. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTORlb-nginx LoadBalancer 10.96.88.133 192.168.2.11 1000:30001/TCP 105s app=deploy-nginxNodePort 가 30001로LoadBalancer Port가 1000으로 확인은 되는데요.컨테이너의 target port는 조회가 안되는 듯 합니다. 이는 -o yaml을 통해 확인하는 방법외에 다른 방법이 있을까요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
4.8 진행 시 namespace를 따로 설정하신 이유가 있는 것인가요?
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]안녕하세요.4.8을 따라하고 있는데요.namespace를 기존에는 default로 설정하여 진행하였었는데...이때부터 namespace를 따로 설정을 한 듯 합니다. 사유가 따로 있는 것일까요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
4.4 실습 중 IP 대역 변경에 따른 LoadBalancer 설정
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]안녕하세요.4.4 실습을 진행 중에 있습니다. 이전에 환경 변경된 부분이네트워크 IP 대역을 192.168.1.xxx 에서 충돌이 있어 192.168.2.xxx 로 vagrant 설정 시에는 스크립트 변경하여 적용 중에 있습니다.현재까지는 변경된 네트워크에서 적용에 문제없이 진행하고 있었는데요. Loadbalancer를 하면서 IP를 확인해 보니.192.168.1.11 로 설정이되는데...이 IP를 192.168.2.11로 변경해야 할 듯 한데...스크립트 상에서는 조회가 안되더라구요. 갑자기 어떤 설정 파일을 보아야 할지 감이 없는데...확인이 가능할까요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
인증서만료(?) 로 인한 kubelet 실행 실패
안녕하세요ova 이미지(1.22)를 이용하여 실습환경을 재구성하였으나, 인증서 만료로 인한 문제인지 kubelet 실행이 되지 않는 상황입니다.로그 확인 시 아래와 같은 로그가 확인되어, kubeadm 명령을 통해 인증서 renew 를 진행하였으나 문제는 동일합니다.Jun 9 23:46:29 m-k8s kubelet: E0609 23:46:29.935776 1235 bootstrap.go:265] part of the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expired: 2023-05-20 00:32:02 +0000 UTCJun 9 23:46:29 m-k8s kubelet: E0609 23:46:29.935812 1235 server.go:294] "Failed to run kubelet" err="failed to run Kubelet: unable to load bootstrap kubeconfig: stat /etc/kubernetes/bootstrap-kubelet.conf: no such file or directory"인증서와 bootstrap-kubelet.conf 파일이 연관이 있는 것 인지 또한 궁금합니다.위 이슈에 대한 원인, 해결방안등을 설명해주시면 감사하겠습니다.감사합니다.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
이 강의를 수강 하면 1.25 버전 강의는 할인 안되나요?
안녕하세요 책과 강의 잘 봤습니다.k8s 1.25 버전 강의가 새롭게 올라 왔더라구요~k8s가 버전이 릴리즈 될때마다 기능적으로 변경되는 부분이 적지 않던대요...1.24 강의를 수강한 수강생은 1.25 할인 같은거 안되나요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
POD 간 API 통신
POD 간 REST API 호출을 하기 위해서는 API 호출 URL 도메인을 어떻게 설정하고 호출 하나요? POD 는 사실 어떤 노드에 있는지 불확실 하기 때문에 어떤 식으로 내부적으로 REST API 호출을 할 수 있는지 궁금합니다.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
아웃바운드 트래픽에 대한 source ip address 통일 시키는 방법
안녕하세요. 강의 잘보고 있습니다! ^^ 질문이 있어서 글 남깁니다.3개의 워커노드가 구성되어 있는 클러스터 환경에서 어느 노드에 있는지 모를 POD application 에서 외부 시스템에 API 를 호출하는 상황일 경우요.source 는 pod application 이 될테고, destination 은 외부 시스템 이 되는 트래픽에 source ip address 를 하나로 통일시키려면 쿠버네티스에서는 어떤 방법이 있을까요? 즉, 외부시스템에서 source ip address 를 필터링 하는 acl 같은 방화벽이 존재한다고 하면, 외부시스템에 접근하는 트래픽에 IP ADDRESS 를 하나로 통일시켜야 하는 작업이 필요한데, 이런 경우 어떻게 하는지 궁금합니다. 더불어 eks 같은 managed k8s 에서는 어떻게 하는지도 궁금하네요.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
Tolerations 설정
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]안녕하십니까? 강사님. 한가지 궁금한 점이 있어서 이렇게 게시판에 글을 남기게 되었습니다.강의 내용 : CH6/6.7 테인트와 톨러레이션 관련.6.7 실습을 진행하던 중 daemonset-w-tolerations.yaml를 수행을 했을때 저는 Master Node로 할당이 되지 않고 계속 worker Node로만 생겨서 4-5회 정도 delete -fapply -f 를 연달아 진행을 했는데도 계속 worker Node로만 할당이 되었습니다.그래서 k cordon으로 하나의 Worker Node를 막아 놓고 한번 돌려볼까 했는데 오히려 그 Worker Node로도 막히지 않고 pod가 생성이 되고 Master는 여전히 배포가 되지 않았습니다. 도무지 왜 그런지 찾기가 어려워서 뭔가 제 실습에 문제가 있었던 것인지 좀 궁금해서 게시판에 글을 올리게 되었습니다. 아래 상황 로그를 같이 첨부합니다.정리하면 k apply -f daemonset-w-tolerations.yamlmaster로는 할당이 되지 않음.worker Node 3번에 cordon 명령으로 하나를 막아두고 진행하였으나 여전히 master로 할당되지 않고 Worker Node 3번에도 여전히 할당됨.(cordon 테스트 시에는 잘 되었었는데 Toleratation Yaml 파일 실행시에는 이런 현상이 보임)[root@m-k8s 6.7]# k get nodeNAME STATUS ROLES AGE VERSIONm-k8s Ready control-plane 221d v1.25.1w1-k8s Ready <none> 221d v1.25.1w2-k8s Ready <none> 221d v1.25.1w3-k8s Ready,SchedulingDisabled <none> 221d v1.25.1[root@m-k8s 6.7]# ls -trltotal 20-rwx------. 1 root root 409 Apr 18 18:22 init-taints.sh-rw-r--r--. 1 root root 432 Apr 18 18:22 deployment-w-tolerations.yaml-rw-r--r--. 1 root root 760 Apr 18 18:22 deployment-w-tolerations-nodeaffinity.yaml-rw-r--r--. 1 root root 337 Apr 18 18:22 deploy-after-taints.yaml-rw-r--r--. 1 root root 427 Apr 18 18:22 daemonset-w-tolerations.yaml[root@m-k8s 6.7]# k apply -f daemonset-w-tolerations.yamldaemonset.apps/daemonset-w-tolerations created[root@m-k8s 6.7]#[root@m-k8s 6.7]#[root@m-k8s 6.7]# k get po -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESdaemonset-w-tolerations-dhh6c 1/1 Running 0 6s 172.16.103.140 w2-k8s <none> <none>daemonset-w-tolerations-ktvjb 1/1 Running 0 6s 172.16.132.21 w3-k8s <none> <none>daemonset-w-tolerations-t48fx 1/1 Running 0 6s 172.16.221.144 w1-k8s <none> <none>net 1/1 Running 0 4h7m 172.16.103.133 w2-k8s <none> <none>nfs-client-provisioner-fdccb6545-6wgnw 1/1 Running 0 22h 172.16.221.137 w1-k8s <none>
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
강의자료 A.003/U 설치 후 강제종료 시 발생하는 문제
안녕하세요. 덕분에 강의 알차게 수강 중입니다.올려주신 강의 자료 중 A.003/U를 vagrant로 설치 후(1.24.7 버전..README에서는 1.24.8이라고 되어 있지만 vagrant 파일 내에는 1.24.7버전으로 되어 있어서 1.24.7버전으로 설치했습니다)강제 종료가 발생한 후 다시 virtual box를 실행시켜서 노드를 확인해 보니 다음과 같은 에러가 발생했습니다.root@m-k8s:~# k get nodes E0427 14:58:18.486078 1922 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.10:6443/api?timeout=32s": dial cp 192.168.1.10:6443: connect: connection refused E0427 14:58:18.486251 1922 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.10:6443/api?timeout=32s": dial cp 192.168.1.10:6443: connect: connection refused E0427 14:58:18.487807 1922 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.10:6443/api?timeout=32s": dial cp 192.168.1.10:6443: connect: connection refused E0427 14:58:18.489723 1922 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.10:6443/api?timeout=32s": dial cp 192.168.1.10:6443: connect: connection refused E0427 14:58:18.491648 1922 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.10:6443/api?timeout=32s": dial cp 192.168.1.10:6443: connect: connection refused The connection to the server 192.168.1.10:6443 was refused - did you specify the right host or port?혹시나 하여 vagrant up을 한 후 다시 재설치하여 실행한 후 또 종료 후 재실행하니 다시 똑같은 에러가 발생하는데요.혹시나 하여 kubelet을 실행해 보니 다음과 같은 로그가 발생했습니다.root@m-k8s:~/.kube# kubelet I0427 15:09:00.641157 2469 server.go:415] "Kubelet version" kubeletVersion="v1.27.1" I0427 15:09:00.641178 2469 server.go:417] "Golang settings" GOGC="" GOMAXPROCS="" GOTRACEBACK="" I0427 15:09:00.641271 2469 server.go:578] "Standalone mode, no API client" I0427 15:09:00.643456 2469 server.go:466] "No api server defined - no events will be sent to API server" I0427 15:09:00.643466 2469 server.go:662] "--cgroups-per-qos enabled, but --cgroup-root was not specified. defaulting to /" I0427 15:09:00.643675 2469 container_manager_linux.go:266] "Container manager verified user specified cgroup-root exists" cgroupRoot=[] I0427 15:09:00.643706 2469 container_manager_linux.go:271] "Creating Container Manager object based on Node Config" nodeConfig={RuntimeCgroupsName: SystemCgroupsName: KubeletCgroupsName: KubeletOOMScoreAdj:-999 ContainerRuntime: CgroupsPerQOS:true CgroupRoot:/ CgroupDriver:cgroupfs KubeletRootDir:/var/lib/kubelet ProtectKernelDefaults:false NodeAllocatableConfig:{KubeReservedCgroupName: SystemReservedCgroupName: ReservedSystemCPUs: EnforceNodeAllocatable:map[pods:{}] KubeReserved:map[] SystemReserved:map[] HardEvictionThresholds:[]} QOSReserved:map[] CPUManagerPolicy:none CPUManagerPolicyOptions:map[] TopologyManagerScope:container CPUManagerReconcilePeriod:10s ExperimentalMemoryManagerPolicy:None ExperimentalMemoryManagerReservedMemory:[] PodPidsLimit:-1 EnforceCPULimits:true CPUCFSQuotaPeriod:100ms TopologyManagerPolicy:none ExperimentalTopologyManagerPolicyOptions:map[]} I0427 15:09:00.643715 2469 topology_manager.go:136] "Creating topology manager with policy per scope" topologyPolicyName="none" topologyScopeName="container" I0427 15:09:00.643722 2469 container_manager_linux.go:302] "Creating device plugin manager" I0427 15:09:00.643742 2469 state_mem.go:36] "Initialized new in-memory state store" I0427 15:09:00.649586 2469 kubelet.go:411] "Kubelet is running in standalone mode, will skip API server sync" I0427 15:09:00.650341 2469 kuberuntime_manager.go:257] "Container runtime initialized" containerRuntime="containerd" version="1.6.20" apiVersion="v1" I0427 15:09:00.650597 2469 volume_host.go:75] "KubeClient is nil. Skip initialization of CSIDriverLister" W0427 15:09:00.652329 2469 csi_plugin.go:189] kubernetes.io/csi: kubeclient not set, assuming standalone kubelet W0427 15:09:00.652338 2469 csi_plugin.go:266] Skipping CSINode initialization, kubelet running in standalone mode I0427 15:09:00.652599 2469 server.go:1168] "Started kubelet" I0427 15:09:00.652626 2469 kubelet.go:1548] "No API server defined - no node status update will be sent" I0427 15:09:00.653540 2469 server.go:194] "Starting to listen read-only" address="0.0.0.0" port=10255 I0427 15:09:00.653722 2469 ratelimit.go:65] "Setting rate limiting for podresources endpoint" qps=100 burstTokens=10 I0427 15:09:00.653736 2469 server.go:162] "Starting to listen" address="0.0.0.0" port=10250 E0427 15:09:00.653787 2469 cri_stats_provider.go:455] "Failed to get the info of the filesystem with mountpoint" err="unable to find data in memory cache" mountpoint="/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs" E0427 15:09:00.653807 2469 kubelet.go:1400] "Image garbage collection failed once. Stats initialization may not have completed yet" err="invalid capacity 0 on image filesystem" I0427 15:09:00.654351 2469 fs_resource_analyzer.go:67] "Starting FS ResourceAnalyzer" I0427 15:09:00.654429 2469 server.go:461] "Adding debug handlers to kubelet server" I0427 15:09:00.654857 2469 volume_manager.go:284] "Starting Kubelet Volume Manager" I0427 15:09:00.655355 2469 desired_state_of_world_populator.go:145] "Desired state populator starts to run" I0427 15:09:00.671132 2469 cpu_manager.go:214] "Starting CPU manager" policy="none" I0427 15:09:00.671158 2469 cpu_manager.go:215] "Reconciling" reconcilePeriod="10s" I0427 15:09:00.671171 2469 state_mem.go:36] "Initialized new in-memory state store" I0427 15:09:00.671471 2469 state_mem.go:88] "Updated default CPUSet" cpuSet="" I0427 15:09:00.671492 2469 state_mem.go:96] "Updated CPUSet assignments" assignments=map[] I0427 15:09:00.671500 2469 policy_none.go:49] "None policy: Start" I0427 15:09:00.672503 2469 memory_manager.go:169] "Starting memorymanager" policy="None" I0427 15:09:00.672520 2469 state_mem.go:35] "Initializing new in-memory state store" I0427 15:09:00.672895 2469 state_mem.go:75] "Updated machine memory state" I0427 15:09:00.676749 2469 kubelet_network_linux.go:63] "Initialized iptables rules." protocol=IPv4 I0427 15:09:00.677830 2469 kubelet_network_linux.go:63] "Initialized iptables rules." protocol=IPv6 I0427 15:09:00.677847 2469 status_manager.go:203] "Kubernetes client is nil, not starting status manager" I0427 15:09:00.677867 2469 kubelet.go:2257] "Starting kubelet main sync loop" E0427 15:09:00.677896 2469 kubelet.go:2281] "Skipping pod synchronization" err="[container runtime status check may not have completed yet, PLEG is not healthy: pleg has yet to be successful]" I0427 15:09:00.706770 2469 manager.go:455] "Failed to read data from checkpoint" checkpoint="kubelet_internal_checkpoint" err="checkpoint is not found" I0427 15:09:00.707970 2469 plugin_manager.go:118] "Starting Kubelet Plugin Manager" I0427 15:09:00.718193 2469 reconciler_new.go:29] "Reconciler: start to sync state" I0427 15:09:00.757274 2469 desired_state_of_world_populator.go:153] "Finished populating initial desired state of world" I0427 15:09:00.780684 2469 pod_container_deletor.go:80] "Container not found in pod's containers" containerID="4f30c0e29a0f50f0ac88f0ede3349dc7330049aab9679fab780ce0509f5880d5" I0427 15:09:00.780763 2469 pod_container_deletor.go:80] "Container not found in pod's containers" containerID="688af4ee6a0b5d1a70a23a6df6ab95aa4444dbc18051bd0c5ff5987f6fdc9f6c" I0427 15:09:00.780897 2469 pod_container_deletor.go:80] "Container not found in pod's containers" containerID="70eb6a49bde6dfa88689e65d6e0ce7df0580d7695aa4f07b3c230ac0304dfad3" I0427 15:09:00.780924 2469 pod_container_deletor.go:80] "Container not found in pod's containers" containerID="c71ce1abd0a094beb98683158c68aa42ef4dc86e2ab01b79265af907c03432e3" I0427 15:09:00.780937 2469 pod_container_deletor.go:80] "Container not found in pod's containers" containerID="ab52d73f40d007573c50517a218fc897ae545d4e5088f1df32fcb93f0025dde0" I0427 15:09:00.780949 2469 pod_container_deletor.go:80] "Container not found in pod's containers" containerID="7edc40acc8631594bd532b918db1337a823e323027d056c8e1cf1d524de69f65" I0427 15:09:00.780961 2469 pod_container_deletor.go:80] "Container not found in pod's containers" containerID="5f3831d2e20022c990dff7bb346ce9619b45a34e80ee93b4b3d6a8cd34492357" I0427 15:09:00.780973 2469 pod_container_deletor.go:80] "Container not found in pod's containers" containerID="c44a3606db9d1d371a33d5ecd54c094f2962fdf034ddf051c7e5a49b889abb0f" I0427 15:09:00.819081 2469 reconciler_common.go:172] "operationExecutor.UnmountVolume started for volume \"config-volume\" (UniqueName: \"kubernetes.io/configmap/04ba41e5-b5ea-491f-9dc4-3989094542ce-config-volume\") pod \"04ba41e5-b5ea-491f-9dc4-3989094542ce\" (UID: \"04ba41e5-b5ea-491f-9dc4-3989094542ce\") " I0427 15:09:00.819093 2469 reconciler_common.go:172] "operationExecutor.UnmountVolume started for volume \"kube-api-access-8kfmr\" (UniqueName: \"kubernetes.io/projected/04ba41e5-b5ea-491f-9dc4-3989094542ce-kube-api-access-8kfmr\") pod \"04ba41e5-b5ea-491f-9dc4-3989094542ce\" (UID: \"04ba41e5-b5ea-491f-9dc4-3989094542ce\") " I0427 15:09:00.819099 2469 reconciler_common.go:172] "operationExecutor.UnmountVolume started for volume \"config-volume\" (UniqueName: \"kubernetes.io/configmap/225235fa-89f9-4fc8-a190-9962ba532fb4-config-volume\") pod \"225235fa-89f9-4fc8-a190-9962ba532fb4\" (UID: \"225235fa-89f9-4fc8-a190-9962ba532fb4\") " I0427 15:09:00.819108 2469 reconciler_common.go:172] "operationExecutor.UnmountVolume started for volume \"kube-api-access-rvx4m\" (UniqueName: \"kubernetes.io/projected/225235fa-89f9-4fc8-a190-9962ba532fb4-kube-api-access-rvx4m\") pod \"225235fa-89f9-4fc8-a190-9962ba532fb4\" (UID: \"225235fa-89f9-4fc8-a190-9962ba532fb4\") " I0427 15:09:00.819121 2469 reconciler_common.go:172] "operationExecutor.UnmountVolume started for volume \"kube-api-access-br4wk\" (UniqueName: \"kubernetes.io/projected/b5e3a923-48f5-46f1-bd6f-7e9136a4c0bd-kube-api-access-br4wk\") pod \"b5e3a923-48f5-46f1-bd6f-7e9136a4c0bd\" (UID: \"b5e3a923-48f5-46f1-bd6f-7e9136a4c0bd\") " I0427 15:09:00.819128 2469 reconciler_common.go:172] "operationExecutor.UnmountVolume started for volume \"kube-proxy\" (UniqueName: \"kubernetes.io/configmap/f822a0ef-4459-400e-b73a-dfd9d8d2f614-kube-proxy\") pod \"f822a0ef-4459-400e-b73a-dfd9d8d2f614\" (UID: \"f822a0ef-4459-400e-b73a-dfd9d8d2f614\") " I0427 15:09:00.819134 2469 reconciler_common.go:172] "operationExecutor.UnmountVolume started for volume \"kube-api-access-ctcvw\" (UniqueName: \"kubernetes.io/projected/f822a0ef-4459-400e-b73a-dfd9d8d2f614-kube-api-access-ctcvw\") pod \"f822a0ef-4459-400e-b73a-dfd9d8d2f614\" (UID: \"f822a0ef-4459-400e-b73a-dfd9d8d2f614\") " W0427 15:09:00.820262 2469 empty_dir.go:525] Warning: Failed to clear quota on /var/lib/kubelet/pods/04ba41e5-b5ea-491f-9dc4-3989094542ce/volumes/kubernetes.io~configmap/config-volume: clearQuota called, but quotas disabled종료가 발생한 후 다시 실행하면 노드를 찾지 못하는 문제가 계속적으로 발생하는데, 매번 재설치 하는 것도 번거롭고, 이 상태에서 어떻게 하면 문제를 해결할 수 있을지 공식 문서를 찾아보고 검색을 해 봐도 잘 모르겠습니다. 1.24.8 changelog를 확인해 보면 노드의 endpoint를 찾지 못하는 문제가 있는 것 같기도 한데...잘 이해되지 않아 정확히 파악하기 어렵네요.노드를 찾지 못하는 문제를 어떻게 해결하면 좋을지 답변 주시면 감사하겠습니다!
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
볼륨클레임템플릿 생성후에도 공유 파일시스템은 여전하여 문의드립니다.
강사님... 5.7 볼륨클레임템플릿 테스트 관련하여 문의드립니다.1) 해당 볼륨클레임템플렛을 사용하는 이유는 statefulset 파드 각각이 가지는 독립된 고유의 영역의 pv 를 생성하기 위함이다.2) 따라서 sc(스토리지 클래스) 에서 테스트 예제를 위해 마스터노드의 특정 로컬영역을 nfs 로 구현하였어도, 실제 이를 볼륨클레임템플렛을 통해 마운트하는 파드들은 독립된 영역을 가지므로, statefulset 의 다른 파드가 생성한 파일같은것들은 보이지 않을것이다.... 라고 생각을 했습니다만,모든 테스트를 수행하고 나니 여전히 모든 statefulset 파드에서 다른 파드가 생성한게 그대로 보이는 nfs 는 여전한 것으로 보입니다.sc(스토리지 클래스) 가 구현된 것 자체가 nfs 볼륨을 마운트하고 있기 때문에 구조적으로 NAS 형태를 띄는것은 어쩔수 없어서 그런것 같은데요...그럼 애초 강의에서 말씀하신, Statefulset 내 볼륨클레임템플릿을 정의해주면 파드별 독립된 고유의 PV 영역을 갖는다라고 하신 의미가 무엇인지 궁금해집니다...실제 물리pv는 테스트상에서 그저 nfs 와 똑같은데 약간 혼동이 생기네요.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
job-activeDeadlineSeconds 수행시에는 JOB 오브젝트 자체는 유지되는게 맞을까요?
job-activeDeadlineSeconds=> 해당 시간값 초과하면 30초 이후에 파드만 삭제되며, JOB 오브젝트는 삭제되지 않고 존재함ttlSecondsAfterFinished=> 해당 시간값 초과하면 바로 파드와 JOB 오브젝트 모두 삭제됨
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
metallb system error
다음과 같이 metallb-system이 이미지를 못 가져 옵니다. vagrant up 으로 머신을 실행후 마스터 노드에서 확인한 결과 입니다. 혜결 방법 알려주세요.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
A.11.011-1 이스티오 관련
안녕하세요. istio 설치 강의를 보면서 따라하고있는데, istioctl install --set profile=demo -y 커맨드 실행 시 Istio core installed는 정상적으로 설치가 되었으나,그 다음 부분부터 설치가 진행되지 않습니다. Processing resources for Istiod. Waiting for Deplyment/istio-system/istiod위 메시지만 계속 나오다가, Istiod encountered an error : failed to wait for resource: resources not ready after 5m0s: timed out waiting for condition 너무 오래 걸려서 실패뜨는 게 아닐까 싶은데할당 된 코어 2개, 메모리 2기가가 너무 구려서 그런걸까요?
- 해결됨그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
LoadBalancer External IP 질문
[질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [아니요]3. 질문 잘하기 법을 읽어보셨나요? [예](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]안녕하세요, 온프레미스 환경에서 loadBalancer 를 사용하기 위해 metalLB를 사용한다는 것을 조훈님 유투브 영상을 보고 알게 되었습니다! 정말 감사합니다. 이 강의에서 다룬 내용은 아니라 혹시 해결책이나 원인 아시면 답변 부탁들릴게요ㅜㅜ.. MetalLB를 통해 생성된 192.168.35.101:80 으로 접속이 안되어서 혹시 다른 설정을 추가적으로 해야하는지 궁금합니다!단순히 metallb 가이드를 따라 설치한 상태입니다.호스트 환경: window11 wsl2가상환경: ubuntu 20 LTSk8s 버전: v1.25.4docker 버전: v20.10.22 -kubectl get service- kubectl -n metallb-system get configmap,pod추가) 추가 확인해보니 http://192.168.35.101 이 아닌 http://localhost 으로 접속해야 붙네요
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
7.5강 livenessProbe exec 방식에 관한 질문입니다
livenessProbe는 실행 중 애플리케이션에 문제가 발생하면 애플리케이션이 재기동되는 탐사라고 하셨습니다.탐사 체크 조건을 exec 방식으로 cat /tmp/healthy-on 하도록 했을 때, periodSeconds를 10초 간격으로 주면 아직 애플리케이션 실행이 완료되지 않아 탐사에 실패하여 Unhealthy상태 -> killing상태 -> 앱의 재기동이 반복되는 프로세스는 이해를 했습니다.그런데 periodSeconds 를 30초 간격으로 주었을 때에도 cat /tmp/healthy-on 을 하지 못해 Unhealthy가 떴는데요(livenessProbe failed 됨).그럼 애플리케이션이 재기동되어야 하는 게 아닌가요? 탐사에 실패했는데도 unhealthy 상태를 그대로 유지하는 까닭이 무엇인가요? 그리고 아래 분의 질문에 덧붙여 한 가지 더 질문드리고 싶습니다.livenessProbe일 경우, initialDelaySeconds가 10초이고, periodSeconds가 30초이면, 첫 탐사 체크는 파드 running 후 40초(10초+30초)쯤 이루어진다고 보면 되나요?아직 이해가 부족한 듯하여 부끄럽네요..답변 미리 감사드립니다.
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
4.7강에서 endpoints 호출이 안 되는데 이유를 모르겠습니다
실습을 그대로 따라했는데 마지막에 curl external-data를 해도 커넥션이 되지 않습니다. 그 이유를 혹시 아실까요?
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
8.6 NetworkPolicy에 대한 질문
안녕하세요 강사님,8.6 네트워크 정책에 관한 강의를 듣다가 질문이 있어서 글을 남깁니다.3-2-NetworkPolicy-ipBlock.yaml 파일을 apply 시켰을 때 기대되는 동작은default 네임스페이스의 모든 파드들은 172.16.0.0/16 대역의 수신 트래픽만 허용, 172.16.0.0/17 대역의 송신 트래픽만 허용.제가 궁금한 것은 해당 네트워크 정책을 apply 시킨 후 호스트 상에서 pod에 ping을 날렸는데 답변이 잘 온다는 점이었습니다. 현재 호스트의 ip 대역은 네트워크 정책을 만족하지 못함에도 말이죠.혹시 호스트는 네트워크 정책을 bypass 할 수 있나? 해서 뒤의 실습에서도 테스트 해봤는데 4-2-NetworkPolicy-namespaceSelector-dev2.yaml 의 경우에는 호스트에서 ping을 날려도 답변을 받지 못하더군요. 아마 호스트는 dev2 네임스페이스가 아니라고 인식했기 때문이겠죠. 그러면 결론적으로 왜 3-2 실습의 경우 호스트의 request를 허락해주었을까? 가 궁금합니다. 두 가지 가능성이 있을 거 같아요.제가 알고 있는 호스트의 ip 192.168.1.10이 아니다. 이는 가상의 ip 이었다.쿠버네티스의 네트워크정책 중 ipBlock 태그에 한해서만 호스트는 이를 무시하고 요청을 할 수 있다.그 외긴 질문 읽어주셔서 감사합니다. 시간 날 때 답변주시면 감사하겠습니다!
- 미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
5.5 PV, PVC 관련 질문드립니다
안녕하세요 강사님!PV와 PVC에 대한 강의 중에 질문이 생겨서 글 남깁니다.이게 pv yaml 파일이게 pvc yaml 파일이었고,관리자가 pv를 만들어주면 개발자(사용자)가 pvc를 선언하여 이를 오브젝트에 마운트하는 개념으로 이해했습니다.그런데 PVC yaml 파일에는 어떤 PV(현재의 경우 pv-nfs)를 사용하는지에 대한 내용이 없는 것이 잘 이해가 되지 않습니다. pvc 파일에 어떤 pv를 bind 할건지에 대한 내용이 들어가야 하는거 아닌가요?만약에 관리자가 특정 네임스페이스에 여러개의 pv를 할당해주었고, 사용자가 이를 선택하여 pvc를 걸고자 하는 경우는 어떻게 핸들링이 되어야 할까요? 항상 좋은 강의 감사드립니다. 즐거운 일요일 밤 되세요~~