镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

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

file

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

在容器上部署服务的主要原因之一是它们灵活、轻量级并且在部署在数百台机器上时易于扩展。但是,谁来管理所有这些容器?这就是 Kubernetes 发挥作用的地方。

什么是 Kubernetes?

Kubernetes(也称为“K8s”)是 Google 的一个开源项目,用于通过提供扩展、部署和维护等服务来管理集群上的容器化应用程序。

Kubernetes 目前是市场领导者,在大多数场景中击败了 Docker Swarm 和 Apache Mesos 等竞争对手。然而,Kubernetes 的一大缺点是设置困难。一些云供应商确实提供了预制集群供您使用,但它们是付费的。当您只想免费学习 Kubernetes 时该怎么办?

让我们看看如何在 Ubuntu 20.04 上运行 Kubernetes 集群。

Kubernetes 安装——使用 kubeadm

首先,有两个虚拟机的设置。我们将其中一个用作我们的主节点,另一个用作工作节点。

安装 Docker

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update
  2. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install docker.io

启动Docker

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

查看状态

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

设置开机启动

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

查看 Docker 版本

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

禁用交换内存

暂时禁止:

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

永久禁止:

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

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

设置主机名

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

安装 Kubernetes

  1. sudo apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl
  2. linuxmi@linuxmi:~/www.linuxmi.com$ curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
  3. OK
  4. linuxmi@linuxmi:~/www.linuxmi.com$ sudo tee /etc/apt/sources.list.d/kubernetes.list < deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
  5. > EOF
  6. deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
  7. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get update
  8. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install -y kubelet kubeadm kubectl
  9. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-mark hold kubelet kubeadm kubectl
  10. kubelet 设置为保留。
  11. kubeadm 设置为保留。
  12. kubectl 设置为保留。

初始化 Kubernetes 主服务器

在主节点上运行这些:

  1. kubernetes-master:~$ sudo kubeadm init
  2. kubernetes-master:~$ mkdir -p $HOME/.kube
  3. kubernetes-master:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  4. kubernetes-master:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

部署 Pod 网络

  1. kubernetes-master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  2. kubernetes-master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml
  3. kubernetes-master:~$ kubectl get pods --all-namespaces

加入 Kubernetes 集群

从工作节点运行这些:

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

Kubernetes 安装 – 使用 minikube(本地)

对于这个演示,我们将使用一个名为minikube的应用程序。使用 Ctrl + Alt + T 打开终端并输入以下 命令

  1. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
  2. sudo install minikube-linux-amd64 /usr/local/bin/minikube
  3. minikube start

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

要访问本地 Kubernetes 的仪表板:

  1. minikube dashboard

OK,就这样

本文转自:https://blog.51cto.com/u_13510521/5167724

更多相关文章

  1. 在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)
  2. android超快模拟器Ggenymotion的安装和配置
  3. ADT在线安装连接不上的解决办法
  4. ubuntu android 源码下载
  5. Android(安卓)实现apk文件下载并自动安装
  6. eclipse android插件
  7. 1、Android开发环境的搭建
  8. Ionic新建项目(以Android为例)
  9. Windows环境下Android(安卓)Studio v1.0安装教程

随机推荐

  1. android第五天早:抗锯齿和全屏
  2. Android XML 不常用属性
  3. Hello World
  4. 系出名门Android(7) - 控件(View)之ZoomC
  5. android activity之间平滑切换
  6. Android开发工具——Android studio1.0正
  7. 让Ubuntu和Android同时运行(Ubuntu on And
  8. Android(安卓)T9搜索
  9. Xamarin Mono Android实现“再按一次退出
  10. 一起学android之EditText的各种使用(15)