Kubernetes Service(3): Ingress(ingress-nginx) w/k3s
- kkumtree
2024-10-10T22:12:57+09:00
์ง๋ ํฌ์คํ , Kubernetes Service(2): LoadBalancer(MetalLB)์ ์ด์ด Ingress Type์ ๊ฐ๋ณ๊ฒ ์ดํด๋ณด๊ณ , Ingress-Nginx๋ฅผ ๊ฐ๋ณ๊ฒ ๋ถ์ฌ๋ณด๊ฒ ์ต๋๋ค. CloudNet@์์ ์งํํ๊ณ ์๋ K8s Advanced Network Study(์ดํ, KANS)๋ฅผ ํตํด ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค. 1. Ingress Type ์ด์ , ์ ๊ท ๊ธฐ๋ฅ(New feature)์ Gateway API์ ์ถ๊ฐ๋๋ค๊ณ ํฉ๋๋ค. ์ฐ์ , Kubernetes๊ฐ ํท๊ฐ๋ฆฌ๋ ๊ฒ ์ค ํ๋๊ฐ, Ingress Type ๊ณผ LoadBalancer Type์ ๋ช ํํ ์ฐจ์ด๊ฐ ๋ญ๊น...? ๋ผ๋ ์ ์ด๋ผ๊ณ ๋ด ๋๋ค. ๋ฌผ๋ก , ๊ทธ๊ฑฐ ์ธ์๋ k8s์๋ ์์ญ๋ฌ์ญํ ๊ฒ๋ค์ด ์-์ฃผ ๋ง์ง๋ง์. ์น์ ํ Docs์ ๋ฐ๋ฅด๋ฉด, ํด๋ฌ์คํฐ ์ธ๋ถ๋ก ํด๋ฌ์คํฐ ๋ด๋ถ ์๋น์ค์ ๋ํ HTTP ๋ฐ HTTPS ๋ผ์ฐํ ์ ๋ ธ์ถํ๋ ๊ฒ์ด๋ผ๊ณ ํฉ๋๋ค.
Kubernetes Service(2): LoadBalancer(MetalLB)
- kkumtree
2024-10-02T12:54:17+09:00
์ง๋ ํฌ์คํ , Kubernetes Service(1): ClusterIP/NodePort์ ์ด์ด LoadBalancer Type์ ๊ฐ๋ณ๊ฒ ์ดํด๋ณด๊ณ , MetalLB๋ฅผ ๊ฐ๋ณ๊ฒ ๋ถ์ฌ๋ณด๊ฒ ์ต๋๋ค. CloudNet@์์ ์งํํ๊ณ ์๋ K8s Advanced Network Study(์ดํ, KANS)๋ฅผ ํตํด ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค. 1. LoadBalancer Type Service(1)์์ ์ธ๊ธ๋ ๋ถ๋ถ์ ๊ฑฐ๋์ ๋ฏธํ๊ณ , ์ถ๊ฐ๋ก ์ ์ ์ ์๋ ๋ถ๋ถ์ด ์๋ค๋ฉด, ์๋ ํ ์ค์ด ์์ต๋๋ค. You can define a LoadBalancer Service by disabling the load balancer NodePort allocation. ๊ธ์ ๊ทธ๋๋ก LB์ NodePort ํ ๋น์ ๋นํ์ฑํ์ฌ, LoadBalancer Service๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. Disabling load balancer NodePort allocation ๋ฌธ์๋ฅผ ์ดํด๋ณด๋,
iptables monitoring with Grafana (Not Completed)
- kkumtree
2024-09-29T13:35:13+09:00
iptables๋ฅผ ์์งํ์ฌ Grafana๋ก ํํํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค. CloudNet@์์ ์งํํ๊ณ ์๋ K8s Advanced Network Study(์ดํ, KANS)๋ฅผ ํตํด ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค. 0. ํ๊ฒฝ ๊ตฌ์ฑ (kind) ์์ฑ์๊ฐ ์ด์๋ก featureGates, ConfigPatches, networking ์ค์ ์ค๋ช ์ ์คํต…ํฉ๋๋ค. a. 1 Master, 3 Slave ํ๊ฒฝ ๊ตฌ์ฑ cat <<EOT> kind-svc-1w.yaml kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 featureGates: "InPlacePodVerticalScaling": true "MultiCIDRServiceAllocator": true nodes: - role: control-plane labels: mynode: control-plane topology.kubernetes.io/zone: ap-northeast-2a extraPortMappings: - containerPort: 30000 hostPort: 30000 - containerPort: 30001 hostPort: 30001 - containerPort: 30002 hostPort: 30002 kubeadmConfigPatches: - | kind: ClusterConfiguration apiServer: extraArgs: runtime-config: api/all=true controllerManager: extraArgs: bind-address: 0.
Kubernetes Service(1): ClusterIP/NodePort
- kkumtree
2024-09-27T21:28:17+09:00
Kubernetes์ (์ปจ์ , ํน์ ์ฝ์ ํธ๋ผ ๋ถ๋ฆฌ๋) Concepts ์ค์์ Service์ ์ฃผ์ ๋ฅผ ๋ค๋ค๋ด ๋๋ค. CloudNet@์์ ์งํํ๊ณ ์๋ K8s Advanced Network Study(์ดํ, KANS)๋ฅผ ํตํด ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค. Service Docs์ ๋ช ๋ฃํ๊ฒ ์ ํ์๊ธด ํ์ง๋ง, ๋จ์ ๊ธฐ๋ฅ์ผ๋ก ์๊ฒ ์ชผ๊ฐ Pod๋ ๊ฒฐ๊ตญ ๊ฐ๋ณ์ ์ธ IP๋ฅผ ๊ฐ๊ฒ๋๋๋ฐ, Blue/Green ์ด๋ฏธ์ง ์ ๋ฐ์ดํธ๋ฅผ ๋น๋กฏํด์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ์๋ก์ด Pod์ IP๋ฅผ ๋ค๋ฅธ Pod๊ฐ IP์ฃผ์ ๊ทธ๋๋ก ์ ๊ทผํ๊ธฐ ์ด๋ ค์ ์ค๊ฐ์ ๋ ๊ฒ์ผ๋ก ์ดํด๋ฅผ ํด๋ณด์์ต๋๋ค. ์ง๊ธ ๋ ๋ฒจ์์๋ ๊ฐ์ ์ฉ ๊ณต์ ๊ธฐ์์ ๋์ IP ํ๊ฒฝ์ ๋์ํ๊ธฐ ์ํด, DDNS๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ, MAC ADDR ๊ธฐ์ค์ผ๋ก Static IP(DHCP๋ชจ๋์ ํ์ฉ)๋ฅผ ์์ฝํ๋ ๊ฒ์ ์์ ๊ทธ ์ด๋๊ฐ๋ก ๋ฉ๋ํ๊ณ ๊ณ์ ์จ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Calico Installation in Operator Mode
- kkumtree
2024-09-18T20:52:16+09:00
CloudNet@์์ ์งํํ๊ณ ์๋ K8s Advanced Network Study(์ดํ, KANS)๋ฅผ ํตํด ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค. ์คํฐ๋ ์งํ ์, Manifests๋ฅผ ์ฌ์ฉํ์ฌ Calico๋ฅผ ์ค์นํ์์ผ๋, Operator๋ฅผ ์ฌ์ฉํ์ฌ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํฉ๋๋ค. ๊ณผ์ ๋ ์๋์์ง๋ง, ์์ ๋ค๋ค Operator Framework๋ฅผ ์ฌ์ฉํด์ ๋ง๋ผ์น๊ถ ๋ณถ๋ฏ์ด Operator๋ฅผ ์ง์ง๊ณ ๋ณถ๋ ๊ฒ ๊ฐ์์ ํธ๊ธฐ์ฌ์ ์ ๋ฆฌํด๋ณด์์ต๋๋ค. ์ฐธ๊ณ ๋ก Manifests๋ฅผ ์ฌ์ฉํ์ฌ ์ค์น ์, 50๊ฐ์ ๋ ธ๋[1]๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ Typha๋ฅผ ๊ตฌ์ฑํ์ฌ์ผ ํฉ๋๋ค. Calico ์ค์น ํ๊ฒฝ : AWS EC2(No EKS), kubeadm[2], pod-network-cidr=172.16.0.0/16, IPIP Mode 1. Calico Routing Mode ์์ ์ธ๊ธ๋ IPIP Mode๋ฅผ ์ดํดํ๋ ค๋ฉด Calico์ Routing Mode๋ฅผ ํ์ ํ์์ฑ์ด ์์์ต๋๋ค.