improved kubernetes example
This commit is contained in:
		
							parent
							
								
									9d4f2fbb12
								
							
						
					
					
						commit
						4b30797819
					
				| @ -8,7 +8,44 @@ To create the VMs, run: | |||||||
| ./create_vms.sh | ./create_vms.sh | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| And to deploy: | And to deploy Kubernetes: | ||||||
| ``` | ``` | ||||||
| ./deploy.sh | ./deploy.sh | ||||||
| ``` | ``` | ||||||
|  | 
 | ||||||
|  | After this, you can deploy an nginx service to all nodes: | ||||||
|  | ``` | ||||||
|  | ./nginx_service.sh | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## Succesful output | ||||||
|  | 
 | ||||||
|  | Assuming everything went fine, at the end you should see something like this: | ||||||
|  | ``` | ||||||
|  | daemonset.apps/nginx-daemonset unchanged | ||||||
|  | service/nginx-service unchanged | ||||||
|  | 
 | ||||||
|  | NGINX DEPLOYED! PLEASE FIND DETAILS OF PODS AND SERVICES BELOW: | ||||||
|  | 
 | ||||||
|  | NAME                        READY   STATUS    RESTARTS   AGE     IP          NODE         NOMINATED NODE   READINESS GATES | ||||||
|  | pod/nginx-daemonset-2kqhl   1/1     Running   0          3m38s   10.42.1.3   k3s-node-4   <none>           <none> | ||||||
|  | pod/nginx-daemonset-hftsr   1/1     Running   0          3m38s   10.42.0.8   k3s-master   <none>           <none> | ||||||
|  | pod/nginx-daemonset-nqfsf   1/1     Running   0          3m38s   10.42.2.3   k3s-node-3   <none>           <none> | ||||||
|  | pod/nginx-daemonset-q8hm6   1/1     Running   0          3m38s   10.42.3.4   k3s-node-2   <none>           <none> | ||||||
|  | pod/nginx-daemonset-v97p8   1/1     Running   0          3m38s   10.42.4.3   k3s-node-1   <none>           <none> | ||||||
|  | 
 | ||||||
|  | NAME                    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE     SELECTOR | ||||||
|  | service/kubernetes      ClusterIP   10.43.0.1       <none>        443/TCP        7m36s   <none> | ||||||
|  | service/nginx-service   NodePort    10.43.118.196   <none>        80:30080/TCP   3m38s   app=nginx | ||||||
|  | 
 | ||||||
|  | TO CHECK IF NGINX IS WORKING, USE THE FOLLOWING COMMANDS: | ||||||
|  |    curl http://149.36.48.101:30080 | ||||||
|  |    curl http://149.36.48.104:30080 | ||||||
|  |    curl http://149.36.48.105:30080 | ||||||
|  |    curl http://149.36.48.102:30080 | ||||||
|  |    curl http://149.36.48.103:30080 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## Tutorial | ||||||
|  | 
 | ||||||
|  | A more elaborate tutorial can be found [in the docs](http://docs.detee.ltd/tutorials/kubernetes). | ||||||
|  | |||||||
| @ -2,32 +2,32 @@ | |||||||
| set -e | set -e | ||||||
| mkdir -p tmp | mkdir -p tmp | ||||||
| 
 | 
 | ||||||
| detee-cli vm deploy --hostname k3s-master --vcpus 4 \ | detee-cli vm deploy --hostname k3s-master --vcpus 2 \ | ||||||
|   --memory 4000 --disk 20 --location Random --public-ip | |   --memory 3000 --disk 20 --location Random --public-ip | | ||||||
|   tail -1 > tmp/master_ssh_command && |   tail -1 > tmp/master_ssh_command && | ||||||
|   echo "k3s-master successfully created" & |   echo "k3s-master successfully created" & | ||||||
| sleep 1 | sleep 1 | ||||||
| 
 | 
 | ||||||
| detee-cli vm deploy --hostname k3s-node-1 --vcpus 4 \ | detee-cli vm deploy --hostname k3s-node-1 --vcpus 2 \ | ||||||
|   --memory 4000 --disk 20 --location Random --public-ip | |   --memory 3000 --disk 20 --location Random --public-ip | | ||||||
|   tail -1 > tmp/node1_ssh_command && |   tail -1 > tmp/node1_ssh_command && | ||||||
|   echo "k3s-node-1 successfully created" & |   echo "k3s-node-1 successfully created" & | ||||||
| sleep 1 | sleep 1 | ||||||
| 
 | 
 | ||||||
| detee-cli vm deploy --hostname k3s-node-2 --vcpus 4 \ | detee-cli vm deploy --hostname k3s-node-2 --vcpus 2 \ | ||||||
|   --memory 4000 --disk 20 --location Random --public-ip | |   --memory 3000 --disk 20 --location Random --public-ip | | ||||||
|   tail -1 > tmp/node2_ssh_command && |   tail -1 > tmp/node2_ssh_command && | ||||||
|   echo "k3s-node-2 successfully created" & |   echo "k3s-node-2 successfully created" & | ||||||
| sleep 1 | sleep 1 | ||||||
| 
 | 
 | ||||||
| detee-cli vm deploy --hostname k3s-node-3 --vcpus 4 \ | detee-cli vm deploy --hostname k3s-node-3 --vcpus 2 \ | ||||||
|   --memory 4000 --disk 20 --location Random --public-ip | |   --memory 3000 --disk 20 --location Random --public-ip | | ||||||
|   tail -1 > tmp/node3_ssh_command && |   tail -1 > tmp/node3_ssh_command && | ||||||
|   echo "k3s-node-3 successfully created" & |   echo "k3s-node-3 successfully created" & | ||||||
| sleep 1 | sleep 1 | ||||||
| 
 | 
 | ||||||
| detee-cli vm deploy --hostname k3s-node-4 --vcpus 4 \ | detee-cli vm deploy --hostname k3s-node-4 --vcpus 2 \ | ||||||
|   --memory 4000 --disk 20 --location Random --public-ip | |   --memory 3000 --disk 20 --location Random --public-ip | | ||||||
|   tail -1 > tmp/node4_ssh_command && |   tail -1 > tmp/node4_ssh_command && | ||||||
|   echo "k3s-node-4 successfully created" & |   echo "k3s-node-4 successfully created" & | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										33
									
								
								kubernetes/k8s_nginx.yml
									
									
									
									
									
										Normal file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										33
									
								
								kubernetes/k8s_nginx.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | |||||||
|  | apiVersion: apps/v1 | ||||||
|  | kind: DaemonSet | ||||||
|  | metadata: | ||||||
|  |   name: nginx-daemonset | ||||||
|  |   labels: | ||||||
|  |     app: nginx | ||||||
|  | spec: | ||||||
|  |   selector: | ||||||
|  |     matchLabels: | ||||||
|  |       app: nginx | ||||||
|  |   template: | ||||||
|  |     metadata: | ||||||
|  |       labels: | ||||||
|  |         app: nginx | ||||||
|  |     spec: | ||||||
|  |       containers: | ||||||
|  |         - name: nginx | ||||||
|  |           image: nginx:latest | ||||||
|  |           ports: | ||||||
|  |             - containerPort: 80 | ||||||
|  | --- | ||||||
|  | apiVersion: v1 | ||||||
|  | kind: Service | ||||||
|  | metadata: | ||||||
|  |   name: nginx-service | ||||||
|  | spec: | ||||||
|  |   type: NodePort | ||||||
|  |   selector: | ||||||
|  |     app: nginx | ||||||
|  |   ports: | ||||||
|  |     - port: 80 | ||||||
|  |       targetPort: 80 | ||||||
|  |       nodePort: 30080 | ||||||
							
								
								
									
										19
									
								
								kubernetes/nginx_service.sh
									
									
									
									
									
										Executable file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										19
									
								
								kubernetes/nginx_service.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,19 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | ssh_master=$(cat tmp/master_ssh_command) | ||||||
|  | 
 | ||||||
|  | set -e | ||||||
|  | 
 | ||||||
|  | cat k8s_nginx.yml | $ssh_master kubectl apply -f - | ||||||
|  | 
 | ||||||
|  | echo | ||||||
|  | echo NGINX DEPLOYED! PLEASE FIND DETAILS OF PODS AND SERVICES BELOW: | ||||||
|  | echo | ||||||
|  | 
 | ||||||
|  | $ssh_master kubectl get pods,svc -o wide | ||||||
|  | 
 | ||||||
|  | echo | ||||||
|  | echo TO CHECK IF NGINX IS WORKING, USE THE FOLLOWING COMMANDS: | ||||||
|  | grep -r ssh tmp/ | cut -d '@' -f2 | | ||||||
|  |   xargs -i echo "   curl http://{}:30080" | ||||||
|  | echo | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user