안녕하세요. 질문을 한 번 더 드리게 되었습니다. 현재 argocd image updater를 이용해서 최신 이미지를 자동 감지 후 배포되도록 정상적으로 동작중입니다. 그런데 자동 배포하면서 기존의 이미지가 적용된 pod는 삭제되고 있지만, replicaSet은 남아있습니다. application에서 AUTOMATED, PRUNE RESOURCES, SELF HEAL 은 모두 enable 해두었습니다만, 이미지가 적용된 리소스는 잘 삭제되어도 ReplicaSet은 찌꺼기가 남아있습니다. test-54896bb5cd 1 1 1 11m test-69f64c56f9 0 0 0 20d 최신 이미지로 파드가 배포되고 난 이후, 구이미지의 파드와 함께 구 replicaSet 도 삭제되도록 설정하는 방법이 있을까요?
안녕하세요, 수강중인 학생입니다. 3.upload.py 부터 코드가 제대로 동작하지 않습니다. raise RemoteDisconnected("Remote end closed connection without" http.client.RemoteDisconnected: Remote end closed connection without response 이런 내용으로 인해 글이 올라가지 않는데 원인이 무엇일까요?
public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); System.out.println("zzzzzzzzzzzzzzzzzzzzzzzzzzzz"); //비영속 try{ Team teamA = new Team(); teamA.setName("teamA"); em.persist(teamA); Team teamB = new Team(); teamB.setName("teamB"); em.persist(teamB); Member member1 = new Member(); member1.setUsername("member1"); member1.setTeam(teamA); em.persist(member1); Member member2 = new Member(); member2.setUsername("member2"); member2.setTeam(teamA); em.persist(member2); Member member3 = new Member(); member3.setUsername("member3"); member3.setTeam(teamB); em.persist(member3); Member member4 = new Member(); member4.setUsername("member4"); member4.setTeam(null); em.persist(member4); em.flush(); em.clear(); String query ="select t From Team t join fetch t.members"; List<Team> result = em.createQuery(query, Team.class).getResultList(); for (Team team : result) { System.out.println("team= " + team.getName() + "|members=" + team.getMembers().size()); } tx.commit(); } catch (Exception e){ tx.rollback(); e.printStackTrace(); }finally { em.close(); } emf.close(); } 이 코드를 실행시켰더니 14분 50초에 나오는 3줄이 나오는 것이 아닌 team= teamA|members=2 team= teamB|members=1 이렇게 나오는데 혹시 어떤 이유에서 그런것인지 궁금합니다.
cmd에서 import pygame했을 때는 오류없이 제대로 됐는데 Vs code에서 import pygame을 하면 이런 오류가 계속해서 발생합니다. 어떻게 해야되나요? Exception has occurred: ModuleNotFoundError No module named 'pygame' File " C:\Users\User\Desktop\PythonWorkspace\pygame_basic\1_create_ frame.py ", line 1, in <module> import pygame ModuleNotFoundError: No module named 'pygame'
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다) 영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다) 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com) 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요! cafe: https://cafe.naver.com/kubeops kubenetes cluster를 설치하고 있습니다 강사님께서 알려주신 아래 파일과 동일하게 설치하고 있습니다. (master ip만 제 서버에 맞게 설치했습니다) cat << EOF >> /etc/hosts 192.168.56.30 k8s-master --> 제 ip EOF https://raw.githubusercontent.com/k8s-1pro/install/main/ground/k8s-1.27/vagrant-2.3.4/Vagrantfile esxi, centos8 3cpu 10GB memory 100GB의 서버에 설치해 수업을 수강 중인 학생입니다. /tigera-operator tigera-operator-84cf9b6dbb-qnvz9 1/1 Running 0 3m tigera-operator가 문제가 있습니다 가끔 tigera-operator eviction loop 처럼 무한정 pod가 생겨서, 서버 자원을 채워서 메모리와 디스크 부족으로 pod이 생기지 않는데요 아래와 유사하지만 저의 경우 https://github.com/projectcalico/calico/issues/8110 위 tigera-operator가 pod가 무한정 생겼습니다 혹시 이런 경우, 어떻게 대처할 수 있을까요? 이런 문제가 있을 때마다, 그냥 재설치를 하곤 하는데, 정답은 아닌 것 같아 질문드립니다. 아직 쿠버네티스를 잘 몰라서, 이런 문제는 어떻게 대처해야할지 검색해도 잘 모르겠습니다
안녕하세요 강의 잘 보고 있습니다. 다름이 아니라 도커 파일의 'WORKDIR' 관련하여 궁금한 점이 생겨 질문을 드립니다. 현재 강의에서 사용하고 있는 도커 파일은 위와 같습니다. 그리고 WORKDIR 명령어를 통해 먼저 경로를 지정해줍니다. 그러나 node 14버전 이미지를 통해 생성한 컨테이너를 직접 확인해본 결과 해당 컨테이너에는 /app 이라는 디렉토리가 존재하지 않습니다. 저의 생각으로는 /app이라는 경로를 직접 생성하거나 혹은 대신 생성해주는 무언가가 있어야만 에러가 나지 않고 정상동작할 듯 한데 제가 혹시 놓치고 있는 부분이 있을까요?
docker run 의경우 docker create -> docker start 명령어를 하나로 합친거라고 말씀하셨는데 왜 docker run의 경우에는 출력이 터미널과 연결이 바로 되는데 docker create -> start를 하게되면 -i 옵션을 주지않으면 왜 출력이 터미널과 연결이 되지않는건가요?
우선 강의중에 보여주셨던 HTML코드들에 대해서 행방을 알수가 없고 키를 강의마다 알려주신다는데 언제 알려주시는지 모르겠습니다. 그래서 완성되어있던 파일에 있는 HTML파일들을 끌어다가 다시 완성시켰는데 코드자체에 CSS,Js가 적용되지 않고 에러가 뜨기도 합니다. Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "!hasNotification" (template: "fragments.html" - line 129, col 24) 혹시 최신화된 코드나 강의 진행도에 따른 코드 접근 방법이 있을까요...? 물론 제가 옛날 강의를 듣는것이다 보니 감수해야 하는 부분이겠지만 하나하나 알아가다보니 강의를 듣는 시간도 늘어지고 지치기 시작하는거 같습니다 시간이 지나면서 바뀌는 부분에 대해서 조금이라도 안내를 해주시거나, 주의할 부분이라던가 아니면 참고할만한 내용들을 추가해주시면 감사하겠습니다.
안녕하세요 제목 그대로 start.spring.io 에서 강의 내용 따라 그대로 스프링 프로젝트를 생성하고 실행하여 첫 빌드를 하는데 계속 오류가 납니다.. 이틀 동안 너무 스트레스 받다가 도저히 혼자 해결이 안 되어 질문드려요. 제발 도와주십쇼 ㅠㅠ 1번 오류 세부 내용 Download https://services.gradle.org/distributions/gradle-8.6-bin.zip, took 23 s 799 ms Starting Gradle Daemon... Gradle Daemon started in 1 s 867 ms FAILURE: Build failed with an exception. * What went wrong: Multiple build operations failed. Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc-9b249c29-1a91-4470-b675-465ff91418e8) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280-d74ea8fc-73d7-4578-9c43-b8cd0558405c) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27-e5e2c8d8-9b10-4d94-aa86-5ed8eafd0641) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d-888af752-9ab7-43e9-bc4d-c9089f87eee4) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc-9b249c29-1a91-4470-b675-465ff91418e8) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280-d74ea8fc-73d7-4578-9c43-b8cd0558405c) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27-e5e2c8d8-9b10-4d94-aa86-5ed8eafd0641) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d-888af752-9ab7-43e9-bc4d-c9089f87eee4) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d) * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. CONFIGURE FAILED in 14s 2번 오류 세부 내용 C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc-9b249c29-1a91-4470-b675-465ff91418e8 -> C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc 3번 오류 세부 내용 Multiple build operations failed. Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc-9b249c29-1a91-4470-b675-465ff91418e8) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280-d74ea8fc-73d7-4578-9c43-b8cd0558405c) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27-e5e2c8d8-9b10-4d94-aa86-5ed8eafd0641) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d-888af752-9ab7-43e9-bc4d-c9089f87eee4) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc-9b249c29-1a91-4470-b675-465ff91418e8) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280-d74ea8fc-73d7-4578-9c43-b8cd0558405c) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27-e5e2c8d8-9b10-4d94-aa86-5ed8eafd0641) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d-888af752-9ab7-43e9-bc4d-c9089f87eee4) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d) * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. 세팅 상태 start.spring.io 에서 자바 17 버전으로 프로젝트 생성했었고요. 그에 맞춰서 인텔리제이 설정도 다 했습니다. 지금 정말 이해가 되지 않는 건 제 데스크톱과 노트북의 환경 세팅을 완전 똑같이 해놨는데 데스크톱에서는 프로젝트 실행이 잘 되는데 노트북에서만 이 에러가 발생한다는 겁니다.. ㅠㅠ 제 데스크톱과 노트북의 환경 차이는 아무리 생각해봐도 데스크톱은 윈도우 10이고 노트북은 윈도우 11이라는 것밖에 생각이 나질 않습니다. .gradle 안에 캐시 폴더 지웠다가 프로젝트 다시 실행도 해봤고요.. .gradle 폴더 자체를 지웠다가 다시 실행도 해봤습니다. 인텔리제이도 여러 번 지웠다가 재설치하고 실행해봤고요. 해결 방법 좀 간곡히 부탁드립니다.. 스프링 공부하고 싶습니다 ㅠㅠ
안녕하세요. 이전강의들을 포함해서, "파이썬 기본 환경 설정(2-1) : 개발 환경 설정(Vscode) - Windows" 강의 내용을 그대로 따라서 했습니다. 그런데 해당 강의 동영상의 25:33에서처럼 Ctrl+F5 단축키를 누르거나 Run 메뉴에서 Run Without Debugging을 직접 선택해도, 강의에서처럼 Hello python!이 출력되지 않고 이렇게 Select debugger라고 나옵니다. 이때 무엇을 선택해야 하나요? 어떻게 하면 강사선생님처럼 Run Without Debugging을 실행할 수 있나요? 참고로 오른쪽 상단의 오른쪽 방향 세모 아이콘을 클릭하면 문제없이 실행하고 Hello python!이 출력됩니다. (저는 단축키 설정에 대해서 질문을 드린 게 아닙니다.)
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다) 영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다) 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com) 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요! cafe: https://cafe.naver.com/kubeops 안녕하세요! 선생님 강사소개편을 감동하면서 봤습니다. 역시 일프로는 다른것같아요.저도 선생님을따라 업무나 공부에 있어서 큰 그림을 그려보고싶은데 따로 툴은 ppt를 이용하셨나요??
안녕하세요! 🙃 이런 질문 올려도 되는지 모르겠지만 .. 여태 로컬에서 여러 컨테이너 띄워서 테스트 하다가 궁금한게 생겼습니다.. 실제로 도커를 사용하는 환경이라고 해야되나 어떻게 활용되는지 궁금해서요! 강의에서는 3티어로 한 서버(로컬)에서 한번에 구성하는걸 알려주셨는데 개발 할 땐 편할거 같지만 배포하고 운영할때는 어떻게 사용되는걸까요? (서버 한대에 3티어를 구성할때 사용할수는 있을것 같지만요.. 🤔 ) 아래를 예로 들자면(실제로 서버를 이렇게 구성하는게 맞는건진 모르겠네요.. 😭 ) 프론트-리액트 백엔드-스프링부트 Db-redis, mysql 이렇게 사용한다고 했을때 실제 현업 서비스라면 Nginx-클라우드 서버 2대 사용 Was-클라우드 서버 2대 사용 Db-클라우드 서버 3대(?) 사용 (mysql 이중화, 캐시용 redis 1대) 이렇게 서버를 여러개 써서 구축할텐데 각각 서버에 직접 프로세스 하나씩 띄우는게 기존 방식인 상태인거죠.. 🤔 이 상태에서 ci/cd를 구축하기 위해서 컨테이너 기술을 사용한다면… 각각 웹, 와스, db 서버에서 전부 도커로 띄우게 되는 걸까요? 프론트랑 백은 배포까지 해야할테니 그럴것 같은데 db도 도커로 띄우면 장점이 있나요? 3티어를 전부 쿠버네티스로 관리하기 위한 게 맞을까요..? 각각 서버 하나에 컨테이너 하나씩 띄워서 운영되는 건지.. 한 서버에 내에서 컨테이너로 이중화 하는 상황도 있는건지… 궁금합니다🥹🥹🥹🥹 실제로 개인 프로젝트를 클라우드 서버에 배포 해보고 싶어서 질문이 많았네요 😅
보통 메모리 구조라고 하면 코드, 데이터, 힙, 스택 영역으로 알고 있습니다. 근데 실행 프로그램이 자바 코드로 이루어져 있다면 메모리 구조는 메서드, 스택, 힙 영역으로 이루어지는건가요? 메서드 영역에 클래스 즉 코드들이 올라간다 했는데 그러면 CPU가 메서드 영역에 있는 자바 코드들을 하나씩 레지스터로 fetch해서 decode, execution 하는건가요? CPU가 클래스 코드들을 해석하면서 메서드 호출일 경우 스택 영역에 스택 프레임을 생성하고 인스턴스 생성일 경우 힙 영역에 인스턴스를 생성하는 건가요? 힙 영역에 인스턴스가 생성된다고 했는데 그러면 필드 코드는 여전히 메서드 영역에 존재하지만 인스턴스가 가지고 있는 필드 값들은 힙 영역에 존재하는 건가요? 감사합니다.
안녕하세요. 분산락을 언제 쓰는게 좋을지 고민하다가 몇 가지 궁금증이 생겨 질문드립니다. 분산 DB 환경이 무엇을 의미하는지? 흔히 분산 DB 환경에서 낙관적, 비관적 락으로 동시성 문제를 해결하기 힘들다고 얘기하더라고요. 여기서 말하는 분산 DB 라는 것이 샤딩에 의해 여러 DB 서버가 있는 것인지, 동일한 데이터를 저장하는 DB 서버가 여러 대 있는 환경을 의미하는 것인지 모르겠습니다. 예를 들어, Ticket 이란 데이터를 저장하는데 동일한 ticket 데이터가 DB server 1, DB server 2 에 저장되어 있는 환경일까요?? 만약 분산 DB 가 샤딩인 경우 비관적 락으로도 동시성 이슈를 해결할 수 있을 것 같은데 맞을까요? 아래 그림처럼 ticketId = 1 인 티켓을 예매하기 위한 요청이 동시에 올 경우 입니다. 처음 x-lock 을 잡은 요청이 끝나야 뒤늦게 온 요청이 해당 티켓의 잔여 수량을 확인하고 예매 하기 때문에 샤딩으로 인한 분산 DB 에서는 비관적 락으로 동시성 이슈를 해결할 수 있을 것 같습니다. 동일한 Ticket 데이터가 여러 DB 서버에 중복되어 저장된 분산 DB 환경에서는 분산락을 사용해야 될 것 같습니다. 그러나, 샤딩은 동일한 Ticket 데이터에 접근하기 위해서는 동일한 서버로 접근하기 때문에 비관적 락으로도 충분히 해결 가능할 것 같아서 질문 드립니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의에서는 warn이 뜨고 name이 없다라는 콘솔문구가 뜨는데 저는 창을 들어가보면 에러는 똑같이 나는데 warn이 안뜨네여..
안녕하세요 영한님, 정말 좋은강의 잘 듣고있습니다. Merge관련해서 질문이 하나있는데요..! 아래 두 method 모두 시작할때 persistence context가 비어있고 찾는 entity가 db에 있다고 가정할때 비슷한 (혹은 같은) flow로 진행될까요? 여기서 method parameter, Entity e,는 업데이트될 (id가 set되어있고 field가 업데이트 되어있는)객체입니다. @Transactional public void updateEntity(Entity e){ Entity foundEntity = em.find(Entity.class, e.getid()); foundEntity.setFieldOne("New Data"); } @Transactional public void updateEntity(Entity e){ em.merge(e); } Merge를 꼭 써야하는건 아니지만, 그냥 동작 메커니즘이 궁금해서 질문드립니다. Merge를 쓰는게 Update전에 항상 Select query로 db에서 객체를 조회하기때문에 쓰기를 지양하라고 하시는건가요, 아니면 merge를 쓸때 또 다른 downside가 있나요?