묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Rocky Linux Repo 세팅 문의
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops 3단계에서 Rocky Linux Repo 세팅에서 안되서 문의드립니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
젠킨스 자바 버전에 대해
젠킨스 서버에 자바버전을 11로 설치하였는데요스프링 서버가 여러개인데, 각각 11, 8 ,17 이런식으로 자바 버전이 바뀌면 젠킨스 서버에서 각 서버를 빌드할때마다 자바버전이 다른데 어떻게 맞춰야할까요ㅠㅠ도커도 안쓴다는 가정에서요..
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
젠킨스를 ec2에
강사님ㅠㅠ 젠킨스를 ec2에 설치하는데..도커 먼저 설치하고 젠킨스 이미지를 받아서 돌려봤어요그런데..이상하게 젠킨스 사이트 접속하면 매우 느려지는 현상이 반복적으로 일어납니다.. 처음에는 느리지않은데, ec2를 중지시키고 AMI를 만든후에 다시 재시작 하면 젠킨스 사이트가 매우 느리네요..원인을 모르겠습니다 .. ec2를 중지후에 재시작하면 발생하는 문제같습니다 ㅠ EC2를 large로 바꿔도 안되는게..사양과는 상관이없는거 같아요 ..
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
실습19) AWS EC2에 Jenkins 서버 설치하기 에서 maven 설치하는 부분
실행될 프로젝트가 maven 으로 만들어졌기 때문에 maven을 설치하는게 맞을까요? 만약 gradle로 만들어진 프로젝트를 배포하고 싶으면 maven 관련은 설치하지 않고 gradle 관련 패키지를 설치하면 될까요?
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
vi /etc/hosts를 진행할 시 블루스크린이 뜹니다.
가상머신에 Docker 설치하기에서 3:48에 가상머신에 vi /etc/hosts를 이용해 파일 수정을 하는부분에서 명령어를 칠 시 블루스크린이 뜹니다.이런 경우는 어떻게 해결해야할까요.오라클 vm virualbox에선 명령어가 잘 되는데 Termius에서 ssh접속 후 명령어 실행 시 블루스크린이 뜹니다.
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
apt-get update 명령어 오류
쿠버네티스 섹션에서 apt-get update 명령어를 입력하면 404오류가 발생하는데 원인이 뭔지 알수 있을까요?
-
미해결대세는 쿠버네티스 (초급~중급편)
authentication에서 클러스터 2개를 활용해서 kubectl로 context 변경하시는데
이거 기존에 만든 클러스터 외에 별도 VM 띄워서 클러스터 하나 더 만드신거죠??
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
The repository 'https://apt.kubernetes.io kubernetes-xenial Release' does not have a Release file.
쿠버네티스 설치 작업하는 도중에 에러가 발생하고 있습니다.쿠버네티스 설치 명령어 순서apt-get install -y apt-transport-https ca-certificates curlcurl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.listdeb https://apt.kubernetes.io/ kubernetes-xenial mainEOFapt-get updateapt-get update 명령어를 사용하면 404 에러가 뜨고 있습니다.root@k8s-master:/home/vagrant# apt-get install -y apt-transport-https ca-certificates curlReading package lists... DoneBuilding dependency treeReading state information... Doneca-certificates is already the newest version (20230311ubuntu0.20.04.1).The following NEW packages will be installed:apt-transport-httpsThe following packages will be upgraded:curl libcurl42 upgraded, 1 newly installed, 0 to remove and 99 not upgraded.Need to get 398 kB of archives.After this operation, 162 kB of additional disk space will be used.Get:1 http://us.archive.ubuntu.com/ubuntu focal-updates/universe amd64 apt-transport-https all 2.0.10 [1,704 B]Get:2 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 curl amd64 7.68.0-1ubuntu2.21 [161 kB]Get:3 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libcurl4 amd64 7.68.0-1ubuntu2.21 [235 kB]Fetched 398 kB in 4s (110 kB/s)Selecting previously unselected package apt-transport-https.(Reading database ... 112280 files and directories currently installed.)Preparing to unpack .../apt-transport-https_2.0.10_all.deb ...Unpacking apt-transport-https (2.0.10) ...Preparing to unpack .../curl_7.68.0-1ubuntu2.21_amd64.deb ...Unpacking curl (7.68.0-1ubuntu2.21) over (7.68.0-1ubuntu2.19) ...Preparing to unpack .../libcurl4_7.68.0-1ubuntu2.21_amd64.deb ...Unpacking libcurl4:amd64 (7.68.0-1ubuntu2.21) over (7.68.0-1ubuntu2.19) ...Setting up apt-transport-https (2.0.10) ...Setting up libcurl4:amd64 (7.68.0-1ubuntu2.21) ...Setting up curl (7.68.0-1ubuntu2.21) ...Processing triggers for man-db (2.9.1-1) ...Processing triggers for libc-bin (2.31-0ubuntu9.9) ...root@k8s-master:/home/vagrant# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -OKroot@k8s-master:/home/vagrant# cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list> deb https://apt.kubernetes.io/ kubernetes-xenial main> EOFdeb https://apt.kubernetes.io/ kubernetes-xenial mainroot@k8s-master:/home/vagrant# apt-get updateHit:1 http://us.archive.ubuntu.com/ubuntu focal InReleaseGet:2 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]Hit:3 http://us.archive.ubuntu.com/ubuntu focal-backports InReleaseHit:4 https://download.docker.com/linux/ubuntu focal InReleaseHit:5 http://security.ubuntu.com/ubuntu focal-security InReleaseIgn:6 https://packages.cloud.google.com/apt kubernetes-xenial InReleaseErr:7 https://packages.cloud.google.com/apt kubernetes-xenial Release404 Not Found [IP: 142.251.214.142 443]Reading package lists... DoneE: The repository 'https://apt.kubernetes.io kubernetes-xenial Release' does not have a Release file.N: Updating from such a repository can't be done securely, and is therefore disabled by default.N: See apt-secure(8) manpage for repository creation and user configuration details.
-
해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
kubeadm init 실패(+join할 때도 참고)
sudo kubeadm init명령어를 입력했는데 다음과 같은 에러가 발생합니다.ttasjwi20240228@master-1:~$ sudo kubeadm init [init] Using Kubernetes version: v1.29.2 [preflight] Running pre-flight checks error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR CRI]: container runtime is not running: output: time="2024-03-04T06:52:20Z" level=fatal msg="validate service connection: validate CRI v1 runtime API for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService" , error: exit status 1 [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...` To see the stack trace of this error execute with --v=5 or higher이런 문제가 발생하네요. 검색해보면 2020년 containerd github에 이런 증상에 관한 이슈가 올라와져있습니다.https://github.com/containerd/containerd/issues/4581이 이슈의 답변에는 이런 내용이 있습니다.containerd.io 패키지에 의해 설치된 config.toml 파일에는 disabled_plugins = ["cri"]라는 줄이 있는데, 이것이 문제를 일으킨 것으로 보입니다. 이 문제를 해결하려면 다음 명령을 실행하시면 됩니다.sudo rm /etc/containerd/config.toml sudo systemctl restart containerd sudo kubeadm init혹시 워커노드에서 join할 때도 동일한 문제 생기면sudo rm /etc/containerd/config.toml sudo systemctl restart containerd이 명령을 워커노드에 입력해봅시다
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
2024년 3월 4일 기준 설치
아래에 23년 당시 설치방법을 올리신 분의 것으로도 잘 안 되서... 그 사이에 또 바뀌었나 싶어서 노션 링크의 공식 문서를 보고 따라했습니다만 apt 명령으로 kubelet, kubeadm, kubectl이 설치가 안 되는 문제가 있습니다. 노션 링크의 공식문서는 한국어 문서였고, 최신화가 안 되어있던 것입니다. 영어 문서를 봐야합니다. 현재 공식문서에서는 이런 말이 나와있습니다. Note: The legacy package repositories (apt.kubernetes.io and yum.kubernetes.io) have been deprecated and frozen starting from September 13, 2023. Using the new package repositories hosted at pkgs.k8s.io is strongly recommended and required in order to install Kubernetes versions released after September 13, 2023. The deprecated legacy repositories, and their contents, might be removed at any time in the future and without a further notice period. The new package repositories provide downloads for Kubernetes versions starting with v1.24.0.apt.kubernetes.i and yum.kubernetes.io레거시 패키지 리포지토리 deprecatedapt.kubernetes.io and yum.kubernetes.io2023년 8월 13일 이후 릴리즈되는 새로운 쿠버네티스 버전을 설치하기 위해서는 새로운 패키지 리포지토리를 써라http://pkgs.k8s.io새로운 패키지 리포지토리는 1.24.0 ~ 이후의 버전을 지원 이런 내용이 한국어 문서에는 반영이 안 됐습니다. 해당 문서에서는 1.29.0을 설치하기 위해 다음을 하라고 합니다. apt 패키지 인덱스를 업데이트하고 Kubernetes apt 저장소를 사용하는 데 필요한 패키지를 설치하십시오: sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gpg Kubernetes 패키지 저장소의 공개 서명 키를 다운로드하십시오. 모든 저장소에 동일한 서명 키가 사용되므로 URL에서 버전을 무시할 수 있습니다:(우분투 20.04에서는 sudo mkdir -p -m 755 /etc/apt/keyrings 명령어를 입력해야합니다)# If the folder `/etc/apt/keyrings` does not exist, it should be created before the curl command, read the note below. # sudo mkdir -p -m 755 /etc/apt/keyrings curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg 적절한 Kubernetes apt 저장소를 추가하십시오. 이 저장소에는 Kubernetes 1.29에 대한 패키지만 있으므로, 다른 Kubernetes 마이너 버전을 사용하는 경우 URL에서 Kubernetes 마이너 버전을 원하는 버전에 맞게 변경해야 합니다(설치할 Kubernetes 버전의 문서를 읽고 있는지도 확인해야 합니다).# This overwrites any existing configuration in /etc/apt/sources.list.d/kubernetes.list echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list apt 패키지 인덱스를 업데이트하고 kubelet, kubeadm 및 kubectl을 설치하고 버전을 고정하십시오:sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl 결론바로 위 내용을 그대로 적용하신다면 아래 내용을 복사 붙여넣기 하시면 돼요. cat <<EOF > kube_install.sh # /etc/apt/keyrings 폴더 생성 및 권한 부여 sudo mkdir -p -m 755 /etc/apt/keyrings # 1. apt 패키지 색인을 업데이트하고, 쿠버네티스 apt 리포지터리를 사용하는 데 필요한 패키지를 설치한다. sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gpg # 2. 구글 클라우드의 공개 사이닝 키를 다운로드 한다. sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg # 3. 쿠버네티스 apt 리포지터리를 추가한다. echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list # 4. apt 패키지 색인을 업데이트하고, kubelet, kubeadm, kubectl을 설치하고 해당 버전을 고정한다. sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl EOF sudo bash kube_install.sh kubeadm version실행 후 버전 확인을 해보시면 됩니다 지금 자료는 2024.03.04 기준 공식문서(영어<- 중요) 자료고내일 당장 바뀔 수도 있습니다. 제가 지금 올린 내용을 믿으시지 마시고 일단 먼저 공식문서 (영어 <- 중요)를 참고하세요!
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
키보드 소리가 너무커요
강의인데키보드 소리가 너무 커서거슬려요조용한 키보드좀 써서 찍으면 안될까요?
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
강의 스크립트 받을 수 있을까요?
안녕하세요.강의 스크립트(자막)을 받을 수 있을까요?제공되는 노트는(pdf)는 온라인 강의 목차정도만 있고 실제 내용은 강의에서 말로 설명으로 지나가서, 노트 정리를 다시 하려고 하니 영상을 계속 앞뒤로 돌리면서 자막을 보고 있습니다.챕터별 강의스크립트를 별도로 받을 수 없을까요?스크립트를 읽고 영상 강의를 듣는 게 정리하는 데 도움이 될 것 같아 문의 드립니다.
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
AWS VPC CNI의 ENI에서 질문이 있습니다.
안녕하세요 강의 잘 음미하고 있습니다." Core DNS파드 배포시에 ENI slot에 Secondary IP가 전부 차 있는 것을 확인하고(실제로 파드가 사용은 안하고 있지만 L-IPAM의 warm pool에서 할당만 받은 상태) 이후 slot이 가득 차 있으므로 새로운 ENI를 생성한다. 따라서 2개의 ENI가 생긴다. " 라고 말씀해 주셨습니다.그래서 노드 셀렉터걸어서 Core DNS 있는 노드에 배포해 봤는데, 첫 파드 생성 시에만 저 규칙(ENI 생성)이 적용되고, 계속해서 규칙대로 ENI가 생성되는 것은 아니고 기존 ENI 2개에 있는 Secondary IP를 가져다 쓰더라구요. 당연히 계속 ENI를 생성하는 건 비용 측면이나 네트워크 측면이나 비효율적이니 그러려니 싶겠는데, 노드에 첫 파드 생성 시에(aws-node, kube-proxy 제외)는 왜 항상 ENI가 1개는 추가로 생성되면서 시작하게 되는건가요? 그냥 ENI에 남은 IP가 있는데 쓰면 되지 않을까요? 감사합니다. 수업 내용이 꽤나 딥다이브해서 이게 이거구나 할 때가 많아서 좋습니다. ㅎㅎ
-
미해결대세는 쿠버네티스 (초급~중급편)
kubernetes dashboard v2.7.0 인증서 등록에서 문제
dash board 접근 시,https://192.168.64.30:6443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login{ "kind": "Status", "apiVersion": "v1", "metadata": { }, "status": "Failure", "message": "services \"https:kubernetes-dashboard:\" is forbidden: User \"system:anonymous\" cannot get resource \"services/proxy\" in API group \"\" in the namespace \"kubernetes-dashboard\"", "reason": "Forbidden", "details": { "name": "https:kubernetes-dashboard:", "kind": "services" }, "code": 403 }해당 오류가 발생합니다 권한 문제 같은데.... 인증서도 정상적으로 신뢰함으로 동작하고 있습니다!
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
ssh 접속 오류 kex_exchange_identification: read: Connection reset by peer
안녕하세요. SSH Sever설치 강의 내용중 hub.docker.com에서 edowon0623/docker 이미지파일을 다운받았습니다.아래와 같은 명령어로 docker 실행을 했고요.docker run --privileged --name docker-server -itd -p 10022:22 -p 8081:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup edowon0623/docker:latest /usr/sbin/init이후에 ssh에 접속하려할때 아래와 같은 오류가 발생됩니다.ssh root@localhost -p 10022kex_exchange_identification: read: Connection reset by peerConnection reset by ::1 port 10022 제 노트북 환경은MacBook Pro intel Core i5macOS Sonoma 14.1.2 입니다. 도커는 정상적으로 아래와 같이 실행되고 있습니다.work % docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES3f2373fa24ca edowon0623/docker:latest "/sbin/init systemct…" 8 seconds ago Up 5 seconds 0.0.0.0:10022->22/tcp, 0.0.0.0:8081->8080/tcp docker-servercfe2dfbf08c6 jenkins/jenkins:lts-jdk17 "/usr/bin/tini -- /u…" 5 weeks ago Up About a minute 0.0.0.0:8080->8080/tcp, 0.0.0.0:60000->60000/tcp, 50000/tcp jenkins-server
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
Secondary ENI 관련 질문드립니다.
안녕하세요 수강생입니다. 다른 분들은 다 이해하셨겠지만, 순전히 궁금해서 질문드립니다.VPC CNI 강의에서 노드에 ENI가 있고 슬롯개수따라 Secondary IP를 가지고 해당 Secondary IP는 Pod에 부여된다. 그리고 Secondary IP가 부족하면 Secondary ENI를 추가한다.로 이해했습니다. 그 후 강의 중 '기본 네트워크 환경 강의(1),(2)'에서 'coredns는 노드 수에 상관없이 두개의 노드에 스케줄링된다.' 했을 때, 두개의 노드에 대해서 처음부터 Secondary ENI가 있는건 coreDNS로 인해 POD가 늘어났기 때문이고 이로 인해, 노드 3의 경우는 새로운 POD가 스케줄링 될 때 Secondary ENI가 부여됐다고 이해했습니다. 여기서 제가 궁금한게... 그렇다면, 이전에 Secondary IP는 다 부여가 되었으니 새로운 ENI를 할당한거라고 생각하는데...그 Secondary IP들은 다 어디에 부여된걸까요...? POD는 owide로 확인해봐도 부여된게 안보이는데 궁금해서 여쭤봅니다. 다른 컴포넌트에 부여가 되는건지 아니면 강의에서 얘기했을 수도 있는데 제가 앞부분이라서 못들은거라면, 해당 내용에 대한 세션 좀 확인 부탁드립니다. 감사합니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
access. jenkins가 안됩니다
포트를 8083으로 설정하고 localhost:8083 으로 들어가도 페이지가 작동하지 않는다고 뜨네요..8080 포트를 lsof -i tcp:8080으로 조회해서 kill -9 으로 해도 자꾸 사용중이라고 뜹니다. docker run -d -p 8083:8083 -p 50000:50000 --name jenkins-server --restart=on-failure jenkins/jenkins:lts-jdk11 으로 실행하면 안되는건가요??
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
강사님 sysconfig/docker파일을 열면 내용무? vi /etc/sysconfig/docker로 열면 내용이 없는데 어떻게 된 것인가요? 어떻게 해결해야 하나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
강사님 파일이 없다고 하네요 파일 스크린 샷이라도 올려주세요 수동으로 받아 적게 sed: can't read /etc/sysconfig/docker-storage: No such file or directory
sed: can't read /etc/sysconfig/docker-storage: No such file or directory 이런 error 가 뜨네요 파일이 없다는데 어떻하죠? 저 말고도 다른 수강생들도 생기는 문제인거 같은데 확인 부탁합니다 파일 내용이라도 올랴주시면 수동으로 받아 적겠습니다
-
미해결공인 쿠버네티스 자격증 잘 준비하는 법 (CKA, CKAD, CKS)
프로그래밍을 할줄 알아야 쿠버네티스를 공부할 수 있을까요?
강사님 안녕하세요.쿠버네티스를 공부하려고 하는데요.개발자는 아니고 인프라 관련 직종에서 일하고 있습니다.쿠버네티스를 공부하려면 프로그래밍을 할 줄 알아야 할까요? 답변 기다립니다.