如何在 Ubuntu 20.04 上安装 Kubernetes – Kubeadm 和 Minikube
编辑搜图
运行小型应用程序并不难,但如果你想扩展它们怎么办?当您拥有成百上千台服务器时,扩展就不是那么容易了。应该有一个自动化工具来全权负责在特定机器上为我们的应用程序分配资源,不仅如此,还需要持续监控和弹性。
在容器上部署服务的主要原因之一是它们灵活、轻量级并且在部署在数百台机器上时易于扩展。但是,谁来管理所有这些容器?这就是 Kubernetes 发挥作用的地方。
什么是 Kubernetes?
Kubernetes(也称为“K8s”)是 Google 的一个开源项目,用于通过提供扩展、部署和维护等服务来管理集群上的容器化应用程序。
Kubernetes 目前是市场领导者,在大多数场景中击败了 Docker Swarm 和 Apache Mesos 等竞争对手。然而,Kubernetes 的一大缺点是设置困难。一些云供应商确实提供了预制集群供您使用,但它们是付费的。当您只想免费学习 Kubernetes 时该怎么办?
让我们看看如何在 Ubuntu 20.04 上运行 Kubernetes 集群。
Kubernetes 安装——使用 kubeadm
首先,有两个虚拟机的设置。我们将其中一个用作我们的主节点,另一个用作工作节点。
安装 Docker
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt updatelinuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install docker.io1.2.
编辑搜图
启动Docker
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl start docker1.
查看状态
linuxmi@linuxmi:~/www.linuxmi.com$ systemctl status docker.service1.
编辑搜图
设置开机启动
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable docker1.
查看 Docker 版本
linuxmi@linuxmi:~/www.linuxmi.com$ docker version1.
编辑搜图
禁用交换内存
暂时禁止:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo swapoff -a1.
永久禁止:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo nano /etc/fstab1.
在此文件中,注释掉该 /swapfile 行。
设置主机名
linuxmi@linuxmi:~/www.linuxmi.com$ sudo hostnamectl set-hostname kubernetes-master linuxmi@linuxmi:~/www.linuxmi.com$ sudo hostnamectl set-hostname kubernetes-worker1.2.
编辑搜图
安装 Kubernetes
sudo apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl linuxmi@linuxmi:~/www.linuxmi.com$ curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -OK linuxmi@linuxmi:~/www.linuxmi.com$ sudo tee /etc/apt/sources.list.d/kubernetes.list <<EOF> deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main> EOF deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get update1.2.3.4.5.6.7.8.
编辑搜图
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install -y kubelet kubeadm kubectl1.
编辑搜图
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-mark hold kubelet kubeadm kubectl kubelet 设置为保留。 kubeadm 设置为保留。 kubectl 设置为保留。1.2.3.4.
编辑搜图
初始化 Kubernetes 主服务器
在主节点上运行这些:
kubernetes-master:~$ sudo kubeadm init kubernetes-master:~$ mkdir -p $HOME/.kubekubernetes-master:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config kubernetes-master:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config1.2.3.4.
部署 Pod 网络
kubernetes-master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubernetes-master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.ymlkubernetes-master:~$ kubectl get pods --all-namespaces1.2.3.
加入 Kubernetes 集群
从工作节点运行这些:
kubernetes-worker:~$ sudo kubeadm join 192.168.1.220:6443 --token 1exb8s.2t4k3b5syfc3jfmo --discovery-token-ca-cert-hash sha256:72ad481cee4918cf2314738419356c9a402fb609263adad48c13797d0cba2341kubernetes-master:~$ kubectl get nodes1.2.
Kubernetes 安装 – 使用 minikube(本地)
对于这个演示,我们将使用一个名为minikube的应用程序。使用 Ctrl + Alt + T 打开终端并输入以下命令:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube minikube start1.2.3.
这将在本地启动一个 Kubernetes 集群。要停止集群,您可以:
要访问本地 Kubernetes 的仪表板:
minikube dashboard1.
OK,就这样。
我有话说: