[k8s] kubernetes 관련 명령어

2019. 12. 17. 13:52개발/Kubernetes

반응형

kubernetes 관련 명령어

  • kubectl run(실행) test(생성명) --image gradlebuild_master(실행시킬 컨테이너명) --port=9090 (실행 시킬 포트)
PS C:\Users\USER> kubectl run test --image gradlebuild_master --port=9090
>
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
  • kubectl get pods:: POD 들의 상태 조희
PS C:\Users\USER> kubectl get pods
>
NAME                    READY   STATUS             RESTARTS   AGE
test-5b9ff96bb9-gttxd   0/1     ImagePullBackOff   0          88s
  • scale deploy (POD 추가, replicas =2 갯수)
PS C:\Users\USER> kubectl scale deploy test --replicas=2
>
deployment.extensions/test scaled

PS C:\Users\USER> kubectl get pods
>
NAME                    READY   STATUS             RESTARTS   AGE
test-5b9ff96bb9-gttxd   0/1     ImagePullBackOff   0          10m
test-5b9ff96bb9-xv279   0/1     ImagePullBackOff   0          55s
  • kubectl expose deployment test --type=NodePort ::

    쿠버네티스 내부에서 띄운 컨테이너를 외부에서 접근가능하게 하기위해서는 쿠버네티스의 서비스(service)를 사용해야 합니다. 서비스를 설정하는 방법은 아래와 같습니다. 서비스의 타입은 ClusterIP, NodePort, LoadBalancer, ExteralName등 4가지가 있습니다. 서비스 타입에 대한 자세한 내용은 나중에 알아보기로 하고 우선 여기서는 NodePort를 이용해 보도록 하겠습니다.

PS C:\Users\USER> kubectl expose deployment test --type=NodePort
>
service/test exposed
  • kubectl get services:: 실행 중인 서비스 목록 확인
PS C:\Users\USER> kubectl get services
>
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP          30m
test         NodePort    10.96.150.175   <none>        9090:32511/TCP   2m48s
  • kubectl describe service test(서비스 명):: 서비스 관련 자세한 설명
PS C:\Users\USER> kubectl describe service test
>
Name:                     test
Namespace:                default
Labels:                   run=test
Annotations:              <none>
Selector:                 run=test
Type:                     NodePort
IP:                       10.96.150.175
LoadBalancer Ingress:     localhost
Port:                     <unset>  9090/TCP
TargetPort:               9090/TCP
NodePort:                 <unset>  32511/TCP
Endpoints:
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>
  • kubectl delete service test(서비스명):: 서비스 삭제
PS C:\Users\USER> kubectl delete service test
>
service "test" deleted
PS C:\Users\USER> kubectl get service
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   38m
  • kubectl delete pod --all:: POD 삭제
PS C:\Users\USER> kubectl delete pod --all
>
pod "test-5b9ff96bb9-cck97" deleted
pod "test-5b9ff96bb9-v56xh" deleted
  • kubectl get deployments :: deployment 목록 조희
PS C:\Users\USER> kubectl get deployments
>
NAME   READY   UP-TO-DATE   AVAILABLE   AGE
test   0/2     2            0           36m
  • kubectl delete deployments test (deployment 명) :: deployment 삭제
PS C:\Users\USER> kubectl delete deployments test
>
deployment.extensions "test" deleted
PS C:\Users\USER> kubectl get deployments
No resources found.
반응형