Skip to content

UI 설명

kimsanghoon1 edited this page Mar 19, 2019 · 9 revisions

1. 화면 기능 설명

1. 현재 서비스중인 Pod, Deployment, Service 들의 정보를 조회하여 테이블로 보여준다. (Namespace별 혹은 전체)
2. 새로운 Pod, Deployment, Service를 배포하거나, 기존에 배포되어 있는 것을 수정, 또는 삭제 할 수 있다.

2. 화면 설명

UI 전체구조

최초 로드시 화면

각 버튼의 정보는 다음과 같다.

1. Namespace 선택 메뉴

보고싶은 Namespace를 선택하여 확인 할 수 있다. (전체 조회 또는 Namespace별 조회)

현재 Pod, Deployment, Service 중 1개라도 존재하는 Namespace만 목록에 있음.

2. Pod, Deployment, Service 선택 메뉴

위에서 선택한 Namespace를 기준으로 Pod, Deployment, Service 중 1가지를 선택하여 확인 할 수 있다.

3. 결과 테이블

위에서 선택한 Namespace와 타입을 기준으로 결과를 조회하여 표시한다.

podresult

Namespace Default를 기준으로 Pod를 조회한 화면
아래의 Kubernetes 명령어와 같다.
# pod 조회
example@ex~$ kubectl get po
NAME                                       READY   STATUS    RESTARTS   AGE
deploy-monitor-676768f57b-vksn2            2/2     Running   0          4d
pod-monitor-576ddd78b-xf7rm                2/2     Running   0          6d
service-kube-controller-5f68c6b48d-vgp9n   2/2     Running   0          4d
service-monitor-6bc8dd946-pn2g7            2/2     Running   0          6d
serviceapi-bb7d6458b-nmznt                 2/2     Running   0          4d
serviceui-679b6b749f-lpjl4                 2/2     Running   0          10d

deployresult

Namespace Default를 기준으로 Deployment를 조회한 화면
아래의 Kubernetes 명령어와 같다.
# deployment 조회
example@ex~$ kubectl get deploy
NAME                      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy-monitor            1         1         1            1           6d
pod-monitor               1         1         1            1           6d
service-kube-controller   1         1         1            1           6d
service-monitor           1         1         1            1           6d
serviceapi                1         1         1            1           6d
serviceui                 1         1         1            1           10d

svcresult

Namespace Default를 기준으로 Service를 조회한 화면
아래의 Kubernetes 명령어와 같다.
# service 조회
example@ex~$ kubectl get svc
NAME         TYPE           CLUSTER-IP       EXTERNAL-IP            PORT(S)          AGE
kubernetes   ClusterIP      CLUSTER-IP       <none>                 443/TCP          26d
serviceapi   ClusterIP      CLUSTER-IP       <none>                 8080/TCP         6d
serviceui    LoadBalancer   LoadBalancer     <none>                 8080:30856/TCP   10d

4. ADD 버튼

ADD 버튼은 선택한 Namespace와, Type을 기준으로 YAML을 작성하여 배포한다.

image

최초화면

1. 사용법

  1. 작성되어있는 YAML파일 (현재 ---로 여러개로 나뉘어져 있는 YAML 파일은 불가) 을 불러오거나 또는 Template을 선택하여 기본 형태를 로드한다.
  2. YAML을 작성 후, Confirm 버튼을 누르면 배포된다.

2. 예제

nginx pod를 default namespace에 배포하는 방법.

  1. namespace default 설정, pod를 조회한 화면에서 Add버튼을 클릭하고 Template를 누르면 기본 pod yaml의 형태가 나온다. image

  2. 작성은 왼쪽 CodeEditor와, 오른쪽의 Input 에서 모두 작성가능하다. image

  3. CodeEditor에 있는 Download를 통하여서 작성된 yaml파일을 다운로드 받아서 재사용 할 수있다.

  4. 오른쪽의 Input창에 podname과, pod image에 nginx 를 입력 후 confirm을 누른다.

  5. 배포가 된 것을 확인 할 수 있다. image

# pod 조회
example@ex~$ kubectl get po -w
NAME                                       READY   STATUS    RESTARTS   AGE
deploy-monitor-676768f57b-vksn2            2/2     Running   0          4d2h
pod-monitor-576ddd78b-xf7rm                2/2     Running   0          6d2h
service-kube-controller-5f68c6b48d-vgp9n   2/2     Running   0          4d2h
service-monitor-6bc8dd946-pn2g7            2/2     Running   0          6d2h
serviceapi-bb7d6458b-nmznt                 2/2     Running   0          4d2h
serviceui-679b6b749f-lpjl4                 2/2     Running   0          10d
nginx   0/2   Pending   0     0s
nginx   0/2   Pending   0     0s
nginx   0/2   Init:0/1   0     0s
nginx   0/2   PodInitializing   0     2s
nginx   2/2   Running   0     10s
아래의 Kubernetes 명령어와 같다.
# pod 등록
example@ex~$ kubectl apply -f example.yaml

5. Edit, Delete 버튼

기존에 배포된 Pod, Deployment, Service를 수정 또는 삭제를 할 수 있다.

1. Edit 사용법

1. nginx Deployment 생성

위에 작성한 방법과 아래 작성되는 내용은 같으므로 [ 2. nginx Deployment 수정 ] 으로 넘어가도 된다.
  1. Namespace를 Default로 Deployment를 조회한 후, ADD 버튼을 눌러서 Template을 연 후, YAML을 작성한다.
  2. YAML파일 작성이 어렵다면, 우측의 Input에서 nginx를 입력하여주면 된다. image
  3. 위의 그림과 같이 작성하여 배포하면 Replica가 1개로 Deployment가 배포되는 것을 확인 할 수 있다.
Deployment 배포 조회
example@ex~$ kubectl get deployment -w
NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deploy-monitor            1/1     1            1           7d17h
pod-monitor               1/1     1            1           7d17h
service-kube-controller   1/1     1            1           7d17h
service-monitor           1/1     1            1           7d17h
serviceapi                1/1     1            1           6d19h
serviceui                 1/1     1            1           10d
nginx   0/1   0     0     0s
nginx   0/1   0     0     0s
nginx   0/1   0     0     0s
nginx   0/1   1     0     0s
nginx   1/1   1     1     6s
  1. 다시 조회화면으로 돌아오면 nginx Deployment가 생성된 것을 확인 할 수 있다. image

2. nginx Deployment 수정

  1. nginx의 수정버튼을 선택한다. image
  2. 수정버튼을 클릭하면 배포된 Deployment의 정보가 표시된다.
  3. 우측의 Replicas Input에 1이 입력되어 있는데, 해당 숫자를 2로 수정하여준다.
  4. 조회화면으로 돌아오면 nginx Deployment의 Replica의 갯수가 2개로 늘어난 것을 확인 할 수 있다. image
# Deployment 조회
example@ex~$ kubectl get deployment -w
NAME                      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy-monitor            1         1         1            1           7d
nginx                     2         2         2            2           24m
pod-monitor               1         1         1            1           7d
service-kube-controller   1         1         1            1           7d
service-monitor           1         1         1            1           7d
serviceapi                1         1         1            1           6d
serviceui                 1         1         1            1           10d
# Pod 조회
example@ex~$ kubectl get po -w
NAME                                       READY   STATUS    RESTARTS   AGE
deploy-monitor-676768f57b-vksn2            2/2     Running   0          4d20h
nginx-966857787-h8zbq                      2/2     Running   0          7s
pod-monitor-576ddd78b-xf7rm                2/2     Running   0          6d19h
service-kube-controller-5f68c6b48d-vgp9n   2/2     Running   0          4d20h
service-monitor-6bc8dd946-pn2g7            2/2     Running   0          6d19h
serviceapi-bb7d6458b-nmznt                 2/2     Running   0          4d20h
serviceui-679b6b749f-lpjl4                 2/2     Running   0          10d

정상적으로 nginx deployment가 replicas 2개로 배포되어 nginx pod가 2개인것을 확인 할 수 있다.

아래의 Kubernetes 명령어와 같다.
# Deployment 수정
example@ex~$ kubectl edit deployment nginx

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  creationTimestamp: "2019-03-19T01:59:43Z"
  generation: 1
  labels:
    app: nginx
  name: nginx
  namespace: default
  resourceVersion: "4799064"
  selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/nginx
  uid: aa45b253-49ea-11e9-a568-02910c21b398
spec:
  progressDeadlineSeconds: 600
  replicas: 1 -> 2 // 1에서 2로 수정하여준다. 
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: nginx
  strategy:
... 이하 생략

2. Delete 사용법

nginx Deployment 삭제

  1. 위에서 생성한 nginx Deployment를 삭제하기위해 목록에서 nginx의 삭제버튼을 클릭한다. image

  2. 삭제 안내 창이 뜨면 확인 후 Confirm 버튼을 클릭한다. image

  3. 삭제가 완료되어, 정상적으로 Deployment에 nginx가 사라진 것을 확인 할 수 있다.

아래의 Kubernetes 명령어와 같다.
# Deployment 삭제
example@ex~$ kubectl delete deployment nginx
삭제 로그 조회
example@ex~$ kubectl get po -w
NAME                                       READY   STATUS    RESTARTS   AGE
deploy-monitor-676768f57b-vksn2            2/2     Running   0          4d20h
nginx-966857787-h8zbq                      2/2     Running   0          7s
pod-monitor-576ddd78b-xf7rm                2/2     Running   0          6d19h
service-kube-controller-5f68c6b48d-vgp9n   2/2     Running   0          4d20h
service-monitor-6bc8dd946-pn2g7            2/2     Running   0          6d19h
serviceapi-bb7d6458b-nmznt                 2/2     Running   0          4d20h
serviceui-679b6b749f-lpjl4                 2/2     Running   0          10d
nginx-966857787-h8zbq   2/2   Terminating   0     2m10s
nginx-966857787-h8zbq   0/2   Terminating   0     2m10s
nginx-966857787-h8zbq   0/2   Terminating   0     2m11s
nginx-966857787-h8zbq   0/2   Terminating   0     2m11s

example@ex~$ kubectl get deployment -w
NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deploy-monitor            1/1     1            1           7d18h
nginx                     2/2     2            2           34m
pod-monitor               1/1     1            1           7d18h
service-kube-controller   1/1     1            1           7d18h
service-monitor           1/1     1            1           7d18h
serviceapi                1/1     1            1           6d19h
serviceui                 1/1     1            1           10d
nginx   2/2   2     2     2m10s
nginx   0/1   0     0     0s
nginx   0/1   0     0     0s
nginx   0/1   0     0     0s
nginx   0/1   1     0     0s

Clone this wiki locally