์ „์ฒด ๊ธ€ 125

# k8s Pod Security Policy ์ ์šฉ - ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ

Pod Security Policy (์ดํ•˜ PSP) ๋ž€? k8s์—๋Š” SecurityContext๋ผ๋Š” ๊ธฐ๋Šฅ์ด ์กด์žฌํ•œ๋‹ค. SecurityContext๋Š” Container์˜ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, ๊ฐœ์ธ์ ์œผ๋กœ PSP๋Š” ์ด SecurityContext์˜ ํ™•์žฅํŒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. PSP(ํฌ๋“œ ๋ณด์•ˆ ์ •์ฑ…)์€ ํฌ๋“œ ์‚ฌ์–‘์˜ ๋ณด์•ˆ ๊ด€๋ จ ์ธก๋ฉด์„ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹ํด๋Ÿฌ์Šคํ„ฐ ์ˆ˜์ค€ ๋ฆฌ์†Œ์Šค์ด๋‹ค. PSP ๊ฐ์ฒด๋Š” ๊ด€๋ จ ํ•„๋“œ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ๊ฐ’ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹œ์Šคํ…œ์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํฌ๋“œ๊ฐ€ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ์กฐ๊ฑด ์„ธํŠธ๋ฅผ ์ •์˜ํ•œ๋‹ค. ๊ด€๋ฆฌ์ž๋Š” ๋‹ค์Œ์„ ์ œ์–ด ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ œ์–ด ๋ชฉ๋ก ํ•„๋“œ๋ช… Container์˜ ์‹คํ–‰ ๊ถŒํ•œ privileged ํ˜ธ์ŠคํŠธ ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค์˜ ์‚ฌ์šฉ hostPID, hostIPC ํ˜ธ์ŠคํŠธ ๋„คํŠธ์›Œํ‚น ๋ฐ ํฌํŠธ์˜ ์‚ฌ์šฉ hostNetwork, h..

Cloud/Kubernates 2020.02.04

# Java Concurrency In Practice - Chapter 1

Introduction 1.1 ๊ฐ„๋žตํ•œ ๋™์‹œ์„ฑ์˜ ์—ญ์‚ฌ (A (Very) Brief History of Concurrency) ๋ฆฌ์†Œ์Šค ํ™œ์šฉ (Resource utilizatio) ํ”„๋กœ๊ทธ๋žจ์€ ์ž…๋ ฅ ๋˜๋Š” ์ถœ๋ ฅ๊ณผ ๊ฐ™์€ ์™ธ๋ถ€ ์ž‘์—…์„ ๊ธฐ๋‹ค๋ ค์•ผํ•˜๋ฉฐ ๋Œ€๊ธฐํ•˜๋Š” ๋™์•ˆ ์œ ์šฉํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์—†๋‹ค. ์ด ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ผ ๊ฒƒ์ด๋‹ค. ๊ณตํ‰ (Fairness) ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๋ฐ ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ๋™์ผํ•œ ์†Œ์œ ๊ถŒ์„ ์ฃผ์žฅ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ํ•œ ๋‹ค์Œ ๊ทธ ํ”„๋กœ๊ทธ๋žจ์ด ์™„์ „ํžˆ ์ข…๋ฃŒ๋œ ํ›„, ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์„ธ๋ฐ€ํ•œ ์‹œ๊ฐ„ ์Šฌ๋ผ์ด์‹ฑ์„ ํ†ตํ•ด ์ปดํ“จํ„ฐ ์ž์›์„ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ํŽธ์˜ (Convenience) ๋‹จ์ผ ํ”„๋กœ๊ทธ๋žจ์ด ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค..

JAVA/Concurrency 2020.02.03

# Java Concurrency and Multithreading Tutorial - Concurrency vs Parallelism

Concurrency(๋™์‹œ์„ฑ) ๋ฐ Parallelism(๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ)๋ผ๋Š” ์šฉ์–ด๋Š” ์ข…์ข… ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์‚ฌ์šฉ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Concurrency๊ณผ Parallelism์€ ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ด ๋‘ ์šฉ์–ด๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€? Concurrency Concurrency๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋‘˜ ์ด์ƒ์˜ ์ž‘์—…์„ ๋™์‹œ์— ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ์ปดํ“จํ„ฐ์— CPU๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฉด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์—์„œ ํ•œ ๋ฒˆ์— ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ž‘์—…์ด ์ฒ˜๋ฆฌ๋˜๊ณ  ์žˆ๋‹ค. ๋Œ€์‹  CPU๋Š” ์ž‘์—…์ด ์™„๋ฃŒ ๋  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ์ž‘์—…๊ฐ„์— ์ „ํ™˜ํ•œ๋‹ค. ๋‚ด๋ถ€์—์„œ ๋‹จ์ผ ์Šค๋ ˆ๋“œ๋งŒ ์‹คํ–‰ํ•˜๋”๋ผ๋„ ๋™์‹œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. CPU๊ฐ€ ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ž‘์—…๊ฐ„ ์ „ํ™˜์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ..

JAVA/Concurrency 2020.01.31

# VMware ๊ณ ์ • IP ํ• ๋‹น ๋ฐ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ ์ ‘์†

1. VM ์„œ๋ฒ„ ๊ณ ์ • IP ํ• ๋‹น 1. VMware ๋„คํŠธ์›Œํฌ ์ •๋ณด ํ™•์ธ (1) Subnet IP, Subnet mask, Gateway IP ํ™•์ธ (2) Use local DHCP service to distribute IP address to VMs ์ฒดํฌ ํ•ด์ œ 2. VM ์„œ๋ฒ„ ๋„คํŠธ์›Œํฌ ์„ค์ • (1) Bridged๊ฐ€ ์•„๋‹Œ NAT์œผ๋กœ ์„ค์ • 3. VM ์„œ๋ฒ„ ์ธํ„ฐํŽ˜์ด์Šค ์„ค์ • (1) VM ์„œ๋ฒ„ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ช… ํ™•์ธ (ens33) => CentOS7 ๋ถ€ํ„ฐ๋Š” eth~ ์—์„œ en~์œผ๋กœ ๋ณ€๊ฒฝ๋จ $ ifconfig (2) ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ํŒŒ์ผ ์ˆ˜์ • $ vi /etc/sysconfig/network-scripts/ifcfg-ens33 # IP ADDRESS ๋ถ€๋ถ„์˜ IPADDR์— ๊ณ ์ • IP๋กœ ํ• ๋‹นํ•  IP๋ฅผ ๊ธฐ์ž…ํ•œ๋‹ค. ..

OS/Linux 2020.01.31

# Java Concurrency and Multithreading Tutorial - Multithreading Benefits

Multithreading Benefits ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ด์ ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. Better CPU utilization Simple program design in some situations More responsive programs More fair division of CPU resources between different tasks Better CPU Utilization ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์„ ์ฝ๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ƒ์ƒํ•ด๋ด๋ผ. ๋””์Šคํฌ์—์„œ ํŒŒ์ผ์„ ์ฝ๋Š”๋ฐ 5์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ 2์ดˆ๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค๊ณ  ํ•  ๋•Œ, ๋‘ ๊ฐœ์˜ ํŒŒ์ผ์„ ์ฝ์œผ๋ฉด ์ด 14์ดˆ๊ฐ€ ์†Œ์š”๋œ๋‹ค. ๋””์Šคํฌ์—์„œ ํŒŒ์ผ์„ ์ฝ์„ ๋•Œ ๋Œ€๋ถ€๋ถ„์˜ CPU ์‹œ๊ฐ„์€ ๋””์Šคํฌ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•œ๋‹ค. ๊ทธ ์‹œ๊ฐ„ ๋™์•ˆ CPU๋Š” ๊ฑฐ์˜ ..

JAVA/Concurrency 2019.12.31

# Java Concurrency and Multithreading Tutorial

Java Concurrency๋Š” Java ํ”Œ๋žซํผ์—์„œ์˜ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ, ๋™์‹œ์„ฑ ๋ฐ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ๋‹ค๋ฃจ๋Š” ์šฉ์–ด์ด๋‹ค. Java Concurrency Tutorial์—์„œ๋Š” ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ, ๋™์‹œ์„ฑ ๊ตฌ์„ฑ, ๋™์‹œ์„ฑ ๋ฌธ์ œ์ , ๋น„์šฉ ๋“ฑ Java ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๊ด€๋ จ ์ด์ ์˜ ํ•ต์‹ฌ ๊ฐœ๋…์„ ๋‹ค๋ฃฐ ๊ฒƒ์ด๋‹ค. What is Multithreading? ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์€ ๋™์ผํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋‚ด์— ์—ฌ๋Ÿฌ ์‹คํ–‰ ์Šค๋ ˆ๋“œ๊ฐ€ ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๋ณ„๋„์˜ CPU์™€ ๊ฐ™๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ์—ฌ๋Ÿฌ CPU๊ฐ€ ๋™์‹œ์— ์ฝ”๋“œ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์„ ์‹คํ–‰ํ•˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ฐ™๋‹ค. ๋‹จ, ์Šค๋ ˆ๋“œ๋Š” CPU์™€ ๊ฐ™์ง€๋Š” ์•Š๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹จ์ผ CPU๋Š” ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ„์— ์‹คํ–‰ ์‹œ๊ฐ„์„ ๊ณต์œ ํ•˜์—ฌ ์ง€์ •๋œ ์‹œ๊ฐ„๋™์•ˆ ๊ฐ ์Šค๋ ˆ๋“œ ๊ฐ„์— ์ „ํ™˜์ด ์ผ์–ด๋‚˜๋ฉฐ, ์‘์šฉ ..

JAVA/Concurrency 2019.12.30

# Coral Dev Board๋Š”?

Coral Dev Board๋ž€? ์˜ฌ ์ดˆ(2019)์— ๊ตฌ๊ธ€์—์„œ ๋‚ด๋†“์€ Edge TPU๊ฐ€ ์žฅ์ฐฉ๋œ Single-board Computer (SBC) ์‹ฑ๊ธ€๋ณด๋“œ pc์ด๋‹ค. Raspberry Pi(๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด,์ดํ•˜ ๋ผํŒŒ) ์—ญ์‹œ SBC์ธ๋ฐ, ๋ผํŒŒ์™€ ๋‹ฌ๋ฆฌ Coral Dev Board๊ฐ€ ๊ฐ€์ง€๋Š” ๊ฐ€์žฅ ํฐ ์ด์ ์€ Edge TPU๊ฐ€ ์žฅ์ฐฉ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. Edge TPU๋ž€? Edge TPU๋Š” ์—์ง€์—์„œ AI๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋œ Google์˜ ๋งž์ถคํ˜• ASIC๋กœ์จ ์—ฐ๊ฒฐ๋œ ๊ธฐ๊ธฐ์˜ ์ˆ˜๊ฐ€ ๊ธ‰์ฆํ•˜๊ณ  ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ/๋น„๋ฐ€์œ ์ง€, ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„, ๋Œ€์—ญํญ ์ œ์•ฝ์ด ์š”๊ตฌ๋จ์— ๋”ฐ๋ผ ํด๋ผ์šฐ๋“œ์—์„œ ํ•™์Šต๋œ AI ๋ชจ๋ธ์„ ์—์ง€์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•  ํ•„์š”์„ฑ์ด ๊ฐˆ์ˆ˜๋ก ๋†’์•„์ง€๊ณ  ์ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด ์ง„๊ฒƒ์ด๋‹ค. Edge TPU๋Š” ๋ฌผ๋ฆฌ์  ๊ณต๊ฐ„๊ณผ ์ „์›์„ ์ ๊ฒŒ ์†Œ๋น„..

# Notepad++ Window10์—์„œ drag & drop ๊ธฐ๋Šฅ ์˜ค๋ฅ˜ ๋‚  ๋•Œ

window10์—์„œ notepad++์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์–ด๋Š ์ˆœ๊ฐ„ drog&drop ๊ธฐ๋Šฅ์ด ์•ˆ๋˜๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ ํ•ด๊ฒฐ๋ฒ•์€ ๊ฐ„๋‹จํ–ˆ๋‹ค. [ํ•ด๊ฒฐ๋ฐฉ์•ˆ] 1. ์œˆ๋„์šฐ ํƒ์ƒ‰๊ธฐ์—์„œ ์‹œ์ž‘ ํ”„๋กœ๊ทธ๋žจ ์œ„์น˜๋กœ ์ด๋™ C:\ProgramData\Microsoft\Windows\Start Menu\Programs 2. Notepad++ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์šฐํด๋ฆญํ•˜์—ฌ ์†์„ฑ ์—ด๊ธฐ 3. ์†์„ฑ์—์„œ ์‹œ์ž‘ ์œ„์น˜ ๊ฐ’ ํŽธ์ง‘ ๊ธฐ์กด ์‹œ์ž‘ ์œ„์น˜์—๋Š” ๊ฐ’(C:\Program Files\Notepad++) ์ด ๋“ค์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. => ์ด ๊ฐ’์„ ๋‹ค ์ง€์šฐ๊ณ  ๋นˆ ๊ฐ’์œผ๋กœ ๋‘๊ณ  ํ™•์ธ! 4. drag & drop ํ•ด๋ณด๊ธฐ -๋- ๋‹จ์–ด์žฅ์— ์ถ”๊ฐ€ ๋‹ค์Œ์— ๋Œ€ํ•œ ๋‹จ์–ด ๋ชฉ๋ก์ด ์—†์Šต๋‹ˆ๋‹ค์˜์–ด -> ํ•œ๊ตญ์–ด... ์ƒˆ๋กœ์šด ๋‹จ์–ด ๋ชฉ๋ก ์ƒ์„ฑ... ๋ณต์‚ฌ ๋‹จ์–ด์žฅ์— ์ถ”๊ฐ€ ๋‹ค์Œ์—..

OpenSource 2019.12.10

# Kafka - 3 # Spring Boot - Kafka - Elasticsearch ์˜ˆ์ œ ์‹ค์Šต

์ง€๋‚œ ๊ธ€ (# Kafka - 2 # Kafka Multi Cluster ๊ตฌ์„ฑ)์— ์ด์–ด์„œ ๊ตฌ์„ฑ๋œ Kafka ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ  ํ™•์ธํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ ํ•ด๋ณด๊ฒ ๋‹ค. ์˜ˆ์ œ์˜ Test์šฉ Application์€ SpringBoot๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ด๊ณ  ์ „์ฒด ๊ตฌ์„ฑ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. [ ์‹ค์Šต์ „ ์ค€๋น„ ์‚ฌํ•ญ] 1. kafka ์„œ๋ฒ„ ๊ธฐ๋™ 2. elasticsearch ์„œ๋ฒ„ ๊ธฐ๋™ 3. Spring ๊ธฐ๋ณธ ๋™์ž‘ ์›๋ฆฌ Step 1. gradle ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ Step 2. gradle dependencies ์ถ”๊ฐ€ dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch' compile group..

# Kafka - 2 # Kafka Multi Cluster ๊ตฌ์„ฑ

์ง€๋‚œ ํฌ์ŠคํŒ…์— ์ด์–ด ์ด๋ฒˆ์—” Kafka๋ฅผ Multi Cluster๋กœ ๊ตฌ์„ฑํ•ด๋ณด๊ฒ ๋‹ค. ๊ตฌ์„ฑ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•  ๊ฒƒ์ด๋‹ค. Step 1. Kafka Download # ๋ฒ„์ „ ํ™•์ธ ํ•„์ˆ˜ $ wget http://mirror.navercorp.com/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz # ์„ค์น˜ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ๋กœ์—์„œ ์••์ถ• ํ’€๊ธฐ $ tar -xzf kafka_2.12-2.3.0.tgz $ cd kafka_2.12-2.3.0 Step 2. Zookeeper ์„ค์ • ( All Node ) => vi zookeeper.properties initLimit=10 syncLimit=5 server.1= :2888:3888 server.2= :2888:3888 server.3= :2888:3888 St..