Skip to content
Snippets Groups Projects
Commit 3a1c789f authored by Timo Geier's avatar Timo Geier
Browse files

Improved Kubernetes cluster documentation

parent 350d47b1
Branches
No related tags found
No related merge requests found
# Introduction to kubectl # Introduction to kubectl
## Prerequisites
For using this you must install the following tools:
- Python
- Pip
- Kubectl
- Openstack-Client
### Python
Install python and pip for your OS, if it is not installed. This is already done at the NetLab PCs.
### Installing kubectl and arkade
Run this in a **bash** terminal to download arkade and install kubectl:
For windows you can use e.g. the **Git Bash** terminal.
```bash
curl -sLS https://dl.get-arkade.dev | sh
arkade get kubectl
# To load the path to the binary
export PATH=$PATH:$HOME/.arkade/bin/
```
With arkade you can also install other tools: ```arkade get``` to see all possibilities.
### Openstack Client
To install the Openstack client and the magnum package:
If you are using Windows, you must start the bash terminal with **Administrator** privileges!
```bash
pip3 install openstackclient python-magnumclient
# Download the Openstack RC File from your Openstack account
# Load the file
source {USERNAME}-openrc.sh
```
### Download the kubeconfig
Download the kubeconfig file for your cluster from OpenStack.
```bash
# Before using this, check if Openstack RC File is loaded!
openstack coe cluster config {CLUSTER_NAME}
# Then run the given command in terminal
export ...
# Now you are able to run kubectl commands at your Kubernetes cluster
```
## Deployment of the needed description in kubernetes ## Deployment of the needed description in kubernetes
These are two approaches to create the description in Kuberentes: These are two approaches to create the description in Kubernetes:
```bash ```bash
# create a namespace # create a namespace
...@@ -41,10 +94,10 @@ kubectl logs -n web-test deployment/nginx-deployment ...@@ -41,10 +94,10 @@ kubectl logs -n web-test deployment/nginx-deployment
```bash ```bash
# scale up instances to 5 # scale up instances to 5
kubectl scale deployment/nginx-deployment --replicas=5 kubectl scale -n web-test deployment/nginx-deployment --replicas=5
# scale down instances again to 3 # scale down instances again to 3
kubectl scale deployment/nginx-deployment --replicas=3 kubectl scale -n web-test deployment/nginx-deployment --replicas=3
``` ```
......
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: web-test
spec:
selector:
matchLabels:
app: nginx-deployment
replicas: 3 # tells deployment to run 3 pods matching the template
template:
metadata:
labels:
app: nginx-deployment
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
\ No newline at end of file
apiVersion: v1
kind: Service
metadata:
name: nginx-service
namespace: web-test
spec:
type: NodePort
selector:
app: nginx-deployment
ports:
# By default and for convenience, the `targetPort` is set to the same value as the `port` field.
- port: 80
targetPort: 80
# Optional field
# By default and for convenience, the Kubernetes control plane will allocate a port from a range (default: 30000-32767)
nodePort: 30007
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment