Skip to content

Commit 689132e

Browse files
committed
updates readme
1 parent 40e02b4 commit 689132e

File tree

2 files changed

+144
-1
lines changed

2 files changed

+144
-1
lines changed

README.md

Lines changed: 127 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,130 @@ $ docker-compose up -d --build
1212

1313
## Kubernetes
1414

15-
WIP
15+
### Minikube
16+
17+
Install and run [Minikube](https://kubernetes.io/docs/setup/minikube/).
18+
19+
#### [Hyperkit](https://github.com/moby/hyperkit) Example
20+
21+
Install:
22+
23+
```sh
24+
$ curl -Lo docker-machine-driver-hyperkit \
25+
https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-hyperkit \
26+
&& chmod +x docker-machine-driver-hyperkit \
27+
&& sudo cp docker-machine-driver-hyperkit /usr/local/bin/ \
28+
&& rm docker-machine-driver-hyperkit \
29+
&& sudo chown root:wheel /usr/local/bin/docker-machine-driver-hyperkit \
30+
&& sudo chmod u+s /usr/local/bin/docker-machine-driver-hyperkit
31+
```
32+
33+
Run:
34+
35+
```sh
36+
$ minikube start --vm-driver=hyperkit
37+
$ eval $(minikube docker-env)
38+
$ minikube dashboard
39+
```
40+
41+
### Postgres
42+
43+
Create deployment:
44+
45+
```sh
46+
$ kubectl create -f ./kubernetes/postgres-deployment.yml
47+
```
48+
49+
Create the service:
50+
51+
```sh
52+
$ kubectl create -f ./kubernetes/postgres-service.yml
53+
```
54+
55+
Create the database:
56+
57+
```sh
58+
$ kubectl get pods
59+
$ kubectl exec postgres-<POD_IDENTIFIER> \
60+
--stdin --tty -- createdb -U postgres books
61+
```
62+
63+
### Flask
64+
65+
Build and push the image to Docker Hub:
66+
67+
```sh
68+
$ docker build -t mjhea0/flask-kubernetes ./services/server
69+
$ docker push mjhea0/flask-kubernetes
70+
```
71+
72+
> Make sure to replace `mjhea0` with your Docker Hub namespace in the above commands as well as in *kubernetes/flask-deployment.yml*
73+
74+
Create the deployment:
75+
76+
```sh
77+
$ kubectl create -f ./kubernetes/flask-deployment.yml
78+
```
79+
80+
Create (and expose) the service:
81+
82+
```sh
83+
$ kubectl expose deployment flask --type=NodePort --port 5000
84+
```
85+
86+
Try it out:
87+
88+
```sh
89+
$ open $(minikube service flask --url)/books/ping
90+
$ open $(minikube service flask --url)/books
91+
```
92+
93+
### Vue
94+
95+
Build and push the image to Docker Hub:
96+
97+
```sh
98+
$ docker build -t mjhea0/vue-kubernetes ./services/client \
99+
-f ./services/client/Dockerfile-minikube
100+
$ docker push mjhea0/vue-kubernetes
101+
```
102+
103+
> Again, replace `mjhea0` with your Docker Hub namespace in the above commands as well as in *kubernetes/vue-deployment.yml*
104+
105+
Create the deployment:
106+
107+
```sh
108+
$ kubectl create -f ./kubernetes/vue-deployment.yml
109+
```
110+
111+
Create (and expose) the service:
112+
113+
```sh
114+
$ kubectl expose deployment vue --type=NodePort --port 8080
115+
```
116+
117+
Try it out:
118+
119+
```sh
120+
$ open $(minikube service vue --url)
121+
```
122+
123+
### Ingress
124+
125+
Enable and apply:
126+
127+
```sh
128+
$ minikube addons enable ingress
129+
$ kubectl apply -f ./kubernetes/minikube-ingress.yml
130+
```
131+
132+
Add entry to */etc/hosts* file:
133+
134+
```
135+
<MINIKUBE_IP> hello.world
136+
```
137+
138+
Try it out:
139+
140+
1. http://hello.world
141+
1. http://hello.world/books
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
FROM node:9.11.1-alpine
2+
3+
RUN npm install -g http-server
4+
5+
WORKDIR /app
6+
7+
COPY package*.json ./
8+
9+
RUN npm install
10+
11+
COPY . .
12+
13+
RUN ROOT_API=http://hello.world npm run build
14+
15+
EXPOSE 8080
16+
17+
CMD [ "http-server", "dist" ]

0 commit comments

Comments
 (0)