묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결초보자도 딱 10일만에 쿠버네티스 감 잡기
라이브 방송은 지나간것은 다시 못보나요?
진도가 좀 늦어서 그러는데 라이브 방송은 나중에라도 다시 볼수 없나요? ㅠ
-
미해결대세는 쿠버네티스 (초급~중급편)
mac m시리즈 설치과정
m4 mac mini로 k8s 구성을 따라했는데namespace kubernetes-dashboard의 모든 파드와 kube-system namespace에 coredns 2개의 파드 그리고 metrics파드가 pending상태로 지속되고 node들은 전부 notready상태에서 멈춰있습니다 처음에는 제가 구성을 잘못했나 싶어서 utm에 vm을 지웠다가 다시 구성하기를 반복했는데 할때마다 똑같이 안되어서 질문드립니다
-
미해결대세는 쿠버네티스 (초급~중급편)
안녕하세요!! 강사님 혹시 RBAC 관련 내용도 강의에있나요..?
안녕하세요!! 강사님 혹시 RBAC 관련 내용도 다른 강의에있나요..?
-
미해결초보자도 딱 10일만에 쿠버네티스 감 잡기
라이브 채팅 오류
안녕하세요!! 챌린지 참여하고 있는 수강생입니다! 오늘 라이브도 넘 유익했습니다! 제가 퇴근이 늦어져서 모바일로 참여했는데 이게 플랫폼 문제인지 채팅이 잘 전송이 안되더라구요ㅠㅠ (다른 참여하신 분들도 비슷한 문제를 겪고 채팅이 잘 안되지 않았을까 싶어요!) 라이브때 꼭 여쭤보고 싶은 질문이 있었는데 여기에 남겨봅니다 ㅎㅎ- 10일간의 챌린지 과정 이후에 어떤식으로 쿠버네티스 관련 학습을 이어나가면 좋을까요?- 현재 실무에서 AWS ECS 기반으로 컨테이너를 배포 및 관리하고 있는데 아직은 기초 부분만 배워서 그런걸 수 있지만 아직 가진 비슷한 기능 위주더라구요! 어느점이 가장 차이가 크고 (EKS 등의 쿠버네티스 기반과 비교해서) 그리고 어느 시점에 EKS로 마이그레이션이 필요해지는 시점이라고 생각하시는지 궁금합니다 :)
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
온프레미스 환경에 쿠버네티스도입
안녕하세요현재 회사에서 IDC 온프레미스환경에 쿠버네티스 도입하기로 결정되었습니다.다만 인프라관련 인원이 없는상황이라 어쩔수없이 주니어인 제가 당장 인프라 구조를 구축해야하는데 쿠버네티스가 어려운 기술이다보니 당장 도입하기보다 공부하고 점진적 도입을 하려는데도커로 먼저 시스템을 서버에 배포해놓고 추후에 쿠버네티스를 점진적으로 도입이 유연하게 되는지 궁금합니다. 또한 DBMS올리는건 로컬과 컨테이너 중 보통 어느곳에 올리실까요?
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
이미지가 없다고 에러가 계속 떠요
apiVersion: v1 kind: Pod metadata: name: spring-pod spec: containers: - name: spring-container image: spring-server ports: - containerPort: 8080 imagePullPolicy: IfNotPresentspring-pod.yaml파일을 작성을 한뒤 kubectl delete pod spring-pod 명령어로 pod를 삭제하고kubectl apply -f spring-pod.yaml 명령어를 입력했는데 계속 사진처럼 ErrImagePull이 됩니다.이미지를 pull로 당겨오지 못해서 발생하는 오류인것 같은데 이미지는 있는것으로 확인 됩니다. 뭐가 문제인걸까요?
-
미해결대세는 쿠버네티스 (초급~중급편)
Authorization RoleBinding 질문있습니다.
안녕하세요 Authorization RoleBinding 실습 강의를 수강하던 중 질문이 있어 글 남깁니다. https://cafe.naver.com/kubeops/525※ 앞 시간에 생성해 놓은 Namespace(nm-01), Pod(pod-1), ServiceAccount(default), Secret(nm-01) 그대로 사용해당 게시글에서 와 같이 nm-01, pod-1, serviceAccount, Secret 를 생성해둔 상태에서 Role , RoleBinding 을 생성하였습니다.생성한 내용은 예제에 나와있는 내용을 그대로 복사했습니다. 쿠버네티스 대시보드 -> Secret 를 가보니 네임스페이스 (=nm-01) 에 대한 정보가 저장되어있고 실제로 해당 Secret 도 nm-01 에서 나온 정보가 맞습니다. 그래서 해당 Secret 에있는 Token 값을 이용하여 아래 API 를 호출했지만, 403 forbidden 에러가 발생하며 파드 정보가 조회되질 않습니다.https://192.168.56.30:6443/api/v1/nodes/namespaces/nm-01/pods 에러의 응답값은 아래와 같습니다.{ "kind": "Status", "apiVersion": "v1", "metadata": {}, "status": "Failure", "message": "nodes \"namespaces\" is forbidden: User \"system:serviceaccount:nm-01:default\" cannot get resource \"nodes/nm-01\" in API group \"\" at the cluster scope", "reason": "Forbidden", "details": { "name": "namespaces", "kind": "nodes" }, "code": 403 }에러 내용을 보면 API Group 내의 nodes/nm-01 정보를 조회할수 없다고 나오는 것 같은데 어떤 부분이 문제인지 파악이 어렵습니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
SealedSecret 관련 궁금증.
강사님 안녕하세요. 잘 배우고 있습니다. 강의를 보다가 든 생각인데 실제로 Secret을 현업에서 관리하게 될 때는 아래와 같은 구조로 이뤄질 것 같은데 맞나요?신규 피쳐에 새로운 시크릿이 필요하다. 개발자가 devops 팀에 추가를 요청한다.devops 에서 마스터 노드로 접근하여 kubectl 을 통해 secret 을 생성한다.해당 사항을 개발자가 노티 받고, 배포를 진행한다.SealedSecret이라는 걸 알게 되었는데, 이걸 이용하면 개발자가 직접 추가할 수도 있고, git에도 비대칭 암호화된 값이 남아 안전하다고 합니다. 보통 SealedSecret 방식을 적용하여 프로젝트를 운영하나요, 아니면 책임 관리 소재에서 저 과정을 거치나요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
vagrant up 사용 시 The SSH connection was unexpectedly closed by the remote end
[👍좋은 질문을 했을 때 좋은 답변이 돌아 옵니다]1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요.실습의 내용 그대로 따라가고있습니다2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다.Virtualbox, Vagrant 다시 삭제 후 재설치 하여도 동일한 문제가 발생합니다3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요.4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다. ssh로 접근은 가능하지만 현재 쿠버네티스가 깔려있지 않다고 나옵니다k get pods -A 이 명령어를 사용할 수 없어요5. 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)6. 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker 최신 버전 PGDATA 경로 설정 업데이트 소식 공유
강의에서 말씀하신 것처럼, postgres라고만 입력하면 최신 버전의 PostgreSQL이 실행됩니다.PostgreSQL 18 버전 이상부터는 데이터 디렉터리 경로가 기존의 /var/lib/postgresql/data에서/var/lib/postgresql/<버전>/docker 형태로 변경되었습니다.따라서 저는 현재 최신 버전인 PostgreSQL 18을 사용하고 있어서/var/lib/postgresql/18/docker 경로로 지정해야 오류가 발생하지 않았습니다.만약 PostgreSQL 17 이하 버전을 사용하신다면,강사님께서 안내해주신 기존 경로(/var/lib/postgresql/data)를 그대로 사용하시면 됩니다.아래 링크를 한 번 읽어보시면 도움이 될 것 같습니다.https://forums.docker.com/t/mysterious-docker-issue-with-postgres/149898/7https://github.com/docker-library/postgres/pull/1259
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
ec2 우분투 도커 설치 관련
안녕하세요 강사님좋은 강의 잘 듣고 있습니다이번 강의를 우분투 환경에서 진행해와서 도커 설치를 이미 했던 것처럼 공식 문서를 통해 다음과 같이 명령어를 작성하려고 했습니다.sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin하지만 강의를 따라오다보니 강사님께서 입력하신 명령어가 많이 달라 궁금한 부분이 생겼습니다sudo apt-get update && \ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && \ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \ sudo apt-key fingerprint 0EBFCD88 && \ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \ sudo apt-get update && \ sudo apt-get install -y docker-ce && \ sudo usermod -aG docker ubuntu && \ newgrp docker && \ sudo curl -L "https://github.com/docker/compose/releases/download/2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \ sudo chmod +x /usr/local/bin/docker-compose && \ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose명령어를 천천히 살펴보다가 몇 가지 궁금한 게 생겨서 질문드립니다공식 문서로 할때는 -o로 직접 저장을 했는데 강사님이 써주신 방식이 어떤 방식의 이점이 있는지, 실제로 업무에서 사용할 땐 아래 방식으로 써야하는지 궁금합니다sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asccurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \ sudo apt-key fingerprint 0EBFCD88 && 공식 문서 명령어를 사용할 때에는 compose나 docker ce 등을 간단하게 한번에 설치했습니다. 강사님 명령어를 살펴보니 다른 방식으로 github에서 받아오시는것 같고 추가적인 명령어도 더 들어가는데 어떤 장점 때문에 이 방식을 쓰시는지 궁금합니다감사합니다
-
해결됨비전공자도 이해할 수 있는 쿠버네티스 입문/실전
Deployment-service 연결 과정에서 오류..?
윈11에 docker desktop과 wsl 을 연동하여 쓰고 있습니다. 리눅스 명령어가 더 익숙해서.. 수업 내용대로 다 잘 따라했습니다. deployment, service, pod 모두 정상적으로 작동이 됩니다. 하지만 localhost:30000으로 접속시 연결 거부가 뜨고, kubectl port-forward service/spring-service 30000:8080 으로 직접적으로 포트 포워딩을 해준 후에야 localhost:30000이 접속이 됩니다. 어떻게 해야 포트 포워딩 작업 없이 바로 서비스에 접근 가능할까요..? 뭘 설정해야 하는지 모르겠습니다
-
해결됨개발자를 위한 쉬운 도커
postgresql-repmgr:15 지원 종료에 따른 대체 이미지 변경 질문드립니다!
안녕하세요, 이중화 DB 구성 파트 강의를 들으면서 실습을 진행하던 중 bitnami/postgresql-repmgr:15 이미지가 없어서 아래 이미지처럼 오류가 발생 중입니다.찾아보니 해당 이미지가 "더 이상 무료로 제공되지 않는다.", "Helm 차트에서 postgresql-ha를 설치해야 한다." 라고 나오더라구요.혹시 이를 대체할 이미지는 어떤 걸로 변경할 수 있는지 궁금합니다!
-
미해결대세는 쿠버네티스 (초급~중급편)
오타 확인을 하고 싶습니다
안녕하세요. 강사님강의내용에 덕분에 많은 도움을 얻고 있습니다. 질문1.강의수강중 오타가 아닌가 확인이 필요하여 질문드립니다. 강의 service-headless,endpoint, externalName 편의 9:40 쯤에 EndPoint내에 주소가 172.217.161.68(80) 으로 표현됐습니다. Github의 주소는 185.199.110.153(80) 으로 그림이 표현됐는데 둘을 일치시키도록 교안을 수정해야되는지 궁금합니다. 질문2.Pod Network는 20.96.0.0/12 으로 소개를 해주셨습니다. 실제 vagrant 소스에는 12가 아닌 16으로 되있고요.이 주소형식은 공인IP형식으로 보이는데 사설IP형식을 따르는 ServiceNetwork 10.96.0.0/12 와 달리 공인IP형식인 이유가 궁금합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
젠킨스 배포 질문
안녕하세요 젠킨스 설정을 따라해 보면서 궁금한게 생겨서 질문 드립니다. git actions를 사용해서 cicd 환경을 만들어본 경험이 있는데요, 이때는 레포지토리에 커밋내용이 푸시되면 이를 감지해서 자동으로 빌드가 되게끔 워크플로우를 작성했던 기억이 있습니다. 젠킨스에도 이러한 기능이 있는지 궁금합니다.
-
해결됨개발자를 위한 쉬운 도커
섹션 9. 레이어 관리에서 alpine OS 사용 관련 질문 있습니다!
안녕하세요! 섹션 9에 레이어 관리 파트 강의를 듣다가 궁금증이 생겨서 질문드립니다!이미지 크기를 줄이기 위해 최소한의 환경만 갖춰진(?) alpine OS를 사용한다고 이해했습니다.그러면 현업에서는 alpine OS를 사용한다고 가정할 때 해당 OS에 애플리케이션 실행에 필요한 구성이 전부 존재하는지, 어떤 프로그램들을 추가로 설치해야 하는지 확인하는 방법이 있는지 궁금합니다!
-
해결됨개발자를 위한 쉬운 도커
도커 가상 네트워크와 Stateless 특징 관련 질문
안녕하세요!처음 도커를 공부하는데 강의 너무 잘 듣고 있습니다.😀도커 가상 네트워크와 컨테이너 상태 부분을 들으면서 2가지 궁금한게 있어 질문 드립니다. 1.지금까지 스프링부트 애플리케이션을 개발하면서는 DB 접속 도메인을 고정으로 사용해도 되는 경우가 대부분이었는데, (로컬에서 h2 DB 사용 또는 aws rds 처럼 이미 도메인이 부여된 경우) 이런 백엔드 애플리케이션과 프론트엔드 애플리케이션을 같이 띄울때는 도커 dns 기능이 딱히 필요가 없어 보이는데 이런 경우에도 별도로 네트워크를 구성해서 띄우는게 좋을까요? 그냥 기본 bridge 네트워크를 사용하면 될까요?도커 가상 네트워크가 단지 dns 기능만을 위해서 사용되는건지, 하나의 애플리케이션에 필요한 서버 전체 구성을 묶어 주는 개념으로도 사용하는 것인지 궁금합니다. 2. 컨테이너의 Stateless 특징 중에“특정 컨테이너에 쌓인 파일들이 컨테이너의 동작에 영향을 주지 않기 때문에 서버를 지우고 다시 생성하거나 필요하지 않은 서버를 제거할 때 걱정 없이 제거 가능하다” 는 부분이 조금 모호하게 이해됩니다.이미지와 컨테이너를 사용하지 않더라도 서버의 변경 사항을 수정하고 재기동을 하면 이전 서버의 상태와 상관 없이 새로운 내용이 적용되는데, 어떤 차이점이 있는걸까요?여러대의 서버를 사용하는 환경에서 컨테이너를 사용하면 여러대의 서버가 동일한 상태를 가질 수 있다는것이 핵심인 것으로 이해하면 되는 내용인지 헷갈려서 질문 드립니다. 감사합니다 🙇♀
-
미해결개발자를 위한 쉬운 도커
우분투 설치
안녕하세요.우분투에서 설치 진행하고 싶은데,따로 챕터가 없는 거 같아서요.우분투 셋팅은 어떻게 진행할 수 있을까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
도커 볼륨 삭제후 복구방법
안녕하세요.좋은 강의 열심히 수강하고 있는 개발자 입니다. 강의를 수강하다 궁금한게 생겨 질문을 남기게 되었습니다. 만약, 실수로 볼륨을 삭제하게 된다면, 볼륨 파일을 다시 복구하는 방법이 있을까요??가령, 데이터베이스의 경우 commit 전이라면 rollback이 가능하듯명령어 실수 혹은 휴먼 에러로 불륨을 삭제하게 되었을시에 대응 방법도 궁금합니다. 감사합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
도커 볼륨 관련 질문
Docker로 MySQL을 올리다가 컨테이너가 계속 실패했는데,나중에 보니까 볼륨이 꼬여 있어서 삭제(docker volume prune) 후 해결됐습니다.볼륨이 꽉 차거나 꼬였을 때 컨테이너가 왜 바로 실패하는지,그리고 이런 문제를 실무에서는 어떻게 예방하는지 궁금합니다.