안녕하세요. 강의 잘 보고 있습니다. 제가 현재 맥 환경에서 사용중인데요. 제가 기존에 사용하는 페러럴즈라는 VM프로그램이 있는데, 그거로 사용시에 대쉬보드설치는 완료했는데, 프로메테우스랑 로키스택의 경우는 설치가 되지 않더라구요. 현재 제가 작은 서버를 하나 가지고 있어서 네트워크를 고정아이피로 사용중인데요. 그래서 192.168.56.x를 사용할수 없어 제가 사용하는 ip를 기반으로 VM IP를 또한, 공유네트워크를 사용할 수 없어 기본어뎁터를 베이스로하는 브릿지 모드로 맞췄습니다. 빠른설치 게시글을 통해서 해당 부분 ip를 변경해서 대쉬보드 설치는 완료해서 띄울 수 있었는데요. 프로메테우스와 로키스택의 경우는 pending이 발생하거나 설치자체가 안되는지 상태를 알수없다는 STATUS만 나오게 됩니다. 그래서 깃허브에 올려놓으신 yaml파일을 읽어보았는데요. 프로메테우스와 로키스택에서는 ip를 명시하는 부분은 없더라구요?(다른 yaml파일에서는 발견함) 왜 이런 현상이 나타나는지 모르겠습니다. 크러쉬가 일어나지도 않아서 로그가 남겨지진 않구요... 뭐가 문제일까요?ㅠㅠ 그래서 UTM을 설치해서 실행했을때는 문제가 없이 동작했습니다. 다른 부분이라하면 ip만 강의와 다르게 했을 뿐인데 .yaml파일에 ip명세가 문제가 아니라면 뭐가 문제일까요?
Mac m1환경에서 아래 링크 따라 수행했고 대시보드도 제대로 설치 및 설정이 된 것 같은데 접속이 되지 않습니다. bridge가 아닌 shared network라서 접근이 안 되는걸까요? https://kubetm.github.io/k8s/02-beginner/cluster-install-case7/
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [ 예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [ 예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [ 예 | 아니요] ( https://www.inflearn.com/blogs/1719 ) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up 으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. ( https://www.inflearn.com/questions/992407/comment/281901 ) [질문 하기] 좋은 강의 감사합니다. 영상과 같은 방법으로 nginx 를 expose했으나 192.168.1.101:31639에서 접속이 되지 않고 10.168.195.133:31639에서 접속이 됩니다 환경설정 virtual box 설치후 vagrant up 시에 헤드리스로 시작하는 부분에서 에러가 나와서 해당 부분 수정후 vagrant up 으로 이미지받아서 실행했으나, tabby와 통신이 안되어 ovf 파일로 추출후 vmware workstation pro 에서 실행및 네트워크 설정후 정상 동작 하였습니다. cp-k8s 네트워크 어뎁터 내용입니다. NAT,Custom(VMnet1 (hostonly )로 구성되어 있으며 vmnet1은 아래와 같이 구성되어 있습니다. 화면에 보이지 않지만 60010 TCP 192.168.1.10:22 도 되어 있습니다. 나머지 w1,w2,w3 또한 cp와 같은 네트워크 어뎁터[NAT,Custom(VMnet1 (hostonly)]로 구성되어 있습니다. 추가 정보 공유 드립니다. cp-k8s kubectl get pod -o wide kubectl get service kubectl get pods,svc,ep -o wide kubectl get nodes -o wide curl 192.168.1.101:31639 kubectl describe service nginx w1 ip입니다
제가 뭔가를 놓친건지 아니면 당연히 해야할걸 못하는건지 모르겠네요... 다른 질문글에선 그냥 VAGRANT 새로운 스크립트 만들어서 50 51 52 하셨던데 그리고 다시 vagrant up해서 사용하면 되는건지 뭔지 전혀 감이 안와서요.... 제가 아직 잘 못해서 수업을 들어도 감을 못잡는건가 싶네요 ㅠㅠ 시크릿도 mount가 되어있을줄알았는데 none이라고 뜨고요 ㅠ
일단 Vagrantfile보면 yum install -y kubelet-1.27.2-150500.1.1.x86_64 kubeadm-1.27.2-150500.1.1.x86_64 kubectl-1.27.2-150500.1.1.x86_64 --disableexcludes=kubernetes 이렇게 각 버전을 직접 명시했는데....저는 공식가이드에서 1.30을 선택하면 그냥 버전명이 안붙은채로 되던데...어떻게 저 디테일한버전을 찾을수있나요? 그리고 일단 그보다.... 이런 상황이고 해당 노드 내용을 보면 이런 에러가 뜨고요.. 왠만한건 모두 pending상태입니다. 해당 파드 describe 보면 0/1 nodes are available: 1 node(s) had untolerated taint {node.kubernetes.io/not-ready: }. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling 이거구요.. 이게 처음 설치할때 로그를 보면 여기에서부터 문제인것도 같은데...kubeadm설치시 master-node: [preflight] You can also perform this action in beforehand using 'kubeadm config images pull' master-node: W0228 15:14:16.156514 25883 checks.go:844] detected that the sandbox image "registry.k8s.io/pause:3.6" of the container runtime is inconsistent with that used by kubeadm.It is recommended to use "registry.k8s.io/pause:3.9" as the CRI sandbox image. 버전이 서로 안맞다고 나옵니다. 뭐가 잘못된걸까요? 그리고 vagranfile에는 kubeadm init --pod-network-cidr=20.96.0.0/16 --apiserver-advertise-address 192.168.56.30 이렇게만 있는데 런타임유닉스 도메인 소켓 경로containerd unix:///var/run/containerd/containerd.sock --cri-socket=unix:///var/run/containerd/containerd.sock 이부분을 추가해줘야 하나요?
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 이부분을 추가하고 나서 설치버전을 확인할수있는데 이해가 안되는게 지금 github 가이드 보면 1.6 LTS 와 1.7LTS 가 보이는데 그래서 1.7을 설치하고자 하는데 dnf list containerd.io --showduplicates | sort -r 명령어로 실행해보면 최신버전이 1.6 까지밖에 안보입니다. 저는 1.7버전 이상을 사용하고 싶고 패키지 설치명령어는 <major>.<minor>.<patch> 만 있는게 아니라 containerd.io -1.6.21-3.1.el8 이렇게 el8까지 보이는데 containerd 릴리즈 사이트에서는 패치까지만 보이고 그 이후는 볼수가 없습니다. 이부분이 알고싶습니다.
vagrant up하면 에러를 FAQ에서 보고 해봐도 잘 안되네요. 검색해보고 찾아보고 coreinfo -v확인도 해보고 해봤는데.. 다시도 설치해보고 Hyper-V 비활성화도 되어있구요.관리자권한으로 실행도 해봤구요. 보안에서 해당 virtualbox폴더 차단 제외도 해봤구요. 에러내용은 아래와 같습니다. 해당 위치 로그 파일 내용은 다음과 같습니다. 44a8.453c: 00007ff7f25a25fd / 0x01125fd: 00 != 4e 44a8.453c: 00007ff7f25a25fe / 0x01125fe: 00 != 47 44a8.453c: 00007ff7f25a25ff / 0x01125ff: 00 != 58 44a8.453c: Restored 0xa08 bytes of original file content at 00007ff7f25a25f8 44a8.453c: Error (rc=-5607): 44a8.453c: ntdll.dll: SizeOfImage (0x263000) isn't close enough to the mapping size (0x266000) 44a8.453c: Error (rc=-5607): 44a8.453c: supHardenedWinVerifyProcess failed with -5607: ntdll.dll: SizeOfImage (0x263000) isn't close enough to the mapping size (0x266000) 44a8.453c: Error -5607 in supR3HardNtChildPurify! (enmWhat=5) 44a8.453c: supHardenedWinVerifyProcess failed with -5607: ntdll.dll: SizeOfImage (0x263000) isn't close enough to the mapping size (0x266000)
kubectl apply -f https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml namespace/storageos-operator unchanged clusterrole.rbac.authorization.k8s.io/storageos-operator configured serviceaccount/storageoscluster-operator-sa unchanged deployment.apps/storageos-cluster-operator unchanged resource mapping not found for name: " storageosclusters.storageos.com " namespace: "" from " https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml ": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: " storageosupgrades.storageos.com " namespace: "" from " https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml ": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: " jobs.storageos.com " namespace: "" from " https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml ": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: " nfsservers.storageos.com " namespace: "" from " https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml ": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: "storageoscluster-operator-rolebinding" namespace: "" from " https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml ": no matches for kind "ClusterRoleBinding" in version "rbac.authorization.k8s.io/v1beta1" ensure CRDs are installed first 해당 오류가 StoragesOs Operator 설치할떄부터 발생하는거같은데 원인이 뭘까요 kubectl get all -n storageos 이 명령어로 설치확인이 안되서 의심가는 부분이 여기라 질문드립니다.
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다) 영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다) 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com) 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요! cafe: https://cafe.naver.com/kubeops -- 9분 58초쯤에 나오는 설명에 대한 질문입니다. kubelet에서 컨테이너 런타임으로 바로 받는다는 의미가 잘 이해가 안갑니다. 우선 제가 이해한것을 말씀드리겠습니다.! CRI를 이용해서 grpc로 통신하는 방법에서 CRI-plugin을 통해 직접 받는 방법으로 변경되었다. 각각의 컨테이너 밴더에서 플러그인을 구현하고 kubelet에서 해당 플러그인을 직접 호출한다. 여기서 궁금한 점입니다! CRI 구조에서, 도커의 새로운 기능이 생기면 쿠버네티스도 패치해야한다고 하셨는데 이는 CRI-plugin를 이용할때도 동일한게 아닌가요? 둘의 개발 라이프사이클을 다르게 가져갈 수 있는 이유가 궁금합니다. 새로운 기능이 생겨도 인터페이스만 맞으면 되는 것인데,인터페이스의 변화가 필요하다면 결국은 플러그인이나 CRI나 kubelet의 변화도 필요한게 아닌가요??
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] ( https://www.inflearn.com/blogs/1719 ) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. [질문 하기] 3분 37초쯤에서 히트맵에 대해 해석해주실 때 5ms에 가장 부합하는 데이터가 많다라고 말씀을 해주셨는데요. 히트맵으로 변환하기 전 그래프에서는 5ms(0.005)의 y축 데이터가 전체적으로 제일 적은 것 같아서.. 다시 히트맵의 색상 범례를 확인해보니 색상이 진할수록 숫자가 작은 것으로 보입니다. 그래서 예시의 히트맵에서는 사실 색이 진할 수록 데이터가 적은 것을 의미하는 것 같아 보이는데.. 제 해석이 맞는 지, 강사님 설명 중에 제가 놓친 부분이 있을지 궁금합니다 !
안녕하세요 일프로님. 강의 영상에서 띄어주신 '[섹션2] 쿠버네티스가 정말 편한 이유 [체험 App배포]라는 게시글이 현재 카페에 존재하지 않습니다. 다시 보니 다른 제목의 동일한 내용의 게시물이 존재하네요. ([Sprint1] 실무에서 느껴 본 쿠버네티스가 정말 편한 이유 > 쿠버네티스 대표 기능) 강의 영상과 제목이 다른 카페 게시글이 종종 있는 것 같습니다. 관련하여 안내가 보강되면 좋을 것 같습니다. 강의 잘 보고 있습니다 완강까지 달려보겠습니다 감사합니다!
안녕하세요! github actions 강의 수강 중인 학생입니다. push, pull request 이벤트 트리거를 한다는 것은 숙지했는데, YAML을 유심히 보다보니 문득 궁금증이 생겨 질문남깁니다. jobs > pull-requests-job > runs-on : ubuntu-latest를 작성하는데, runs-on에 작성된 우분투라는 것은 github의 운영체제인건가요?
안녕하세요 강사님. Helm 강의이긴 하지만 K8s 도 전문적으로 가르치시는 걸로 알고 있어서, K8s 질문을 조금 하게 되었습니다 (정말 주변에 물어볼 사람이 없어서..). Helm 질문이 아니라서 답변해주시기 어려우시다면 이해하겠습니다 ㅠ 기본기적인 질문인데, Service 가 Pod 내 Container 에게 어떻게 통신을 하는지 갑자기 이해가 조금 안됩니다. 다음과 같은 시나리오 두가지가 있다고 해보겠습니다. 1. Pod 내 단일 컨테이너, Service -> spec.ports.targetPort 에 1000 포트로 통신을 전달하도록 설정되어 있음 "Service 는 selector 로 어떤 Pod 에게 보내야할지는 이미 알고 있고, Pod 내 targetPort 로 요청을 전달한다" 라고 이해하고 있습니다. Pod -> spec.containers.ports.containerPort 에 2000번 포트를 점유하도록 설정되어 있음 >> 이런 시나리오인 경우에도, K8s 는 통신을 정상적으로 앱에 전달하는 것으로 이해하고 있습니다. containerPort 는 사실 큰 역할을 하지 않고, 실제 container 내부 Application 이 1000 포트에 런닝 중이면 된다고 생각했습니다. ( Spring 경우 application.properties 내의 server.port=1000) >> 결론부터 말씀드리면 이게 "왜 가능한지?" 가 궁금합니다. 2. Pod 내 멀티 컨테이너, Service -> 위와 동일 Pod -> spec.containers 내부에 1000번 포트, 2000번 포트에 점유하는 두개의 컨테이너를 정의함 (각각 다른 앱) (물론 권장하는 상황은 아님) >> 이런 시나리오인 경우, 해당 Service 에 요청하면 containerPort:2000 인 컨테이너에게 요청을 전달하고, 해당 컨테이너에 점유중인 앱이 통신을 수신하는 것으로 이해했습니다. >> 그럼 지금 1번 시나리오랑 다른 점인데, 멀티 컨테이너와 단일 컨테이너를 사용하는 Pod 간에는 어떤 차이가 존재하는건지 알 수 있을까요? >> 그리고 이런 경우에는 1번 시나리오에서 제가 이해한 컨테이너 내부 App Port 는 어떻게 아는지? 가 궁금합니다 만약 service 내부 containerPort 가 Pod 내 컨테이너가 점유중인 port 가 아닌, container 내부의 App Port 라면, Service 는 "Selector 를 통해 어떤 Pod 로 보내야 하는지 알 뿐 아니라 어떤 Container 로 보내야 하는지도 알고있다" 가 되는데, 이건 아닌 것 같았습니다. 혹시 어렵지 않으시다면, 제가 기본기가 좀 모자라서, 도움 한번만 주시면 정말 감사할 것 같습니다.
동일한 과정을 거쳐서 원클릭 배포를 실시했는데, 해당 스택만 나타나고 나머지 3개의 스택은 나오지 않았습니다. ec2, vpc, subnet, 보안그룹은 설정이 됐는데, eks 클러스터가 생성되지 않습니다. 추가로 해당 명령어를 입력했을 때 값이 존재하지 않는변수도 있는데, 어떻게 해야 정상적인 배포를 할 수 있을까요?
k8s v1.27 버전 설치 (최신, 쉬운설치 버전) - 1.22에서 변경됨 으로 작성되어 있는 blog를 참고하며 설치하였습니다. XShell, VirtualBox, Vagrant를 D드라이브에 설치하였으며 k8s 폴더 또한 D드라이브에 설치하였습니다. 이후 curl -O https://kubetm.github.io/yamls/k8s-install/Vagrantfile curl -O https://raw.githubusercontent.com/k8s-1pro/install/main/ground/k8s-1.27/vagrant-2.3.4/rockylinux-repo.json vagrant box add rockylinux-repo.json vagrant plugin install vagrant-vbguest vagrant-disksize 총 4가지의 명령어를 cmd창에서 실행한 후 vagrant up 명령어를 실행했을 때 진행되다가 k8s-master: Booting VM... 부분에서 다음과 같은 오류 메시지가 출력이 됩니다.