Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
docker_advanced_k8s_intro [2020/04/21 09:39] – andonovj | docker_advanced_k8s_intro [2020/05/30 15:17] (current) – [Overview] andonovj | ||
---|---|---|---|
Line 14: | Line 14: | ||
* CNI - Install support for CNI network (Container network Interface / Spec or Model for Kubernetes Network) | * CNI - Install support for CNI network (Container network Interface / Spec or Model for Kubernetes Network) | ||
- | =====Installation===== | + | Furhtermore, |
+ | |||
+ | * Pods | ||
+ | * Replication Controllers / Replication Sets (When Deployment) | ||
+ | * ClusterIP | ||
+ | =====Package | ||
To install the packages we have to: | To install the packages we have to: | ||
Line 92: | Line 97: | ||
< | < | ||
- | root@k8s-master: | + | root@k8s-master: |
Reading package lists... Done | Reading package lists... Done | ||
Building dependency tree | Building dependency tree | ||
Line 112: | Line 117: | ||
Please execute that on all 3 machines | Please execute that on all 3 machines | ||
- | ====Initiliaze the cluster==== | ||
- | To initialize the cluster, we have to take two factors into consideration: | ||
- | |||
- | - Which will be the advertise IP ? | ||
- | - Which will be the network which we will use for the pods. | ||
- | |||
- | The first question is pretty easy. Just use the network which is assigned to your master. In our case, we have 1 master and 2 noides. | ||
- | So we will assign the advertise IP of the master: | ||
- | |||
- | * master - 192.168.50.10 | ||
- | * node1 - 192.168.50.11 | ||
- | * node2 - 192.168.50.12 | ||
- | |||
- | The second question however, depends on the network which will be used for the pods. In our example I have used calico, because of the reasons listed below.Thus, our pod network by default is: 192.168.0.0/ | ||
- | |||
- | So let's see how our commands | ||
- | |||
- | < | ||
- | root@k8s-master: | ||
- | W0421 09: | ||
- | [init] Using Kubernetes version: v1.18.2 | ||
- | [preflight] Running pre-flight checks | ||
- | [WARNING IsDockerSystemdCheck]: | ||
- | [preflight] Pulling images required for setting up a Kubernetes cluster | ||
- | [preflight] This might take a minute or two, depending on the speed of your internet connection | ||
- | [preflight] You can also perform this action in beforehand using ' | ||
- | ************************************************************************************************************************** | ||
- | [kubelet-finalize] Updating "/ | ||
- | [addons] Applied essential addon: CoreDNS | ||
- | [addons] Applied essential addon: kube-proxy | ||
- | |||
- | Your Kubernetes control-plane has initialized successfully! | ||
- | |||
- | To start using your cluster, you need to run the following as a regular user: | ||
- | |||
- | mkdir -p $HOME/.kube | ||
- | sudo cp -i / | ||
- | sudo chown $(id -u):$(id -g) $HOME/ | ||
- | |||
- | You should now deploy a pod network to the cluster. | ||
- | Run " | ||
- | https:// | ||
- | |||
- | Then you can join any number of worker nodes by running the following on each as root: | ||
- | |||
- | kubeadm join 192.168.50.10: | ||
- | --discovery-token-ca-cert-hash sha256: | ||
- | root@k8s-master: | ||
- | </ | ||
- | |||
- | After that, we have to perform a couple commands from the user, which will be responsible for the kubernetes and won't be root. (P.S. usage of root for applications is STRONGLY DISCOURAGED because of security stuff :) ) | ||
- | |||
- | So just transfer it using the instructions above: | ||
- | |||
- | < | ||
- | mkdir -p $HOME/.kube | ||
- | sudo cp -i / | ||
- | sudo chown $(id -u):$(id -g) $HOME/ | ||
- | </ | ||
- | |||
- | Once we have done that, we can check the cluster: | ||
- | |||
- | < | ||
- | ubuntu@k8s-master: | ||
- | NAME | ||
- | k8s-master | ||
- | </ | ||
- | |||
- | |||
- | |||
- | ====Configure the network==== | ||
- | Now, when you install | ||
- | If you have higher version than 1.16, you cannot use weave network anymore. In our example I have used calico 3.8. | ||