禁用交换内存

如果您的系统使用交换内存,Kubernetes将拒绝运行。

使用下面命令禁用Swap内存:

$ sudo swapoff -a

该命令将临时禁用交换内存,重启后失效。
要永久禁用交换内存,编辑文件:

$ sudo nano /etc/fstab

将使用交换空间的行注释掉。

设置主机名

我们将使用主机名Kubernetes-MasterKubernetes-Worker来区分主节点和工作节点:

$ sudo hostnamectl set-hostname kubernetes-master
$ sudo hostnamectl set-hostname kubernetes-worker

在Kubernetes集群上部署服务

现在可以将服务部署到Kubernetes集群中。

在这个示例中,我们将Nginx服务器部署到我们的新群集中。
在主节点上运行以下两个命令:

kubernetes-master:~$ kubectl run --image=nginx nginx-server --port=80 --env="DOMAIN=cluster"
kubernetes-master:~$ kubectl expose deployment nginx-server --port=80 --name=nginx-http

在工作节点上查看新的nginx Docker容器:

kubernetes-worker:~$ sudo docker ps

在Kubernetes Maser节点上,我们可以在群集中使用以下命令查看运行的所有可用服务的运行列表:

kubernetes-master:~$ kubectl get svc

安装Docker.

由于Kubernetes依赖于它,这两个节点都需要在它们上安装Docker。

在主节站和工作节点上安装docker

$ sudo apt update
$ sudo apt install docker.io

启动服务,并确保在系统重启时自动启动:

$ sudo systemctl start docker
$ sudo systemctl enable docker

安装Kubernetes

请确保在两个节点上执行此操作。
在Kubernetes Master和Worker,首先安装“APT-Transport-HTTPS”包,允许我们在Ubuntu的存储库中使用HTTP和HTTPS。
同时安装curl

$ sudo apt install apt-transport-https curl

将Kubernetes签名密钥添加到两个系统:

$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add

添加Kubernetes包存储库,如果是ubuntu 20.04,将 xenial改成 focal

$ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

安装Kubernetes:

$ sudo apt install kubeadm kubelet kubectl kubernetes-cni

加入Kubernetes集群

在工作节点上操作,
使用前面的“kubeadm join”命令将工作节点加入Kubernetes群集:

kubernetes-worker:~$ sudo kubeadm join 192.168.1.220:6443 --token 1exb8s.2t4k3b5syfc3jfmo --discovery-token-ca-cert-hash sha256:72ad481cee4918cf2314738419356c9a402fb609263adad48c13797d0cba2341

返回Kubernetes 主节点,执行以下命令,确认“Kubernetes-Worker”现在是我们Kubernetes集群的一部分:

kubernetes-master:~$ kubectl get nodes
如何在Ubuntu 20.04 Linux上安装Kubernetes

Kubernetes通过管理群集工作,这只是一组用于运行Containized应用程序的主机。

在本教程中,我们将部署由两个节点组成的Kubernetes群集,这些群集都运行Ubuntu 20.04焦点。
一个将是主节点,它的主机名kubernetes-master
第二个节点将是我们的工作节点,主机名为“Kubernetes-Worker”

主节点将部署Kubernetes集群,工作节点只需加入它。

部署POD网络

POD网络用于主机之间的通信,并且Kubernetes群集必须正常运行。

在主节点上执行以下两个命令:

kubernetes-master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubernetes-master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml

我们可以使用“kubectl”命令确认是否准备好:

kubernetes-master:~$ kubectl get pods --all-namespaces

初始化Kubernetes主服务器

初始化Kubernetes主节点

kubernetes-master:~$ sudo kubeadm init

Kubernetes Master节点现已初始化。
该输出给我们一个“Kubeadm join”命令,以后需要用来将我们的工作节点加入主节点。

同时kubernetes还建议我们运行几个命令以开始使用Kubernetes群集。
在主节点上运行这三个命令:

kubernetes-master:~$ mkdir -p $HOME/.kube
kubernetes-master:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
kubernetes-master:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
日期:2020-07-07 20:55:25 来源:oir作者:oir