在Ubuntu20.04上安装Kubernetes集群

 更新时间:2023年12月02日 11:43:14   投稿:yin  
容器化为开发人员提供了很大的灵活性,最常用的容器化应用程序之一是 Docker,在容器上部署服务的主要原因之一是它们灵活、轻量级并且在部署在数百台机器上时易于扩展,但是,谁来管理所有这些容器?这就是 Kubernetes 发挥作用的地方

在本文中,我们将了解如何在 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 < 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 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

到此这篇关于在Ubuntu20.04上安装Kubernetes集群的文章就介绍到这了,更多相关Ubuntu安装Kubernetes集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx mirror 流量镜像的具体使用

    nginx mirror 流量镜像的具体使用

    流量镜像可以将实时流量的副本发送给被镜像的服务,本文主要介绍了nginx mirror 流量镜像的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • nginx日志过大问题解决

    nginx日志过大问题解决

    nginx默认的日志在logs/access.log,并且是一直累加写入,时间长了就会非常大,本文主要介绍了nginx日志过大问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Nginx 设置域名转发到指定端口的实现方法

    Nginx 设置域名转发到指定端口的实现方法

    这篇文章主要介绍了Nginx 设置域名转发到指定端口的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • win2003下nginx 0.8.38 安装配置备忘

    win2003下nginx 0.8.38 安装配置备忘

    经不住蛊惑,决定在 Windows Server 2003 下安装试用一下,并与 PHP 进行集成。
    2010-12-12
  • nginx不支持apk ipa文件下载的设置方法

    nginx不支持apk ipa文件下载的设置方法

    今天在帮客户配置nginx服务器的时候,对方需要支持apk ipa文件下载,这里简单分享下,方便需要的朋友
    2014-03-03
  • Nginx反向代理多域名的HTTP和HTTPS服务的实现

    Nginx反向代理多域名的HTTP和HTTPS服务的实现

    这篇文章主要介绍了Nginx反向代理多域名的HTTP和HTTPS服务的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 让VIM支持Nginx .conf文件语法高亮显示功能的方法

    让VIM支持Nginx .conf文件语法高亮显示功能的方法

    这篇文章主要给大家介绍了关于让VIM支持Nginx .conf文件语法高亮显示功能的方法,文中分别介绍了手动修改和自动化脚本两种方法的实现,都给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • nginx配置缓存关闭的实现

    nginx配置缓存关闭的实现

    本文将介绍nginx缓存关闭,以及配置的具体步骤和示例,通过调整Nginx的配置文件,可以确保浏览器不会缓存网站的内容,从而提高网站的安全性和性能
    2023-10-10
  • 解决nginx访问页面中文乱码的问题

    解决nginx访问页面中文乱码的问题

    这篇文章主要为大家介绍了nginx访问页面中文乱码解决方案,文中有相关的代码示例供大家参考,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2023-09-09
  • 修改Nginx屏蔽网址的规则的方法

    修改Nginx屏蔽网址的规则的方法

    这篇文章主要介绍了修改Nginx屏蔽网址的规则的方法,特别是在遭到恶意域名指向的时候需要用到,需要的朋友可以参考下
    2015-07-07

最新评论