improve readme with links and content

This commit is contained in:
Steven Polley 2023-12-22 22:24:31 -07:00
parent 84f56c0238
commit 469b9a55f3
8 changed files with 38 additions and 7 deletions

View File

@ -1,6 +1,6 @@
# 05-Cluster-Bootstrap
Assumption is that an external load balancer is already configured for the cluster control plane IP address. Initialize the cluster
Assumption is that an external load balancer is already configured for the cluster control plane IP address. Initialize the cluster, but do not join any other nodes to it yet.
```bash
@ -8,7 +8,7 @@ sudo kubeadm init --config cluster-config.yaml --upload-certs
```
Copy kubectl config
Copy kube admin config to local profile. This is also a good time to copy it to your desktop with SCP or something.
```bash
mkdir -p $HOME/.kube
@ -16,5 +16,3 @@ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
```
Before you join other nodes, deploy the CNI in 06! If you don't, there is sometimes an issue where the br0 adapter will use the crio CNI configuration.

View File

@ -1,5 +1,9 @@
# 06-CNI-Flannel
[https://github.com/flannel-io/flannel](https://github.com/flannel-io/flannel)
Flannel provides the pod to pod networking, using [VXLAN](https://en.wikipedia.org/wiki/Virtual_Extensible_LAN).
```bash
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

View File

@ -1,5 +1,7 @@
# 07-NFS-Subdir-Provisioner
[https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner](https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner)
To support persistent volume claims on NFS external storage, a provisioner can be configured and deployed easily with helm.
```bash
@ -12,7 +14,6 @@ helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs
```
A PVC can then be created similar to below example:
```yaml

View File

@ -1,5 +1,8 @@
# 08-Ingress-Nginx-Controller
[https://kubernetes.github.io/ingress-nginx/](https://kubernetes.github.io/ingress-nginx/)
[https://github.com/kubernetes/ingress-nginx](https://github.com/kubernetes/ingress-nginx)
```bash
helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace -f values.yaml

View File

@ -1,7 +1,20 @@
# 10-Join-Nodes
At this point, other nodes can be joined to the cluster. From a control node, you can get the join command by doing the following.
```bash
sudo kubeadm token create --print-join-command
```
You can then take the command in the output and use it to join other nodes.
```bash
kubeadm join 10.69.69.147:6443 --config join-config.yaml
# Example to join a control node, add --control-plane
sudo kubeadm join 10.69.69.50:6443 --token drazx3.qa70i6wfatxujdqo --discovery-token-ca-cert-hash sha256:5dccc0b4113ffc2543e2d453c35bf4db998719c1c73b60e4467f5c20d3f7b9ad --control-plane
```
# Example to join a worker node
sudo kubeadm join 10.69.69.50:6443 --token drazx3.qa70i6wfatxujdqo --discovery-token-ca-cert-hash sha256:5dccc0b4113ffc2543e2d453c35bf4db998719c1c73b60e4467f5c20d3f7b9ad
```

View File

@ -0,0 +1,8 @@
# 30-Applications
Ready to deploy applications to the cluster at this point
```yaml
kubectl apply -f mandelmap.yaml
```

View File

@ -1,5 +1,9 @@
# deadbeef.codes-k8s
![alt text][logo]
[logo]: https://deadbeef.codes/steven/kubernetes-bootstrapping/raw/branch/main/logo.png "Kubernetes Bootstrapping"
This is documentation and a process I've created for bootstrapping a Kubernetes cluster on bare metal or VMs without using a cloud provider managed service. My use case for this is running my own personal services, and learning more about Kubernetes as I study for the CKA exam.
Each section can be followed in numerical order.

BIN
logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB