1. MetalLB 설치

 

 1.1. 다운로드 : wget https://raw.githubusercontent.com/metallb/metallb/v0.14.9/config/manifests/metallb-native.yaml 

 1.2. 설치 : kubectl apply -f metallb-native.yaml

 

2. MetalLB 설정

 

 2.1. MetalLB가 사용할 IP 주소 풀 정의 : vi ipaddress.yml

apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: behwang-pool
  namespace: metallb-system
spec: 
 addresses:
 - 172.16.0.201-172.16.0.210

 

 2.2. 실행 : kubectl apply -f ipaddress.yml

 2.3. Layer 2(ARP) 광고 설정 : vi l2adv.yml

apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: test
  namespace: metallb-system
spec:
  ipAddressPools:
  - behwang-pool

 

 2.4. 실행 : kubectl apply -f l2adv.yml

 

3. NGINX 배포

 3.1. 디렉토리 만들기 : mkdir /dep

 3.2. 디렉토리 이동 : cd /dep

 3.3. NGINX 배포 설정 : vi loadnginx.yml

apiVersion: apps/v1
kind: Deployment
metadata: 
     name: load-nginx
     labels: 
        load: nginx
spec: 
    replicas:
    selector:
        matchLabels:
             app: nginx
        template:
           metadata:
                name: tem-nginx
                     labels:
                         app: nginx
        spec:
            containers:
             - name: nginx
               image: nginx
               imagePullPolicy: Never
               ports:
               - containersPort: 80 
 3.4. 실행 : kubectl apply -f loadnginx.yml
 3.5. LoadBalancer 서비스 설정 : vi loadsvc.yml
 
apiVersion: v1
kind: Service
metadata:
     name: load-dep
     labels:
        load: nginx
spec:
    selector:
       app: nginx
    type: LoadBalancer
    ports:
    - port: 80
      targetPort: 80
 3.6. 실행 : kubectl apply -f loadsvc.yml

 3.7. index.html 파일 만들기 : vi index.html

<html>
<body>
<h1>K8S-LOAD-WEB-1</h1>
</body>
</html>

 

 3.8. Pod 내부에 html 파일 복사 : kubectl cp index.html <PodName>:/usr/share/nginx/html/

  * 실행 중인 3개 Pod 중 첫번째 

 3.9. index.html 파일 만들기 : vi index.html

<html>
<body>
<h1>K8S-LOAD-WEB-2</h1>
</body>
</html>

 

 3.10. Pod 내부에 html 파일 복사 : kubectl cp index.html <PodName>:/usr/share/nginx/html/

  * 실행 중인 3개 Pod 중 두번째 

 3.11. index.html 파일 만들기 : vi index.html

<html>
<body>
<h1>K8S-LOAD-WEB-3</h1>
</body>
</html>

 

 3.11. Pod 내부에 html 파일 복사 : kubectl cp index.html <PodName>:/usr/share/nginx/html/

  * 실행 중인 3개 Pod 중 세번째 

 

 

 

 

 
 
 

+ Recent posts