backend-and-orchestration-t.../node-server-example/README.md
2019-09-29 21:50:23 -07:00

81 lines
No EOL
1.3 KiB
Markdown
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Deploying a Node.js K8s Cluster with Kubectl
Build the image:
```
make build:
```
Run the container:
```
make run
```
Check whether the server worked
```
make curl
```
Check container's status
```
$ make status
```
#### Other useful commands
Exec inside the container:
```
$ docker exec -i -t <container name from status> /bin/bash
```
Check images in disk:
```
$ docker images
```
### Pushing the Registry to Kubernetes
In a real production system, well want to build images in one place, then run these images in the Kubernetes cluster.
The system that images for distribution is called a **container registry**.
Using a `yaml` Kubernetes files (for example, the one inside `node_server_example/`), you can now deploy the image with:
```
$ kubectl create -f node_example_kube_config.yaml
```
After that, you are able to create the service with:
```
$ kubectl expose deployment node-app-test
```
Also, check out the service status with:
```
$ kubectl get services
```
### Clean up
Removing the service and the deployment when you are done:
```
$ kubectl delete service node-app-test
$ kubectl delete deployment node-app-test
```
## Some References:
* [Dockerfiles good practices](https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#general-guidelines-and-recommendations).