K8s Ingress 실습

강재민·2022년 5월 23일
0

Kubernetes

목록 보기
8/29

kubernetes 설치


Ingress Addon 설치

vi ~/kubespray/inventory/mycluster/group_vars/k8s_cluster/addons.yml
...
metrics_server_enabled: true
...

...
ingress_nginx_enabled: true
...
ansible-playbook -i inventory/mycluster/inventory.ini cluster.yaml -b

Ingress 설치 확인

kubectl get ns
kubectl get all -n ingress-nginx
kubectl get all po -n kube-system


Yaml 파일

### myweb-svc-np.yaml

apiVersion: v1
kind: Service
metadata:
  name: myweb-svc-np
spec:
  type: NodePort
  selector:
    app: web
  ports:
    - port: 80
      targetPort: 8080
### myweb-rs.yaml

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: myweb-rs
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
      env: dev
  template:
    metadata:
      labels:
        app: web
        env: dev
    spec:
      containers:
        - name: myweb
          image: ghcr.io/c1t1d0s7/go-myweb
          ports:
            - containerPort: 8080
              protocol: TCP
### myweb-ing.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: myweb-ing
spec:
  rules:
    - host: '*.encore.xyz'
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: myweb-svc-np
                port:
                  number: 80

서비스 삭제

### 한개 pod 삭제 

kubectl delete pods [pod이름]
### 서비스 삭제 

kubectl delete service [service이름]
### ReplicaSet 삭제

kubectl delete rs [rs이름]

서비스 실행

kubectl create -f .

### 현재 디렉토리의 yaml파일 모두 실행

없는 도메인 으로 테스트해보기

curl --resolve www.encore.xyz:80:192.168.100.100 http://www.encore.xyz

curl --resolve www.encore.xyz:80:192.168.100.100 http://www.encore.xyz -v


서비스 종료

kubectl delete -f .

### 현재 디렉토리의 yaml파일 모두 종료

0개의 댓글