๐งโโ๏ธ ๋คํธ์ํฌ ์ ์ฑ ์ ์ข ๋ฅ
๋คํธ์ํฌ ์ ์ฑ
์ ์ฌ์ฉ์๊ฐ ํด๋ฌ์คํฐ ๋ด์์ ๋ฌด์จ ํธ๋ํฝ์ด ํ์ฉ๋๋์ง ์ ํ๋๋ก ํ๋ค.
์ ํต์ ์ธ ๋ฐฉํ๋ฒฝ์ source IP ๋๋ destination IP ๋ฐ ํฌํธ ๋ฒํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก permit ๋๋ deny๋ฅผ ์์ผฐ์ง๋ง, Cilium์ label selector, namespace name, FQDN๋ฑ๊ณผ ๊ฐ์ ์ ์์ผ๋ก ๋ฃฐ์ ์์ฑํด์ ์ด๋ค ํธ๋ํฝ์ด ๊ฐ๋ฅํ๊ณ , ๋ถ๊ฐ๋ฅํ์ง๋ฅผ ์ ํ ์ ์๋๋ก ํด์ค๋ค.
์ฟ ๋ฒ๋คํฐ์ค์ ๊ฐ์ด IP์ฃผ์๊ฐ ๊ณ์ ๋ฐ๋๊ณ Pod๊ฐ ๊ณ์ ์ด์๋๊ณ ์ฃฝ๋ ํ๊ฒฝ์์ ๋คํธ์ํฌ ์ ์ฑ
์ ์ง๊ธฐ ์ข๊ฒ ํด์ค๋ค.
Cilium์ Kubernetes์์ ์คํํ ๋, Kubernetes Resource๋ก ๋คํธ์ํฌ ์ ์ฑ
์ ์ ์ํ ์ ์๋ค.
Cilium Agent๋ ๋คํธ์ํฌ ์ ์ฑ
์ ์
๋ฐ์ดํธ๋ฅผ ์ํด Kubernetes APIserver๋ฅผ ๊ด์ฐฐํ๋ฉฐ, ์ค์ํ eBPF ํ๋ก๊ทธ๋จ์ ๋ก๋ฉํ์ฌ ์ ์ฉํ๊ณ ์ ํ๋ ๋คํธ์ํฌ ์ ์ฑ
์ ๊ตฌํ์ด ๋๋๋ก ํ๋ค.
Kubernetes์์, Cilium์ ์ธ ๊ฐ์ง ๋คํธ์ํฌ ์ ์ฑ ์ด ๊ฐ๋ฅํ๋ค:
- L3/L4๊ณ์ธต ์ ์ฑ
์ ์ง์ํ๋ ๊ธฐ๋ณธ Kubernetes์
NetworkPolicy - L3/L4/L7๊ณ์ธต ์ ์ฑ
์ ์ง์ํ๋
CiliumNetworkPolicy - ๋ค์์คํ์ด์ค๋ฅผ ๋ฒ์ด๋ ํด๋ฌ์คํฐ ์ ์ฒด์ ์ ์ฑ
์ ์ํ
CiliumClusterwideNetworkPolicy
Cilium์ ์ด ์ธ ๊ฐ์ง ์ ์ฑ
์ ๋์์ ์ง์ํ๋ค.
๊ทธ๋ฌ๋, ๋ค์ํ ์ ์ฑ
ํ์
์ ์ฌ์ฉํ ๋์๋ ์ฃผ์ํด์ผ ํ๋ค. ์ฌ๋ฌ ์ ์ฑ
ํ์
๋ค ๊ฐ์ ํ์ฉ๋ ํธ๋ํฝ๋ค์ ๋ํ ์ดํด๊ฐ ์ด๋ ค์์ง๊ธฐ ๋๋ฌธ์ด๋ค.
์ธ์ฌํ ์ฃผ์๊ฐ ์๋ค๋ฉด, ์๋์น ์์ ์ ์ฑ
์ด ๋ ์ ์๋ค.
networkpolicy.io์ ์๊ฐํ ๋๊ตฌ๋ ์๋ก ๋ค๋ฅธ ์ ์ฑ
์ ์๊ฐ ๋ฏธ์น๋ ์ํฅ์ ๋ณด๋ ๋ฐ ๋์์ ์ค๋ค.
๐ NetworkPolicy ๋ฆฌ์์ค
NetworkPolicy ์์์ IP์ฃผ์ ๋๋ ํฌํธ ๋ ๋ฒจ์์์ ํธ๋ํฝ ํ๋ฆ์ ์ ์ดํ๋ L3/L4 ๊ณ์ธต์ ์ ํต์ ์ธ ์ฟ ๋ฒ๋คํฐ์ค ์์์ด๋ค.
๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ํ ์ ์๋ค:
- Label Matching์ ์ด์ฉํ L3/L4 Ingress ๋ฐ Egress ์ ์ฑ
- ํด๋ฌ์คํฐ ์ธ๋ถ์ L3 IP/CIDR์ ๋ํ L3 IP/CIDR Ingress ๋ฐ Egress์ ์ฑ
- L4 TCP ๋ฐ ICMP ํฌํธ์ ๋ํ Ingress ๋ฐ Egress ์ ์ฑ
๐ CiliumNetworkPolicy ๋ฆฌ์์ค
CiliumNetworkingPolicy๋ ํ์ค NetworkPolicy์ ํ์ฅ์ด๋ค.
๋ค์์ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋ค:
- Ingress์ Egress๋ฅผ ํน์ HTTP path๋ก ์ ํํ๋ L7 HTTP ํ๋กํ ์ฝ ์ ์ฑ ๋ฃฐ
- DNS, Kafka, gRPC๋ฑ์ ์ถ๊ฐ์ ์ธ L7 ํ๋กํ ์ฝ ์ง์
- ํด๋ฌ์คํฐ ๋ด๋ถ ํต์ ์์์ Service์ด๋ฆ ๊ธฐ๋ฐ์ Egress ์ ์ฑ
- ํน๋ณํ Entity๋ฅผ ์ํ Entity matching์ ์ฐ๋ L3/L4 Ingress ๋ฐ Egress ์ ์ฑ
- DNS FQDN ๋งค์นญ์ ์ฌ์ฉํ๋ L3 Ingress ๋ฐ Egress ์ ์ฑ
Cilium project documentation์์ ์ผ๋ถ YAML ์ฌ์ฉ์ฌ๋ก๋ฅผ ํ์ธํ ์ ์๋ค.
YAML๋ง์ ์ฝ๊ณ , ์ด๋ค ํธ๋ํฝ์ด ํ์ฉ๋๊ณ ๊ฑฐ๋ถ๋ ์ง๋ฅผ ์์ธกํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ต์ง๋ง, ์ ํํ๊ฒ ์๋๋ ์ ์ฑ
์ ๋ง๋๋ ๊ฒ์ ๊ฐ๋ง ๋ ์ผ์ด ์๋๋ค.
๋คํํ๋, networkpolicy.io์์๋ ์ด๋ฌํ ์์
์ ๋ ์ฝ๊ฒ ๋์์ค๋ค.
โ๏ธ Networkpolicy.io Policy Editor
NetworkPolicy.io์ policy editor๋ L3 ๋ฐ L4 ๋คํธ์ํฌ ์ ์ฑ
์ ์ฐพ์๋ณด๊ณ ๋ง๋๋ ๊ฒ์ ๋ํด ์ข์ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
์๊ฐ์ ์ธ ์๋ฃ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ , ์ ์ฑ
์ ๊ณ ๋ฅผ ์ ์๊ฒ ํด์ค๋ค.
Policy editor๋ ํ์ค Kubernetes NetworkPolicy์ CiliumNetworkPolicy ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ๋ค.
์์๋ ์ ์ฑ
๋ค์ ์๊ฐํํด์ฃผ๋ ์๋น์ค ๋งต์ด ์๋ค.
์ด๋ก ์์ ํ์ฉ, ๋ถ์ ์์ ๊ฑฐ๋ถ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค.
์ด๋ฌํ UI๋ฅผ ๋ณด๋ฉด์ ํด๋ฌ์คํฐ ๋ด์ธ์ Ingress์ Egress ์ ์ฑ
์ ์ธ์ธ ์ ์๋ค.
์ข์ธก ํ๋จ์๋, read-only YAML์ด ์๋ค.
ํ์ค Kubernetes NetworkPolicy๋๋ CiliumNetworkPolicy์ค์์ ๊ณ ๋ฅผ ์ ์๋ค.
๋ํ ์ ์ฑ
์ ๋ค์ด๋ฐ์์ kubectl๋ก ์ ์ฉํ ์๋ ์๋ค.
๊ธฐ์กด ์กด์ฌํ๋ policy ์ ์๋ฅผ ์
๋ก๋ํ ์ ์๊ณ , ์๊ฐํ๋ก ์ด๋ป๊ฒ ๋์ํ๋์ง๋ ๋ณผ ์ ์๋ค.
์ ์ฑ
์ ์๊ฐํํ๋ ๊ฒ์ ์ ์ฑ
๋ฃฐ์ด ์๋ํ ๋๋ก ์์ง์ด๋์ง ํ์ธํ๊ธฐ ์ข๋ค.
์ฐ์ธก ํ๋จ์๋, ์ผ๋ฐ์ ์ธ ์ํฉ์์์ ์ ์ฑ
์ ๋ง๋๋ ๋ฐฉ๋ฒ๋ฑ์ ์๋ ค์ค๋ค.
Hubble flow๋ฅผ ์
๋ก๋ํ ์๋ ์๊ณ , Hubble์ด ๋ฌด์์ ๋ณผ ์ ์๋์ง์ ๋ํ ์ผ๋ฐ์ ์ธ ๋คํธ์ํฌ ์ ์ฑ
์ ์์ฑํ ์๋ ์๋ค.
์ฃผ์ํ ์ ์, ์์ง L7์ง์์ ์๋๋ค๋ ๊ฒ์ด๋ค.
โ L7 CiliumNetworkPolicy์ด ๊ฐ๋ฅํ ๊ฒ
CiliumNetworkPolicy๊ฐ ๊ธฐ์กด ์ ์ฑ ๊ณผ ๋ค๋ฅธ ์ ์, L7 protocol์ ์ดํดํ๋ ์ ์ฑ ์ ์๋ค. Cilium์์๋, HTTP, Kafka, DNS๋ฑ์ L7์ง์์ด ๊ฐ๋ฅํ๋ค. L7์ ์ฑ ๋ฃฐ์ L4์ toPorts๋ฅผ ํ์ฅํ์ฌ networkpolicy.io์์์ ๋ง๋ค์ด์ง YAML ๋ง๋ํ์คํธ์ ์ถ๊ฐํ๊ธฐ๋ ์ฝ๋ค. L7 ์ ์ฑ ๋ฃฐ์ ์์ฑ์ Cilium์ ์ฌ๋ฌ ํ๋กํ ์ฝ์ ๋ํด ๋ค๋ฅธ ์์ฑ๋ค์ ๊ฐ์ง๋ค. https://docs.cilium.io/en/latest/security/policy/language/#layer-7-examples์ ์์ง๋ง, ์ฌ๊ธฐ์๋ HTTP๋ง ๋ณผ ๊ฒ์ด๋ค.
๐ธ๏ธ L7 HTTP ์ ์ฑ
L7 HTTP ์ ์ฑ ์ด ํ์ฑํ๋๋ฉด, ํด๋น ํ๋๊ฐ ๋์๊ฐ๋ ๋ ธ๋์ Cilium Agent๋ local-only์ HTTP proxy service์ eBPFํ๋ก๊ทธ๋จ์ ์คํํ์ฌ ํจํท์ local HTTP proxy์์ ํฌ์๋๋๋๋ก ํ๋ค.
HTTP proxy๋ L7 ๋คํธ์ํฌ ์ ์ฑ
์ ๋ฐ๋ฅด๊ณ , ์ ์ ํ๊ฒ ํจํท์ ์ ๋ฌํ๋ค.
์ถ๊ฐ์ ์ผ๋ก, HTTP ํ๋ก์๊ฐ ์๋ค๋ฉด, Hubble flows์์ L7๊ด์ฐฐ์ฑ์ ์ ๊ณต๋ฐ๋๋ค.
L7 HTTP ์ ์ฑ ์ ์์ฑํ ๋, ๋ค์์ ํ๋๋ค์ ์ฌ์ฉํ ์ ์๋ค:
- Path
URL์์ POSIX์ ๊ทํํ์์ด ์ ์ฉ๋์ด ๋งค์นญ๋๋ค.
๊ณต๋ฐฑ ์, ๋ชจ๋ pathํ์ฉ์ผ๋ก ๊ฐ์ฃผํ๋ค. - Method
์์ฒญ์ HTTP ๋ฉ์๋์ด๋ค(GET, POST, PUT, PATCH, DELETE).
๊ณต๋ฐฑ ์, ๋ชจ๋ ๋ฉ์๋ ํ์ฉ์ผ๋ก ๊ฐ์ฃผํ๋ค. - Host
POSIX ์ ๊ทํํ์์ด ๋งค์นญ๋์ด ์ ์ฉ๋๋ ์์ฒญ์ host ํค๋์ด๋ค.
๊ณต๋ฐฑ ์, ๋ชจ๋ hostํ์ฉ์ผ๋ก ๊ฐ์ฃผํ๋ค. - Headers
ํ์๋ก ์๊ตฌํ๋ HTTP ํค๋๋ฅผ ์ ์ด์ผ ํ๋ค.
๊ณต๋ฐฑ ์, ํค๋์ ์๊ด์์ด ํ์ฉ๋๋ค.
์๋ ์์๋ app=myService๋ผ๋ label์ ๊ฐ์ง ๋ชจ๋ endpoint๋ค์ ๋ํด TCP 80๋ฒ L4๊ท์น์ ์
๊ทธ๋ ์ด๋ ํ์ฌ L7๊ท์น๋ค๋ก ํ์ฅํ๋ค.
๋ค์์ ํธ๋ํฝ๋ค๋ง ํ์ฉ๋๋ค:
GET /v1/path1
GET /v1/path1๋ง ํ์ฉํ๋ค.PUT /v2/path2.*
โ/v2/path2.*โ๋ก ์์ํ๋ ๋ชจ๋ ๊ฒฝ๋ก์ PUT์ ํ์ฉํ๋ค.Post .*/path3
โ/path3โ์ผ๋ก ๋๋๋ ๋ชจ๋ path๋ฅผ ํ์ฉํ๊ณ , HTTP ํค๋๋กX-My-Header๊ฐtrue๊ฐ์ ๊ฐ์ ธ์ผ ํธ๋ํฝ์ด ํ์ฉ๋๋ค.
|
|
L7๊ท์น์ L4๊ท์น์์ ๋ ํ์ฅ๋ ๊ฒ ์ฒ๋ผ ํ์ํ๊ณ ์๋ค.
์ฆ, L7๊ท์น์ L4๊ท์น์์ ์์ํด์ ๋ถ์ฌ๋๊ฐ๋ ์์ด ์ข๋ค.
๐ ์ค์ต: L4/L7 ๋คํธ์ํฌ ์ ์ฑ
์๋๋ฆฌ์ค
๋น์ ์ Empire์ ํ๋ซํผ ํ์ด ๋์ด, IGKS(Imperial Galatic Kubernetes Service)์ Death Star API๋ฅผ ๋ฐฐํฌํด์ผ ํ๋ค.
์๋น์ค๋ ์ด๋ฏธ ๋ฐฐํฌ๊ฐ ๋์ด์์ง๋ง, Empire์ TIE ์ ํฌ๊ธฐ๋ค๋ง์ด ์ฐฉ๋ฅ ์์ฒญ์ ํ ์ ์๋๋ก ๋ณด์ฅํด์ผ ํ๋ค.
์ด ์์ฒญ์ HTTP POST ๋ฉ์๋๋ฅผ ํตํด์๋ง ๊ฐ๋ฅํด์ผ ํ๊ณ , ๋ค๋ฅธ ๊ฒฝ๋ก์์๋ PUT ๋ฉ์๋ ๋ฑ์ ์ฌ์ฉํ์ง๋ ๋ชปํ๊ฒ ํด์ผํ๋ค.
๋ฌผ๋ก TIE ํ์ผ๋ฟ๋ค์ด ์ผ๋ถํฐ exhaust port์ ๋ญ๊ฐ๋ฅผ ํ ์ผ์ ์๊ฒ ์ง๋ง, ์ฐ๋ฆฌ๋ ์ฌ๊ณ ์ ๋๋นํด์ผ ํ๋ค.
CiliumNetworkPolicy๋ฅผ ์ด์ฉํด์ผ ํ๋ค.
์ด๋ ๋จ์ํ ๊ธฐ์ ๋ฌธ์ ๊ฐ ์๋๋ผ, ๋ค์ค ๋ฒ ์ด๋๊ฐ ๋น์ ์ ์ ๋ขฐํ ์ ์์๊น์ ๋ํ ๋ฌธ์ ์ด๋ค.
๊ทธ์ ๋ถ์ ์ ์ฌ๋ ์๊ฐโฆ ๊ฒฐ๊ณผ๋ ๋์ฐํด์ง๋ค.
์ฆ, ๋ชฉํ๋ TIE ์ ํฌ๊ธฐ๋ค์ด ์ค์ง โ์ฐฉ๋ฅ ์์ฒญโ์ ์ํ HTTP POST์์ฒญ๋ง ๊ฐ๋ฅํ๋๋ก Death Star ์๋น์ค์ ์ ๊ทผ์ ์ ํํ๋ CiliumNetworkPolicy ๋ฆฌ์์ค๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ค.
์ค์ต ์ธํ
์ฐ์ , Cilium์ด ์ค์น๋ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๊ฐ ์์ด์ผ ํ๋ค. Death Star ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํด์ผ ํ๋ค. Cilium Project์๋ Death Star demo application์ด ์๋ค.
๋ ํฌ์งํ ๋ฆฌ์์ ๋ง๋ํ์คํธ๋ฅผ ๋ฐ์ผ๋ฉด ๋๋ค.
|
|
์ ๊น! X-wings๊ฐ ํด๋ฌ์คํฐ์ ์๋ค? ์ด๊ฒ ๋ฌด์จ ์ผ์ด์ง?
๊ด์ฐฎ๋ค. X-wings๊ฐ Death Star service์ ์ ์ํ์ง ๋ชปํ๋ค.
Death Star ์๋น์ค๋ ๋ง๋ค์ด์ก๊ณ , ์ค์ง ํด๋ฌ์คํฐ์ ๋ด๋ถ IP๋ง ๊ฐ์ง๋ค.
๊ทธ๋ฌ๋ฏ๋ก, ํด๋ฌ์คํฐ์ ๋ด๋ถ๋ง์์๋ง ์ ๊ทผ ๊ฐ๋ฅํ๋ค.
|
|
์ถ๊ฐ๋ก, Cilium Endpoint๊ฐ ๊ฐ Pod๋ฅผ ์ํด ์๊ธด ๊ฒ์ ๋ณผ ์ ์๋ค:
|
|
Cilium์ ๊ฐ Death Star ๋ฒก์๋ Pod์ ํด๋นํ๋ Endpoint๋ฅผ ๋ง๋ค์ด์ฃผ์๋ค.
X-wing๊ณผ TIE ์ ํฌ๊ธฐ Pod๋ค ์ญ์ ๊ทธ๋ ๋ค.
Note
deathstar-* ์๋ํฌ์ธํธ๋ ๊ฐ์ IDENTITY ID๋ฅผ ๊ฐ์ง๋ค.
์ด์ ์ฑํฐ์์ ์ธ๊ธํ๋ฏ์ด, ๊ฐ์ Cilium์ ์์ ๊ฐ์ง๋ค.
label์ ์กฐํฉ์ด ๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค.
Cilium Agent๋ ์ด Identity ID๋ก ์ ์ ํ ๋คํธ์ํฌ ์ ์ฑ ์ ๋งค์นญํ๋ค.
์์ง ์๋ฌด๋ฐ ๋คํธ์ํฌ ์ ์ฑ
์ด ์๋ค.
์์ชฝ ๋ค Death Star ๋ฒก์๋ ํ๋์ ๋ด๋ฆด ์ ์๋ค.
๋๋ค ์ฐฉ๋ฅ์ ์์ผ๋ณด์:
|
|
Death Star ์๋น์ค์ ์ ์ฑ ์ ์ฃผ์ด์, ์ํ๋ Pod๋ง ์ฐฉ๋ฅํ ์ ์๋๋ก ํด๋ณด์!
Empore์ Ingress ํ์ฉ ์ ์ฑ
X-wing Pod๋ค์ด Death Star์ ์๋น์ค ์๋ํฌ์ธํธ์ ์ ์ํ์ง ๋ชปํ๊ฒ ํ๋ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ Label๊ธฐ๋ฐ์ L3์ ์ฑ
์ด๋ค.
L3์ ์ฑ
์ ๋ชจ๋ ํฌํธ๋ค์ ๋ง์๋ฒ๋ฆฐ๋ค.
ํฌํธ ๋ฒํธ ๊ธฐ๋ฐ์ผ๋ก ๋ง๊ณ ์ถ๋ค๋ฉด, L4๋ฅผ ์ด์ฉํด์ผ ํ๋ค.
xwing Pod๋ org=alliance๋ฅผ, tiefighter Pod๋ org=empire label์ ๊ฐ์ง๋ค.
|
|
TCP 80๋ฒ ํฌํธ๋ฅผ ์ฐธ์กฐํ๋ L4๋คํธ์ํฌ ์ ์ฑ
์ org=empire๋ผ๋ฒจ์ ํ Pod๋ง ํ์ฉํ๊ณ , xwing Pod๋ค์ Death Star ์๋น์ค ์๋ํฌ์ธํธ๋ก๋ถํฐ ์ฐจ๋จํ๋ค.
์ฐ๋ฆฌ๋ networkpolicy.io์ policy editor๋ฅผ ์ด์ฉํ ์ ์๋ค.
๊ฐ์ด๋ฐ๋ฅผ ์์ ํด์, Policy์ ์ด๋ฆ์ ๋ฃ์ด์ฃผ๊ณ , Endpoint selector์ deathstar์ label์ ๋ฃ์ด์ค๋ค.

Ingress์ธก์ Namespace์์์ Pod selector๋ก org=empire, To ports์๋ 80|TCP๋ก ์
๋ ฅํ๋ค.

์ด์ , YAML์ ์๋์ ๊ฐ์ด ๋์ฌ ๊ฒ์ด๋ค:
|
|
์ด L4์ ์ฑ ์ด deathstar-* Pod service endpoint๋จ์์ ์ ์ด๋ง ํ๊ณ , Death Star service, ์ฆ L7์์ค์ ์ ์ด๋ ๋์ง ์๋ ๊ฒ์ ๋ช ์ฌํ๋ผ.
๋ง์ฝ Pod์ Egress ์ ๊ทผ์ ์ ์ดํ๊ณ ์ถ๋ค๋ฉด, client pod์ egress์ ์ฑ
์ ์ค์ ํด์ toServices์ ๋ณด๋ฅผ ์ง์ ํด์ฃผ๋ฉด ๋๋ค.
์ด๋ ๊ฒ๋ ์์ ๋์ผํ๊ฒ ๊ฐ๋ฅ์ ํ์ง๋ง, ์ด ์ํฉ์์๋ Ingress๊ท์น๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ๊ฐ๋จํ๋ค.
๋ง์ฝ Pod๋ง๋ค ์ด๋ ๊ณณ์ ํธ๋ํฝ์ ๋ณด๋ผ ์ ์๋์ง ๊ตฌ์ฒด์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ถ์ ๋ Egress๋ฅผ ์จ์ฃผ๋๊ฒ์ด ์ ์ ํ๋ค.
์ด์ , ์ค์ ๋ก ์ ์ฉํด๋ณด์.
|
|
์ด์ , X-Wing์ ๋์ด์ API๋ฅผ ๋ ๋ฆด ์ ์๋ค.
ํ์์์์ด ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
|
|
๊ทธ๋ฌ๋, tiefigher Pod๋ ์ฑ๊ณตํ๋ค:
|
|
์ด์ X-wing Pod๋ ์๋ฌด ์ก์ธ์ค๋ ์๋ค.
๊ทธ๋ฌ๋, org=empire๋ผ๋ฉด ๋ชจ๋ API๋ฅผ ๋๋ฆด ์ ์๋ค.
์ค์๋ก ์์ ๊ณ ๊ฐ ์์ฒญ์ ๋ ๋ ธ๋ค๊ณ ํด๋ณด์:
|
|
์ด๋ฐ! ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ L7์ ์ฑ ์ ํ ๋นํ์ฌ ์ด๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
L7 HTTP ์ ์ฑ ๋ง๋ค๊ธฐ
๊ธฐ์กด YAML์์ path๊ธฐ๋ฐ ์ ์ฑ
์ ํ์ฅํด๋ณด์.
์๋ ๊ท์น์ org์ class label์ ๋งค์นญํ๋ ค๋ ๋ค.
|
|
์ ์ฅ ํ, ์ ์ฉํด๋ณด์.
|
|
์ด์ , TIE ์ ํฌ๊ธฐ๋ค์ ์์๊ณ ๊ฐ API์์ฒญ์ ๋ํด HTTP 403 ์๋ต์ ๋ฐ๋๋ค.
Cilium Agent์ ๋ด์ฅ๋ HTTP proxy๊ฐ ๋์ ์๋ตํด์ค ๊ฒ์ด๋ค.
|
|
X-wing์ L4์ ์ฑ
์ผ๋ก ์ ๊ทผํ์ง ๋ชปํด์ HTTP ๋ฉ์์ง๋ ๋ชป๋ฐ๊ณ ํ์์์์ด ๋๋ค.
์ฐ๋ฆฌ๋ TIE ์ ํฌ๊ธฐ๋ค์ด ์ฐฉ๋ฅ ์์ฒญ๋ง ๋ ๋ฆด ์ ์๊ณ , ์์๊ณ ๊ฐ API๋ ์์ฒญํ ์ ์๊ฒ ๋์๋ค.
Note
L3/4 ์ ์ฑ ๊ณผ L7์ ์ฑ ์ ์๋ต ์ฐจ์ด๋ ๊ตฌํ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
L3/4์ด์์๋ eBPFํ๋ก๊ทธ๋จ์ด ํจํท์ ๋๋กญํ๊ณ , ๋คํธ์ํฌ์ ๋ธ๋ํ์ ๋น ์ง๊ฒ ๋๋ค.
L7 ๋คํธ์ํฌ ์ ์ฑ ์ HTTP proxy๊ฐ ์์ฒญ์ ๋ํด ๊ฒฐ์ ํ๊ณ , HTTP ์ํ ๋ฉ์์ง์ ์ฌ์ ๋ฅผ ๊ฐ์ด ์๋ตํ๋ฉฐ ์๋ต์ ๊ฑฐ์ ํ๋ค.
๐ ๊ฒฐ๋ก
CiliumNetworkPolicy๋ Pod๊ฐ ํต์ ์์ ์์ ํ๊ฒ ์ ๊ทผ์ ์ด๋ฅผ ํ๋ ๋ฐฉ์ ์ค ํ๋์ด๋ค.
Pod๋ค์ ํต์ ์์ ์ ์ฒด ๊ถํ์ ์ฃผ๊ธฐ๋ณด๋ค, CiliumNetworkPolicy๋ฅผ ํตํด์ ์ต์ ๊ถํ์ผ๋ก ์ ์งํ๋ ๊ฒ์ด ์ข๋ค.
์ด๋ ๊ฒ ์ต์ ๊ถํ์ผ๋ก ์ ์งํ๋ ๊ฒ์ ์๋น์ค๊ฐ ์๋์ง ์๊ฒ ๋์ํ๋ ๊ฒ์ ๋ง์์ฃผ๊ณ , ๋ณด์์๋ ์ข๋ค.