전체 글 (121) 썸네일형 리스트형 [코딩테스트 #2] 완주하지 못한 선수(해시) level1 - java 프로그래머스에 있는 https://programmers.co.kr/learn/courses/30/lessons/42576 문제이다. 처음에 해당 문제를 읽었을 때 참여자(participant)와 완주자(complection)를 비교하여 참여자의 목록에서 완주자의 이름을 하나씩 빼는 방법을 생각했었다. 그래서 1. 참여자 리스트에서 완주자를 하나씩 빼고 결국 남은 하나가 완주하지 못한 사람이라고 생각하여 코딩을 했다. 결과는 50점 정확성은 100%였지만 효율성부분에서 0%를 받았다. 효율성이란 부분이 뭘까? 속도적인 측면에 문제라고생각했다. 2. 처음에 참여자 리스트에서 완주자를 하나씩 뺀거를 반대로 완주자 리스트에서 참여자 리스트를 비교하여 완주자 리스트에 없는 사람이 들어오면 그사람이 낙오자라고 생각.. [쿠버네티스 #tip2] 파이썬으로 만든 컨테이너에서 print출력이 되지 않을 때 파이썬 flask를 활용해 웹서버를 구축할 때 생긴 오류였다. 진행하고 있던 내용은 외부의 DB에서 데이터를 쿠버네티스 클러스터 내의 웹서버에 보내고 이 웹서버가 다시 쿠버네티스 클러스터 내의 DB로 저장하는 상황이었는데 데이터를 넘겨주는 과정에서 잘 넘어가는지 확인하기 위해 pod에 접근했었다. 근데 로컬에서 잘만되던 코드가 클러스터에 올려놓으니까 거짓말처럼 되지가 않았다. DNS 서비스에 문제가 있나 싶어 coredns도 확인해봤고 pod의 로그를 확인해봐도 rest api가 잘 성공했다는 200코드만 뜰 뿐 data에 대한 print문이 출력되지 않았다. 그 이후 수많은 구글링을 시도했고 결국 인프런 쿠버네티스강사님에게 질문을 했었다. 문제는 python에 있었고 print할 때 해당 코드를 flu.. [코딩테스트 #1] 문자열 압축(2020 KAKAO BLIND RECRUITMENT) level1 - java 자기 발전을 위해서 1월 말을 기점으로 코딩테스트 연습을 시작하기로 하였다. 무언가를 하기 위한 코딩을 정말 오랜만이라 기본 라이브러리나 메서드, 함수 등이 생각이 나지도 않은 상태에서 다시 코딩을 하려니 뭔가 막막한 기분이 들었다. 심지어 java print도 System.out.println이 기억나지도 않았고 대략 이런기능의 메서드가 있었던거 같은데?? 하는 기분으로 메서드 검색을 해가며 문제를 풀었다. https://programmers.co.kr/learn/challenges 프로그래밍 강의 | 프로그래머스 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr 코딩테스트에 여러가지가 있겠지만 프로그래머스에 올라와 있는 level1의 문제들부터 차근차근 풀어보기로 했다... [쿠버네티스 #4] Replica set 과 Deployment 오늘 소개할 것은 쿠버네티스 컨트롤러 중 Replica set과 Deployment이다. 이 두 가지의 컨트롤러의 가장 큰 기능은 여러 차이가 있지만 결국 Pod를 관리하는 컨트롤러이다. 두 가지를 설명하기 전 간단하게 쿠버네티스 컨트롤러에 대해 정리해보면 쿠버네티스 컨트롤러는 크게 4가지의 역할을 한다고 할 수 있다. 1. auto healing - pod에 문제가 생기거나 pod가 실행되고 있는 node에 문제가 생기면 해당 pod를 다시 실행하는 기능을 말한다. (ReplicaSet, DaemonSet ) 2. software Update - pod 자동 업데이트에 대한 기능을 지원한다. 이 때 이 업데이트가 잘못된 업데이트라면 롤백할 수 있는 기능도 제공한다. (Deployment) 3. auto.. [쿠버네티스 #3] Service 나는 처음에 쿠버네티스와 마이크로서비스 아키텍처를 공부할 때, 아니 지금도 이 Service라는 말이 굉장히 헷갈린다. 왜냐하면 쿠버네티스 Object상의 service를 말하는건지 아니면 어플리케이션 자체 제공하는 서비스를 말하는건지 제대로 개념이 안잡힌 상태에서 마주하게되면 뭐가 뭐를 말하는지 개념에 혼돈이 올 수 있기 때문이다. 쿠버네티스 공식 홈페이지에서는 대놓고 '앱 노출을 위해 서비스 이용하기' 라는 탭이 있을 정도로 서비스에 대해 이렇게 설명하고 있다. '앱 노출을 위한 오브젝트' ------------------------------------------------- 20. 07. 28 글 추가 https://kubernetes.io/ko/docs/reference/glossary/?all.. [쿠버네티스 #2] Pod 개념 파드, 포드, 팟 다양하게 불리는 쿠버네티스 Pod에 대해서 알아보자 쿠버네티스 공식 홈페이지에서는 Pod를 다음과 같이 설명한다. https://kubernetes.io/ko/docs/concepts/workloads/pods/pod-overview/ [공식 홈페이지] '쿠버네티스 애플리케이션의 기본 실행 단위로 쿠버네티스 객체 모델 중 만들고 배포할 수 있는 가장 작고 간단한 단위' 이렇게 설명되어있는데 나는 처음에 이걸봤을 때 쿠버네티스는 커녕 docker와 컨테이너에 대한 개념도 확실하지 않았기에 이해하지 못했다. 내가 이해한 Pod를 설명해보면 실제 작업을 수행하는 컨테이너를 담는 쿠버네티스 오브젝트 중에 하나로 쿠버네티스는 컨테이너를 직접 관리하지 않고 쿠버네티스가 담겨있는 Pod를 컨트.. [쿠버네티스 #1] 쿠버네티스 오브젝트와 컨트롤러 쿠버네티스는 오브젝트와 컨트롤러로 구성되는데 쿠버네티스 공식 설명을 보면 '의도를 담은 레코드'라고 설명을 해놓았다. 나는 오브젝트란 실제 일을 하는 애들 정도라고 생각한다. 오브젝트의 종류는 다양하게 있는데 Pod, Service, namespace, Volume, ConfigMap 등등 사용자는 이 오브젝트들을 조건에 맞게 생성하여 일을 시킨다. 라고 생각하면 될 거 같다. ------------------------------- 예를들면 Pod는 실제 실행되는 컨테이너를 가지고 있는 오브젝트로 Python flask 웹서버 컨테이너를 가지고 있는 Pod를 생성하고 이 Pod를 외부에서 접근이 가능하게 하기 위해 Service로 묶어 특정 Service를 만든다. 각 Pod와 Service의 연결을 .. [쿠버네티스 #tip1] 쿠버네티스 재 부팅시 The connection to the server localhost:xxxx was refused 에러가 떴을 때 쿠버네티스 재 부팅시 가끔 마스터 노드와 워커 노드가 연결이 안되서 아예 kubectl 명령어가 듣지 않는 경우가 있다. 어떤 kubectl 명령을 쳐도 The connection to the server localhost:8080 was refused - did you specify the right host or port? The connection to the server localhost:6443 was refused - did you specify the right host or port? 의 에러만 뜨며 아무것도 되지 않는다. 이를 해결하기 위해 여러 구글링을 해보면 대부분의 사람들이 kubelet 과 docker 등을 restart 하거나 쿠버네티스 설치시 root권한으로 실행할 수 있게하는.. 이전 1 ··· 12 13 14 15 16 다음