전체 글

Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 만능 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험했던 내용과 공부했던 내용을 기록합니다. 🐻‍❄️☁️
Ad-Hoc 명령 관리하는 노드에 단일 작업을 수행할 때 사용한다. 반복적이거나 2개 이상의 작업을 하는 경우에는 Playbook 으로 수행한다. ansible [PATTERN] -m [MODULE] -a "[MODULE OPTIONS/ARGUMENT]" 예시 다음은 관리 노드 중 하나인 ansi-node2 라는 호스트를 재부팅시키는 Ad-Hoc 명령이다. $ ansible ansi-node2 -m reboot 현재 Ansible에서 사용할 수 있는 모든 모듈에 대한 정보 확인 $ ansible-doc -t module -l 특정 모듈에 대한 정보 확인하기 $ ansible-doc [MODULE_NAME] Ad Hoc 명령 vs Ansible Playbook 다음 그림은 동일한 작업을 수행하는 Ad Ho..
Inventory 란 Ansible이 관리하는 호스트들의 목록에 대해 설정하는 파일이다. 호스트들을 그룹 및 중첩 그룹으로 묶어서 관리할 수 있다. 인벤토리 파일은 INI , YAML 형식으로 정의할 수 있다. Default 인벤토리 파일 위치 : /etc/ansible/hosts 인벤토리를 지정하지 않은 경우 Default 인벤토리에서 참조된다. Inventory 조회하기 new-inventory 파일 예시 ansi-master1 # control host [group1] # 그룹명 ansi-node1 # 해당 호스트 ansi-node2 [group2] ansi-node3 [total-group:children] group1 group2 중첩 그룹을 지정할 때는 [중첩그룹이름:children] 이라고 ..
Ansible 이란 Ansible은 IaC 도구의 한 종류이다. 즉, 말그대로 인프라를 자동화 할 수 있는 도구이다. Ansible로 호스트들을 관리 및 구성하고, 배포를 자동화 할 수 있다. Ansible은 openSSH를 기본 전송 방법으로 사용한다. 따라서 보안과 신뢰성을 가지고 통신한다. Ansible에서는 에이전트 없이 Ansible이 바로 호스트들을 관리한다. Ansible은 절차적으로 수행된다. 작업이 정해진 순서대로 실행되어서 원하는 상태에 도달한다. IaC (Infrastructure as Code) 전통적인 인프라 환경에서는 수동으로 각각의 인프라를 구성해주어야 했다. 수동으로 관리하게 되면, 작업 속도도 느리고 사람이 수동으로 구성하다보니 실수와 같은 문제가 일어날 수 있다. 또한 비..
·Algorithm (PS)
https://www.acmicpc.net/problem/3584 3584번: 가장 가까운 공통 조상 루트가 있는 트리(rooted tree)가 주어지고, 그 트리 상의 두 정점이 주어질 때 그들의 가장 가까운 공통 조상(Nearest Common Anscestor)은 다음과 같이 정의됩니다. 두 노드의 가장 가까운 공통 조상은, 두 www.acmicpc.net 1. 입력받은 값으로 트리를 구성한다. python의 defaultdict을 사용했다. 어처피 간선 정보는 자식노드 - 부모노드로 N-1개 주어지므로 리스트가 아니라 default(int) 로 value 값을 저장한다. 2. 재귀함수 (dfs)로 루트까지 가는 경로를 구하는 함수 작성 3. 각각의 노드에서 루트까지 가는 경로를 구한다. 4. 경로..
·Algorithm (PS)
https://www.acmicpc.net/problem/17141 17141번: 연구소 2 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 승원이는 연구소의 특정 위치에 바이러스 M개를 놓을 것이고, 승원이의 신호와 동시에 바이 www.acmicpc.net BFS + 브루트포스로 풀었다 비트마스킹으로도 풀 수 있는 것 같은데 연습해야겠다.. import sys from itertools import combinations from collections import deque input = sys.stdin.readline N, M = map(int, input().split()) array = [list(map(int, input().split())) for..
·Algorithm (PS)
https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 규칙성을 찾으면 직관적으로 풀 수 있는 dp 문제였다 봤더니 티어가 실버 1 이다 . 딱 그정도 수준인것 같긴 하다 ㅎㅎ.. 말로 설명하기 어려워서 그림으로 그려보았다. 1) 현재 N== 1, 즉 자리가 한자릿수일 때는 자기 자신이 오르막 수에 해당하므로 오르막 수가 1개이다. 0, 1, 2, .. 9 이런 얘들이 한자릿수 오르막 수가 된다. dp[1][i] =..
다양한 원인으로 인해서 일어날 것이다 나의 경우 이미지 파일이 잘못되었다 ->( 이미지파일만 다른 이미지 파일로 바꿔서 실행했을 때는 정상적으로 실행되었다. ) 이미지 파일을 고쳐준 다음에 새로운 버전의 이미지로 빌드해도 계속 실행이 되지 않았다 해결방법 --> control-plane 뿐만 아니라 다른 node들에서도 문제가 있는 이전 image 파일을 지워주어야 한다 !! 그리고 문제가 있는 image로 띄운 pod들을 다 지워준다 트러블슈팅어렵다..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 푸는 로직은 간단하다 1) 주어진 입력값으로 tree를 구성한다. 친절하게도 문제에서는 enroll과 referrel 이 같은 순서로 주어진다. enroll[i] 이 자식노드, referrel[i] 의 원소가 부모노드가 된다 ! 2) seller를 start로 하여 루트 노드 (center)까지 탐색한다 재귀함수를 만들어서 자기 자신을 기준으로 tree에서 부모노드를 꺼내 부모노드로 이동하는 식으..
minjiwoo
MJ workspace