improve readme with links and content
This commit is contained in:
parent
84f56c0238
commit
469b9a55f3
@ -1,6 +1,6 @@
|
|||||||
# 05-Cluster-Bootstrap
|
# 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
|
```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
|
```bash
|
||||||
mkdir -p $HOME/.kube
|
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
|
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.
|
|
@ -1,5 +1,9 @@
|
|||||||
# 06-CNI-Flannel
|
# 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
|
```bash
|
||||||
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
|
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
# 07-NFS-Subdir-Provisioner
|
# 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.
|
To support persistent volume claims on NFS external storage, a provisioner can be configured and deployed easily with helm.
|
||||||
|
|
||||||
```bash
|
```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:
|
A PVC can then be created similar to below example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
# 08-Ingress-Nginx-Controller
|
# 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
|
```bash
|
||||||
helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace -f values.yaml
|
helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace -f values.yaml
|
||||||
|
|
||||||
|
@ -1,7 +1,20 @@
|
|||||||
# 10-Join-Nodes
|
# 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
|
```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
|
||||||
|
|
||||||
```
|
```
|
8
30-applications/README.md
Normal file
8
30-applications/README.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# 30-Applications
|
||||||
|
|
||||||
|
Ready to deploy applications to the cluster at this point
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
kubectl apply -f mandelmap.yaml
|
||||||
|
|
||||||
|
```
|
@ -1,5 +1,9 @@
|
|||||||
# deadbeef.codes-k8s
|
# 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.
|
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.
|
Each section can be followed in numerical order.
|
||||||
|
Loading…
Reference in New Issue
Block a user