๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT

Lens: Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ตœ๊ณ ์˜ ๋„๊ตฌ

by ๐Ÿ’ฒ๐ŸŽตโœ–๏ธโœ”๏ธโ˜ผ 2024. 2. 22.
728x90

Lens: Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ตœ๊ณ ์˜ ๋„๊ตฌ

1. Lens ์†Œ๊ฐœ

1.1 Lens๋ž€?

Lens๋Š” Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ๋ฐ์Šคํฌํ†ฑ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชจ๋“  ์ธก๋ฉด์„ ํ†ตํ•ฉ์ ์œผ๋กœ ์ œ์–ดํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ์ง๊ด€์ ์ธ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

1.2 Lens์˜ ํƒ„์ƒ ๋ฐฐ๊ฒฝ

Lens๋Š” Kubernetes ํ™˜๊ฒฝ์—์„œ์˜ ๋ณต์žก์„ฑ์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ˆ˜์˜ ํด๋Ÿฌ์Šคํ„ฐ, ๋‹ค์–‘ํ•œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค, ์ˆ˜๋งŽ์€ ํฌ๋“œ ๋“ฑ์„ ํ•œ๋ˆˆ์— ํŒŒ์•…ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ Bedouin ํŒ€์˜ ๋…ธ๋ ฅ์˜ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

2. Lens ํ™œ์šฉ ๋ฐฉ๋ฒ•

2.1 ๋‹ค์ค‘ ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ

Lens๋Š” ๋‹ค์ˆ˜์˜ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋Œ€์‹œ๋ณด๋“œ์—์„œ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ๊ฐ„์˜ ์ „ํ™˜์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด ๊ฐœ๋ฐœ์ž๋‚˜ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž์—๊ฒŒ ํŽธ์˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

2.2 ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง

์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ์ž์› ์‚ฌ์šฉ๋Ÿ‰, ๋กœ๊ทธ, ์ด๋ฒคํŠธ ๋“ฑ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2.3 ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ

Lens๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ๋ฆฌ์†Œ์Šค, ํฌ๋“œ, ๋””ํ”Œ๋กœ์ด๋จผํŠธ ๋“ฑ์„ ์ง๊ด€์ ์œผ๋กœ ์‹œ๊ฐํ™”ํ•˜์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

2.4 ์‚ฌ์šฉ์ž ์ •์˜ ๋Œ€์‹œ๋ณด๋“œ

์‚ฌ์šฉ์ž๋Š” ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋ชจ์•„๋†“์€ ์‚ฌ์šฉ์ž ์ •์˜ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2.5 YAML ์—๋””ํ„ฐ

Lens๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ YAML ํŒŒ์ผ์„ ํšจ๊ณผ์ ์œผ๋กœ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ†ตํ•ฉ๋œ ์—๋””ํ„ฐ๋ฅผ ์ œ๊ณตํ•˜์—ฌ, ์†์‰ฝ๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. KubeConfig ์„ค์ • ์˜ˆ์ œ

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: <ca-data>
    server: <cluster-url>
  name: <cluster-name>
contexts:
- context:
    cluster: <cluster-name>
    user: <user-name>
  name: <context-name>
current-context: <context-name>
kind: Config
preferences: {}
users:
- name: <user-name>
  user:
    token: <user-token>

4. Lens์˜ ์žฅ๋‹จ์ 

4.1 ์žฅ์ 

4.1.1 ์ง๊ด€์ ์ธ UI

  • ์‚ฌ์šฉ ํŽธ์˜์„ฑ: ์ง๊ด€์ ์ด๊ณ  ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ UI๋ฅผ ํ†ตํ•ด ๋ณต์žกํ•œ Kubernetes ํ™˜๊ฒฝ๋„ ์‰ฝ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์ค‘ ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ: ๋‹ค์ˆ˜์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4.1.2 ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ

  • ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง: ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ๋ชจ๋“  ํ™œ๋™์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž์„ธํ•œ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ: ๊ฐ ๋ฆฌ์†Œ์Šค์˜ ์ƒํƒœ์™€ ์„ฑ๋Šฅ์„ ์ž์„ธํžˆ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4.2 ๋‹จ์ 

4.2.1 ํ•™์Šต ๊ณก์„ 

  • ์ดˆ๋ณด์ž์—๊ฒŒ๋Š” ๋‹ค์†Œ ๋ณต์žก: Kubernetes์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ์ง€์‹์ด ์—†๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ฒ˜์Œ์—๋Š” ํ•™์Šต ๊ณก์„ ์ด ๋†’์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. ๊ฒฐ๋ก 

Lens๋Š” Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋กœ, ๋‹ค์ˆ˜์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฐœ๋ฐœ์ž์™€ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Kubernetes์˜ ๋ณต์žก์„ฑ์„ ๊ทน๋ณตํ•˜๊ณ , ๊ฐœ๋ฐœ ๋ฐ ์šด์˜์˜ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Lens์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์„ ๊ณ ๋ คํ•˜์—ฌ ์ ํ•ฉ์„ฑ์„ ํ‰๊ฐ€ํ•˜๊ณ  ๋„์ž… ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€