[컴][웹] okteto cloud 에 application deploy 하고 개발 container 활성화 하기

옥테토 / 옥테토 클라우드 / 배포하기 /

okteto cloud 에 application deploy 하고 개발 container 활성화 하기

okteto 는 어떤 다른 application 을 개발하기 위해 사용하는 목적으로 kubernetes 를 제공한다. 그래서 여기서 이야기하는 바도 개발용으로 okteto cloud 에 application 을 deploy 하는 것이지, production service 를 위해서 deploy 하는 것은 아니다.

1. okteto movie app 배포(deploy)

배포는 간단하다. 아래 그림을 보고 따라하면 된다. 그러면 okteto cloud 에 알아서 설치되는 것을 확인할 수 있다. 대략적으로 이야기하면, okteto 가 정해진 git repository 에서 source 를 가져오고, 그 후 설정된 deploy 명령을 실행하게 된다.



 

2. Okteto CLI 설치

windows 용 okteto.exe 를 제공한다. (download : https://downloads.okteto.com/cli/okteto.exe)

3. local 에서 접근하는 okteto namespace 변경

user가 아래처럼 okteto namespace 를 하면 Okteto cloud 에서 user의 Kubernetes credentials 을 download 해준다.

C:\>d:\apps\okteto.exe namespace
Authentication required. Do you want to log into Okteto? [y/n]: y
What is the URL of your Okteto instance? [https://cloud.okteto.com]: https://cloud.okteto.com/
Authentication will continue in your default browser
You can also open a browser and navigate to the following address:
https://cloud.okteto.com/auth/authorization-code?redirect=http%3A%2F%2F127.0.0.1%3A55226%2Fauthorization-code%2Fcallback%3Fstate%3DAKjLAkB5M0xxthO%2BXljAJ1VI2xw7jyGXOH%2FISNnjwAg%3D&state=AKiLAkB5M0xythO%2BXljAJ1VI2xw8jyGXOH%2FISNnjwAg%3D
 +  Logged in as user1
 +  Updated context 'cloud_okteto_com' in 'C:\Users\<username>\.kube\config'

C:\Users\<username>\.kube 에 config 라는 file 이 생기는데, 이곳에 credential 정보가 들어있다.

이 credential 정보는 아래처럼 web ui 에서도 얻을 수 있다. 'Download Config File' 버튼을 누르면 KUBECONFIG를 설정하는 command 를 같이 보여준다. (참고: KUBECONFIG) 기본적으로 kubectl 은 KUBECONFIG 가 존재하지 않으면 기본적으로 $HOME/.kube/config 에서 kubeconfig file 을 찾는다.

 

namespace 변경

아래처럼 하면 local 에서 접근하는 namespace 를 변경할 수 있다. testmovie-xxxx 는 namespace 이름이다.

c:\>d:\apps\okteto.exe namespace testmovie-xxxx
 +  Updated context 'cloud_okteto_com' in 'C:\Users\<username>\.kube\config'

4. 개발 container 활성화

okteto up 을 하면 개발용 container(development container) 가 시작된다. 그러면 web client 에서 확인하면 api node 가 ‘In Development’ 로 변경된 것을 확인할 수 있다.

okteto up 을 하면 다음과 같은 일들이 생긴다.

  • container 가 activate 되고
  • file 이 sync 된다. 그래서 file 이 변경되면 자동으로 development container 에 반영된다.
  • container port 2개(8080, 9229) 가 열린다. 9229 는 debugger 용 port 이다.

이 개발용 container 는 기존의 api node 의 모든 Kubernetes configuration 을 상속한다. 그래서 환경변수 같은 것들도 그대로 가져온다.

접속한 development container에서 yarn start 를 하면 api 서버를 실행하게 된다. 이 서버는  web browser에서 endpoint url 로 접근하면 된다.

위에서도 이야기 했지만 개발 container 가 열린 상태에서, local 의 파일을 변경하면, 알아서 변경된 내용을 개발 container 로 반영해준다. 그러므로 이제 개발만 하면 된다.

D:\a\prog\nodejs>git clone https://github.com/okteto/movies
...

D:\a\prog\nodejs\movies\api>d:\apps\okteto\okteto.exe up
Okteto 1.12.3 is available. To upgrade:
    https://github.com/okteto/okteto/releases/latest/download/okteto.exe
Installing dependencies...
syncthing-windows-amd64-v1.14.0.zip 9.45 MiB / 9.45 MiB [----------------------------------------] 100.00% 1.10 MiB p/s
 +  Dependencies successfully installed
 +  Client certificates generated
 +  Development container activated
 +  Connected to your development container
 +  Files synchronized
    Context:   cloud_okteto_com
    Namespace: testmovie-xxxx
    Name:      api
    Forward:   8080 -> 8080
               9229 -> 9229

root@api-586475d94c-97h5n:/src# yarn start
yarn run v1.22.5
$ nodemon server.js
[nodemon] 2.0.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node server.js`
Server running on port 8080.
GET /api/movies
GET /api/watching

See Also

  1. 쿠…sal: [컴] Okteto kubernetes 에 deploy 하기

댓글 없음:

댓글 쓰기