Skip to content

Commit

Permalink
Add playground info
Browse files Browse the repository at this point in the history
  • Loading branch information
sujeet-agrahari committed Feb 29, 2024
1 parent d590e01 commit 7c33392
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ This repository provides an easy-to-deploy, open-source solution for anyone look
Feel free to explore the codebase and leverage the powerful technologies used in this project for your own URL shortening needs.

> [!IMPORTANT]
> To practice important concepts first follow [kubernetes-playground](./kubernetes-playground.md)
>
> For step wise guidelines please follow [Step Wise Guidelines](./step-wise-guideline.md)
## Database setup
Expand Down
69 changes: 69 additions & 0 deletions kubernetes-playground.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Kubernetes Playground

1. Initializes cluster master node:

```sh
kubeadm init --apiserver-advertise-address $(hostname -i) --pod-network-cidr 10.5.0.0/16
```

2. Initialize cluster networking:

```sh
kubectl apply -f https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/kubeadm-kuberouter.yaml
```

3. Add another instance

4. Create join token

```sh
kubeadm token create --print-join-command
```

5. Join the node to cluster(replace below with the output from step 4)

> [!IMPORTANT]
> Every worker node must have kubelet installed and running as a system service. Please install kubelet on the target node before executing the join command.
```sh
sudo apt install kubeadm kubelet kubectl # optional for listed playground as it comes with pre-installed

```

```sh
kubeadm join 192.168.0.8:6443 --token c2ioq4.hy4ysw7ipf8a9svf --discovery-token-ca-cert-hash sha256:d507dc03285b97e1442dff82c07c7c623b4ac3d73379ca0cd954128a67f58423
```

6. List nodes on master

```sh
kubectl get nodes
```

7. List pods on specific nodes

```sh
kubectl get pods --field-selector spec.nodeName=node2
```

8. Deploy nginx app

```sh
kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/nginx-app.yaml
```

> [!NOTE]
> List and verify the pods on both node1(master) and node2(worker)
> Pods should be running on worker nodes only
9. Get system level components

```sh
kubectl get pods -n kube-system
```

10. Get the system level components on a specific node

```sh
kubectl get pods -n kube-system --field-selector spec.nodeName=node2
```

0 comments on commit 7c33392

Please sign in to comment.