본문 바로가기

전체 글

(111)
[코딩테스트 #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권한으로 실행할 수 있게하는..
[쿠버네티스 #0] Ubuntu 환경에서 쿠버네티스(Kubernetes) 환경구성하기 쿠버네티스를 사용하기 위한 기본 설치 및 Cluster구성에 관한 글입니다. 환경 구성 설치 글을 많이 있었지만 그 중 제가 직접해보고 되는 것들을 조합하여 새롭게 작성해봤습니다. 쿠버네티스 클러스터를 구성하는 방법에는 다음과 같은 방법이 있습니다. 1. 마스터 노드와 워커 노드를 실제 컴퓨터로 구성 2. 마스터 노드와 워커 노드를 VM으로 구성 3. 구글클라우드플랫폼(GCP) 같은 클라우드 환경 이용 둘 다 구성하는 법은 똑같지만 실제 컴퓨터로 구성하게 될 경우 같은 네트워크를 공유하고 있어야 하고, VM의 경우 버츄얼 박스나 VM ware에서 네트워크 설정이 필요합니다. 이번에 제가 소개해드릴 방법은 같은 네트워크를 공유하고 있는 2대의 컴퓨터로 쿠버네티스 클러스터를 구성하는 방법입니다. (GCP같은..