diff --git a/Deployment-to-Kubernetes-and-Minikube.md b/Deployment-to-Kubernetes-and-Minikube.md index 62b74a5..ac06132 100644 --- a/Deployment-to-Kubernetes-and-Minikube.md +++ b/Deployment-to-Kubernetes-and-Minikube.md @@ -24,7 +24,7 @@ To do this I added (or modified) the following files to the local repository: The new docker file was changed to use `scratch` base image without anything but the application. You can always create different docker files for different needs. For instance, for troubleshooting purposes you could build development images containing other tools than just the application. -``` +```dockerfile FROM scratch ADD weed / ENTRYPOINT ["/weed"] @@ -37,7 +37,7 @@ The script uses the docker file to build my image. Note the followings: 2. The image is built using the latest development code. You might want to pull the latest stable tag instead. 3. `192.168.42.23` is the IP of a private docker registry that I've setup from which the image is pulled and deployed to minikube cluster (later steps). -``` +```bash #!/bin/sh go get github.com/seaweedfs/seaweedfs/weed/... @@ -59,7 +59,7 @@ In order to deploy the docker image onto minikube in form of "pods" and "service **Create master POD** -``` +```yaml apiVersion: apps/v1 kind: Deployment metadata: @@ -91,7 +91,7 @@ spec: **Create volume POD** -``` +```yaml apiVersion: apps/v1 kind: Deployment metadata: @@ -123,7 +123,7 @@ spec: **Create a service exposing PODs** -``` +```yaml apiVersion: v1 kind: Service metadata: @@ -151,8 +151,8 @@ Please note: 1. You'll need to slightly modify the yaml files that create deployments (the first 2 yaml files) if you intend to run them against an actual Kubernetes cluster. Essentially, in the `volumes` section of the yaml file, instead of using a `hostpath` you'd need to specify a `persistent volume` (`persistent volume claim` to be exact). For more information about PV and PVC see https://kubernetes.io/docs/concepts/storage/persistent-volumes/. 2. If you're however deploying the application to minikube, you'll have to make sure the `hostpath` exists in the cluster prior to deployment. `ssh` into minikube and create the folders: -``` -$$ minikube ssh +```console +$ minikube ssh $ sudo mkdir -p /data/vlm/logs && \ sudo mkdir -p /data/vlm/haystack/master && \ sudo mkdir /data/vlm/haystack/volume && \ @@ -164,7 +164,7 @@ _`/data` is a softlink to `/mnt/sda1/data`, hence the use of full path in the la You can then deploy everything using kubectl CLI tool (installed when you install minikube). -``` +```console $ kubectl create -f master_pod.yml deployment "weedmasterdeployment" created $ kubectl create -f volume_pod.yml