inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

Loki-Stack 실습 관련 질문

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

안녕하세요 loki 관련 실습중에 Home > Explore 에서 Label browser를 통해서 로그 조회 시 강의 영상에서 처럼 app 1.2.2.1 을 선택시 다음과 같은 문구가 나옵니다. 이전까지의 진행상황은 모두 정상적으로 따라왔는데 여기서 이렇게 나옵니다. 무슨 문제가 있는걸까요?

  • kubernetes
  • devops
  • argocd
  • container
  • helm
rdd0426 댓글 2 좋아요 1 조회수 101

Self-Healing 테스트 중 문의사항

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

안녕하세요 Self-Healing 테스트 중 Memory leak 을 위해서 다음 URL 호출 시 500 에러가 발생합니다. curl 192.168.56.30:31221/memory-leak <Error> {"timestamp":"2025-11-21T01:35:50.504+00:00","status":500,"error":"Internal Server Error","path":"/memory-leak"} </Error> 이후에 k8s Dashboard로 확인 시 영상과 같이 파드가 재시작 되는게 아니라 memory 사용량이 증가하고 파드가 4개까지 늘어나는데 다시 파드가 줄어들가나 메모리 사용량이 줄어들거나 하지를 않습니다.

  • kubernetes
  • devops
  • argocd
  • container
  • helm
rdd0426 댓글 2 좋아요 1 조회수 91

terraform destroy 로 s3 bucket을 삭제할 경우

해결됨

실무에서 사용중인 AWS 클라우드 IAM 이해와 보안

1. 무엇을 하고 싶으신가요? 해당 실습을 조금 더 빠르고 간편하게 재현하고 싶어서 s3 bucket과 안에 오브젝트 파일을 생성하는 부분까지 테라폼 코드로 프로비저닝 하였습니다. 강의를 보며 결과까지 모두 확인을 하였고, 이제 위 리소스들을 전부 destroy 하고 싶습니다. 2. 언제, 어떤 오류가 발생하시나요? terraform apply를 할 경우, Role 3개와 버킷, 버킷 정책, 오브젝트 파일 총 6개의 리소스가 생성됩니다. terraform state list를 통해 관리 대상을 확인해보아도 6개의 리소스를 확인할 수 있습니다. 그런데 terraform destroy 명령을 수행할 경우 버킷을 제외한 5개의 리소스만 삭제 플랜에 출력되는 것을 확인하였고 이대로 진행할 경우 결국 empty한 s3 bucket만 남아 따로 cli 명령이나 콘솔에서 삭제를 해주어야합니다. 3. 어떤 시도를 해보셨나요? 내부 오브젝트 파일 때문이라는 가설을 세우고 force_destroy = true 속성을 true로 지정하였지만 버킷 내부 객체까지만 삭제되었고 버킷은 삭제되지 않습니다. 이후 권한 문제라는 가설을 세워보았지만 s3 액세스 정책을 deny 기반으로 ListBucket을 지정하였기 때문에 해당 가설도 기각하였습니다. 4. 작성한 코드를 공유해주세요. data "aws_caller_identity" "this" {} # IAM Role resource "aws_iam_role" "this" { count = 2 name = "thbins-${count.index}" path = "/dev/" assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = "sts:AssumeRole" Effect = "Allow" Principal = { # AWS = "${data.aws_caller_identity.this.arn}" AWS = "arn:aws:iam::${data.aws_caller_identity.this.account_id}:root" } }, ] }) managed_policy_arns = ["arn:aws:iam::aws:policy/AdministratorAccess"] } resource "aws_iam_role" "this2" { name = "thbins-2" path = "/" assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = "sts:AssumeRole" Effect = "Allow" Principal = { # AWS = "${data.aws_caller_identity.this.arn}" AWS = "arn:aws:iam::${data.aws_caller_identity.this.account_id}:root" } }, ] }) managed_policy_arns = ["arn:aws:iam::aws:policy/AdministratorAccess"] } # S3 variable "bucket_name" { description = "S3 bucket name (must be globally unique)" type = string } resource "aws_s3_bucket" "test" { bucket = var.bucket_name force_destroy = true # 버킷 안에 객체를 생성하기 때문에 해당 속성을 true로 지정한다. } data "aws_iam_policy_document" "test_bucket" { statement { sid = "Statement1" effect = "Deny" principals { type = "AWS" identifiers = ["*"] } actions = [ "s3:ListBucket", ] resources = [ aws_s3_bucket.test.arn, "${aws_s3_bucket.test.arn}/*", ] condition { test = "StringNotLike" variable = "aws:PrincipalArn" values = [ # 여기서 account_id를 하드코딩하지 않고 자동으로 맞춰줌 "arn:aws:iam::${data.aws_caller_identity.this.account_id}:role/dev/*", ] } } } resource "aws_s3_bucket_policy" "test" { bucket = aws_s3_bucket.test.id policy = data.aws_iam_policy_document.test_bucket.json } resource "aws_s3_object" "test_file" { bucket = aws_s3_bucket.test.id key = "test_success.txt" content = "This is a test file for IAM path-based S3 access demo.\n" # 선택: 텍스트 파일임을 명시 content_type = "text/plain" }

  • aws
  • Terraform
  • devops
  • devsecops
  • iam
taeho Kim 댓글 1 좋아요 1 조회수 78

설치관련 질문입니다

미해결

대세는 쿠버네티스 (초급~중급편)

회사 노트북으로 실습 환경을 꾸려서 여유있는 시간에 쿠버네티스 공부를 하고자 하는데 아무래도 회사 네트워크 보안 문제로 github에서 raw 다운로드 기능이 막혀있는 것 같습니다 강제로 일프로님 github에서 스크랩을 가져와서 텍스트 파일을 만들어서 vagrant 설치를 진행해보긴 했는데 master 노드는 만들어졌는데 worker노드는 생성되지 않았고 raw.githubusercontent.com 경로가 포함된 파일들도 못가져오는 듯하고 ssh관련 문제도 있어서 그런지 정상적인 설치가 안되더라구요 제가 일일히 수동적으로 설치를 진행해 보고 싶은데 vagrant 파일 스크랩만 보고 설치하기에는 제가 아직 지식이 부족해서 좀 더 쉬운방법이 있을까요? 리눅스관련 명령어를 그냥 타이핑해서 하는 건 어렵지 않지만 초기 세팅이나 프로그램의 특정 버전이라던지 어떤 거를 써야할지 잘 모르겠고 github에서 파일을 가져오지 못하는 경우 어떻게 해야할지 잘 모르겠어서 다른 방법이 있는지 궁금합니다 혹시나 설치 시에 생긴 로그가 필요하시다면 보내드리겠습니다

  • docker
  • kubernetes
  • devops
  • container
rjsgml5694 댓글 2 좋아요 1 조회수 134

영상 내용과 강의 자료가 상이해서 강의 듣기가 짜증납니다.

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

영상에서 보여주는 쿠버네티스가 정말 편한이유 이런 게시글이 카페에서 찾기가 어려워요 경로나 정확한 제목으로 안내를 해주셨으면 좋겠어요.

  • kubernetes
  • devops
  • argocd
  • container
  • helm
김현민 댓글 2 좋아요 0 조회수 162

스프링부트에 엘라스틱서치 연결하기

미해결

실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)

안녕하세요 선생님 해당강의를 들을때 프로젝트에대한부분이 건너띄워져서 설명되어있어 다시한번 여쭤봅니다. 이전에 만든 프로젝트에 applocation.yml을 그냥 붙여넣으면 되는건가요? 아니면 해당 프로젝트는 새로 생성해서만드는건가요?

  • spring-boot
  • elasticsearch
  • devops
  • elk
  • infrastructure
댓글 2 좋아요 0 조회수 151

표준출력과 표준에러출력

미해결

비전공자도 이해할 수 있는 리눅스 입문/실전

안녕하세요 표준출력 강의를 듣다보니 기존파일을 삭제하지 않고 표준출력과 표준에러출력을 같은파일로 리다이렉션은 내용은 나오지않아서 ex) ls >> all.txt 2>>&1 이런식으로 했더니 작동을 하지않는데 어떻게 해야하나요?

  • linux
  • shell-script
  • ubuntu
  • devops
  • infrastructure
Namkyu Cho 댓글 2 좋아요 0 조회수 106

raw.githubusercontent.com 에 대한 질문

미해결

대세는 쿠버네티스 (초급~중급편)

안녕하세요. 강사님 실습을 따라할 때 아래와 같은 명령문에 출처를 알 수 없는 url이 들어있습니다. Longhorn 설치 명령문 kubectl apply -f https://raw.githubusercontent.com/kubetm/kubetm.github.io/master/yamls/longhorn/longhorn-1.5.0.yaml 공식문서의 명령문이 아닌 강사님께서 운영하고 계신 블로그의 주소인것 같습니다. helm강의에서도 https://raw.githubusercontent.com/ 도메인이 자주 나오는데 강사님께서 작성하신 yaml에 대한 링크를 직접 타고들어가 학습을 위해 분석하는 작업도 필요한지 궁금합니다.

  • docker
  • kubernetes
  • devops
  • container
창신동 장첸 댓글 2 좋아요 1 조회수 198

worker노드 추가시에

미해결

대세는 쿠버네티스 (초급~중급편)

https://cafe.naver.com/kubeops/496 안녕하세요. mac m1 사용중입니다 master 노드 설치후에 worker1설치중입니다 아래 과정 설치중인데 yum install시 타임아웃이 발생하는거 같습니다. 외부통신이 안되는거 같은데.. 도움 주실 수 있나요~ echo '======== [4] Rocky Linux 기본 설정 ========' echo '======== [4-2] 타임존 설정 ========' timedatectl set-timezone Asia/Seoul echo '======== [4-3] [WARNING FileExisting-tc]: tc not found in system path 로그 관련 업데이트 ========' yum install -y yum-utils iproute-tc

  • docker
  • kubernetes
  • devops
  • container
Jin Yu 댓글 1 좋아요 1 조회수 76

젠킨스 구축 9단계 오류

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

컨테이너 빌드 중 오류가 생기는데요 #0 building with "default" instance using docker driver #1 [internal] load build definition from Dockerfile #1 transferring dockerfile: 404B 0.0s done #1 DONE 0.1s #2 [internal] load .dockerignore #2 transferring context: 2B done #2 DONE 0.2s #3 [internal] load metadata for docker.io/library/openjdk:17 #3 ERROR: docker.io/library/openjdk:17: not found ------ > [internal] load metadata for docker.io/library/openjdk:17: ------ Dockerfile:1 -------------------- 1 | >>> FROM openjdk:17 2 | COPY ./app-0.0.1-SNAPSHOT.jar /usr/src/myapp/app.jar 3 | ENTRYPOINT ["java", "-Dspring.profiles.active=${spring_profiles_active}", "-Dapplication.role=${application_role}", "-Dpostgresql.filepath=${postgresql_filepath}", "-jar", "/usr/src/myapp/app.jar"] -------------------- ERROR: failed to solve: openjdk:17: docker.io/library/openjdk:17: not found Build step 'Execute shell' marked build as failure Finished: FAILURE -------------------- openjdk:17 를 이제 공식 지원 안하는것 같은데 맞을까요 ? 만약 맞다면 혹시 fork 해온 스크립트에서 관련 부분 다 바꾸고 지원되는 jdk 17로 수정하는 작업을 하는게 맞을까요 ? ssh 에서도 와 같이 pull 을 못해오는것 같아서 질문 남겨봅니다.

  • kubernetes
  • devops
  • argocd
  • container
  • helm
kkkkkk 댓글 3 좋아요 1 조회수 124

worker node에 대해서

해결됨

쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)

안녕하세요 강사님. 저는 sprint 1,2를 수강했고 3을 수강 중에 쿠버네티스 관련 서적을 발견해 읽어보며 공부하고 있습니다. worker-node 는 중요하지 않나요 ? kubelet는 pod spec을 받아서 cri로 컨테이너 실행을 담당한다, 스케줄링 관리한다, 로 이해했는데 아직까진 워커 노드에 대한 개념이 없어서, 실무에서는 깊게 파고 들어야 사용하는 것이다 (굳이 안써도 되지만 쓰면 더 효율적이다?) 인 것일까요?? sprint 4나 대세는 쿠버네티스를 봐야 이해가 될까요? 블로그에 https://cafe.naver.com/kubeops/496 이부분이 있길래 문의드립니다 ! gke관련 저는 클라우드 경험 없는, 온프레미스 경력만 있는 웹 개발자입니다. 그러다 보니 이해를 못했는 이슈인 것 같은데, 구인 사이트를 보면 종종 devops를 클라우드 + 온프레미스를 같이 진행하는 공고를 많이 봤습니다. 그런 경우에는 데이터를 어떻게 관리를 할까요? 온프레미스같은 경우에는 pv로 진행을 하면 되지만, 클라우드는 자체 pvc가 있어서 같은 폴더에서 관리하면 수기로 작성한 pvc파일이 먹혀서 작동하지 않더라고요 . (같은 곳에서 관리를 하니, 온프레미스에서 셋팅한 pvc를 자꾸 무시합니다.) 그리고 volum을 공유하지 못한다고 알고 있는데 데이터는 어떻게 관리할까요 ?? (업무적인 것이 아니라 개인 공부중입니다 ..) [ 👍 좋은 질문을 했을 때 좋은 답변이 돌아 옵니다] 1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요. 2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다. 3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요. 4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다. 5. 긴 로그는 제 메일로 보내주세요. ( k8s.1pro@gmail.com ) 6. 카페 [ 강의 자료실 ]에도 많은 질문과 답변들이 있어요!

  • 네트워크
  • kubernetes
  • devops
  • infrastructure
  • container
Dasom Yi 댓글 2 좋아요 1 조회수 93

실습환경 네트워크 끊김 및 느린 속도 관련 질문

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

mobaxterm 에서 가끔 Network error: Connection timed out 이런 에러나는것과 cpu 100 % 뜨는것이 일반적일까요 ? 아니면 혹시 cpu 랑 상관없이 ram 문제일까요 ? 16.0 GB이고 cpu 는 16 코어 입니다

  • kubernetes
  • devops
  • argocd
  • container
  • helm
kkkkkk 댓글 2 좋아요 1 조회수 114

mac m시리즈 설치과정

미해결

대세는 쿠버네티스 (초급~중급편)

m4 mac mini로 k8s 구성을 따라했는데 namespace kubernetes-dashboard의 모든 파드와 kube-system namespace에 coredns 2개의 파드 그리고 metrics파드가 pending상태로 지속되고 node들은 전부 notready상태에서 멈춰있습니다 처음에는 제가 구성을 잘못했나 싶어서 utm에 vm을 지웠다가 다시 구성하기를 반복했는데 할때마다 똑같이 안되어서 질문드립니다

  • docker
  • kubernetes
  • devops
  • container
Meowl 댓글 3 좋아요 1 조회수 132

Kafka 음성메세지 브로커로도 적합한가요?

미해결

실전에서 바로 써먹는 Kafka 입문

회사에서 realtime 음성 인식기 구현할 일이 생겼는데, 음성의 청크 단위 큐를 어떤식으로 관리하는지 찾아보다가 kafka 를 알게되어서요. 10~50명 정도의 동시접속자라고 한다면 어떤방식을 사용해야하는지 궁금합니다.

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
Mia 댓글 2 좋아요 0 조회수 100

온프레미스 환경에 쿠버네티스도입

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

안녕하세요 현재 회사에서 IDC 온프레미스환경에 쿠버네티스 도입하기로 결정되었습니다. 다만 인프라관련 인원이 없는상황이라 어쩔수없이 주니어인 제가 당장 인프라 구조를 구축해야하는데 쿠버네티스가 어려운 기술이다보니 당장 도입하기보다 공부하고 점진적 도입을 하려는데 도커로 먼저 시스템을 서버에 배포해놓고 추후에 쿠버네티스를 점진적으로 도입이 유연하게 되는지 궁금합니다. 또한 DBMS올리는건 로컬과 컨테이너 중 보통 어느곳에 올리실까요?

  • kubernetes
  • devops
  • argocd
  • container
  • helm
it 댓글 1 좋아요 1 조회수 128

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 정보를 조회할수 없다고 나오는 것 같은데 어떤 부분이 문제인지 파악이 어렵습니다.

  • docker
  • kubernetes
  • devops
  • container
댓글 2 좋아요 1 조회수 39

재시도조차 실패한 메시지 사후 처리하기

미해결

실전에서 바로 써먹는 Kafka 입문

재시도조차 실패한 메시지들은 dlt 로 이동하게 되고 이 메시지들에 대한 처리를 위해 @KafkaListner 를 사용해서 처리하는 방법을 보여주셨는데요. 리서치를 하다보니 @DltHandler 기능이 있는걸 알게됐습니다. dlt 를 처리한다는 부분에서 @DltHandler 가 좀 더 어울릴거 같은 느낌인데 @KafkaListener 로 처리하신 특별한 이유가 있으실까요?

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
writer0713 댓글 2 좋아요 1 조회수 133

retry 시 동작과정 질문

미해결

실전에서 바로 써먹는 Kafka 입문

kafka @RetryableTopic 에 대해 알아보다보니 궁금한점이 생겨 질문 드립니다. @RetryableTopic 가 없어도 retry 는 기본적으로 진행하는거 같은데요. 제가 알아본 바로는 아래와 같은 차이점이 있는것 같았습니다. @RetryableTopic 을 사용하지 않으면 'dlt' 로 메시지가 이동되지 않는다. @RetryableTopic 을 사용하면 'dlt' 토픽이 없는 경우 자동으로 만들어주고 dlt 토픽으로 메시지를 이동시켜준다. @RetryableTopic 을 사용하지 않으면 재시도는 하지만 재시도동안에는 partition 을 blocking 한다 (= 블로킹). @RetryableTopic 을 사용하면 재시도 하기전에 retry 토픽으로 이동시키고 consumer 의 스레드를 blocking 하지 않고 별도 스레드에서 retry 를 진행한다. (= 논블로킹) 강좌에서는 retry 중에는 partition 이 blocking 된다고 하셨는데, 그 부분과 좀 다른거 같아서 문의 드립니다..! 만약 @RetryableTopic 이 논블로킹으로 별도 스레드에서 진행이 된다면 순서보장이 안되는거라서 순서보장이 필요하다면 이걸 사용하면 안되는게 아닌가 싶습니다.

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
writer0713 댓글 2 좋아요 0 조회수 158

JsonSerializer & JsonDeserializer

미해결

실전에서 바로 써먹는 Kafka 입문

예제에서는 StringSerializer 와 StringDeserializer 를 사용하도록 설정하고 ObjectMapper 를 통해 직렬화/역직렬화를 해주셨는데요. 혹시 JsonSerializer 와 JsonDeserializer 를 사용하지 않는 이유가 있을까요? 그리고, JsonDeserializer 를 사용하든 StringDeserializer 를 사용하든 역직렬화를 할 때 실패하게 되면 offset commit 이 되지 않고 재시도를 하는동안 해당 message 의 partition 은 blocking 된다고 이해하고 있는데 맞을까요? 이 경우에도 retry 이후, 해결 안되면 dlt topic 으로 이동하는게 맞을까요?

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
writer0713 댓글 2 좋아요 0 조회수 104

인기 태그

인프런 TOP Writers

주간 인기글