1.软文推荐

2.软文推荐

3.软文推荐

在本文中,我们将了解如何在 Ubuntu 20.04 上安装 Kubernetes。在过去的几年里,容器化为开发人员提供了很大的灵活性。最常用的容器化应用程序之一是 Docker。

运行小型应用程序并不难,但如果你想扩展它们怎么办?当您拥有成百上千台服务器时,扩展就不是那么容易了。应该有一个自动化工具来全权负责在特定机器上为我们的应用程序分配资源,不仅如此,还需要持续监控和弹性。

在容器上部署服务的主要原因之一是它们灵活、轻量级并且在部署在数百台机器上时易于扩展。但是,谁来管理所有这些容器?这就是 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 update
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install docker.io

启动Docker

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl start docker

查看状态

linuxmi@linuxmi:~/www.linuxmi.com$ systemctl status docker.service

设置开机启动

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable docker

查看 Docker 版本

linuxmi@linuxmi:~/www.linuxmi.com$ docker version

禁用交换内存

暂时禁止:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo swapoff -a

永久禁止:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo nano /etc/fstab

在此文件中,注释掉该 /swapfile 行。

设置主机名

linuxmi@linuxmi:~/www.linuxmi.com$ sudo hostnamectl set-hostname kubernetes-master
linuxmi@linuxmi:~/www.linuxmi.com$ sudo hostnamectl set-hostname kubernetes-worker

安装 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
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get update

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install -y kubelet kubeadm kubectl

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-mark hold kubelet kubeadm kubectl
kubelet 设置为保留。
kubeadm 设置为保留。
kubectl 设置为保留。

初始化 Kubernetes 主服务器

在主节点上运行这些:

kubernetes-master:~$ sudo kubeadm init
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

部署 Pod 网络

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
kubernetes-master:~$ kubectl get pods --all-namespaces

加入 Kubernetes 集群

从工作节点运行这些:

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

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 start

这将在本地启动一个 Kubernetes 集群。要停止集群,您可以:

要访问本地 Kubernetes 的仪表板:

minikube dashboard

本文来源:www.lxlinux.net/9820.html,若引用不当,请联系修改。

相关文章 8

1

收费合理百度优化(百度关键词优化价格) 2分钟前

目录:1、seo 百度收费情况.2、深圳百度seo公司怎么收费3、百度优化怎么做 费用多少seo 百度收费情况. SEO收费分为2种:1.单纯的关键词排名...

2

讲解一下Linux !叹号的用处 3分钟前

bash 的历史记录里保留了输入的命令行记录。以下是如何充分利用该记录和 ! 符号的使用教程。 history的基础 HISTSIZE 变量值设置保存在历史...

3

rhel 7.6通过镜像做本地yum仓库 5分钟前

本篇文章重点为大家讲解一下rhel 7.6通过镜像做本地yum仓库具体方法, 有需要的小伙伴可以参考一下。 新建挂载文件夹 mkdir-p/mnt/dvd 将镜像...

4

secureidc怎么样(secure c) 8分钟前

目录:1、IDC机房值守工作怎么样?学到的东西多么?听说时间呆太久了对身体不好啊2、IDC数据中心的工作怎么样啊?我想去数据中心工作,...

5

你是怎么在 Linux 干掉进程的? 9分钟前

我想干掉 Liunx 某个进程怎么搞? 如果进程在前台运行,你可以使用 Ctrl+C 终端快捷方式。但是,如果进程不可见(在后台运行),你可以使用专用命...

6

阿里云电脑哪里买(阿里云电脑价格什么时候可以购买) 11分钟前

目录:1、如何购买阿里云服务器?阿里云服务器购买操作流程(图文教程)2、如何购买阿里云服务器?3、阿里云服务器哪里买比较好呢?...

7

为什么Wireshark无法解密HTTPS数据 13分钟前

由于需要定位一个问题,在服务器上tcpdump抓取https数据包,然后下载到本地打开wireshark分析。然后我们下载域名私钥配置到wireshark,发现数...

8

Python requests设置代理具体方法 14分钟前

requests是使用Apache2 licensed 许可证的HTTP库。用python编写。比urllib2模块更简洁。Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持...