行業資訊

  • 首頁
  • 新聞中心
  • 行業資訊

如何在Ubuntu Server安裝沒有Docker的Kubernetes?


2021年01月20日

Kubernetes現棄用對Docker的支持。沒錯,您在學習這個容器編排工具上所做的所有艱苦工作都將發生變化。您使用Kubernetes的方式會不一樣。

我說的是這個容器管理工具的安裝。您當然不能像以前那樣部署Kubernetes:將Docker安裝為運行時環境。有鑒于此,您該怎么辦?我來演示一番。

總之,我們將在Ubuntu Server 20.04上安裝Kubernetes,沒有Docker。

您需要什么?

  • 具有sudo權限的用戶
  • Ubuntu Server 20.04的一個實例(將充當控制器――您需要其他實例充當節點,但是我將僅在控制器上進行演示,因為所有計算機上的安裝都一樣)。

如何安裝containerd運行時環境?

我們要做的第一件事是安裝containerd運行時環境,它將代替Docker。登錄到您的Ubuntu Server實例,并確保使用以下命令更新apt:


 
  1. sudo apt-get update 

這步完成后,您應該使用以下命令運行升級:


 
  1. sudo apt-get upgrade -y 

如果內核升級了,需要重新啟動服務器(除非您已安裝并運行Live Patch)。

使用以下命令安裝containerd:


 
  1. sudo apt-get install containerd -y 

使用以下命令配置containerd并啟動服務:


 
  1. sudo mkdir -p /etc/containerd 
  2. sudo su - 
  3. containerd config default /etc/containerd/config.toml 

如何安裝Kubernetes?

接下來我們將安裝Kubernetes。首先您需要使用以下命令添加存儲庫的GPG密鑰:


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

使用以下命令添加Kubernetes存儲庫:


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

現在您可以使用以下命令安裝所有必需的Kubernetes組件:


 
  1. sudo apt-get install kubeadm kubelet kubectl -y 

如何解決containerd帶來的幾個問題?

這方面情況有些棘手。雖然Kubernetes開發人員會告訴您應該很順利,事實并非如此,至少現在還沒有。有了Docker,許多底層工作無需操心。您遷移到containerd后,必須進行一番手動配置更改。

第一處更改是為/etc/sysctl.conf添加一行。使用以下命令打開文件:


 
  1. sudo nano /etc/sysctl.conf 

該文件打開后,在底部添加以下內容:


 
  1. net.bridge.bridge-nf-call-iptables = 1 

保存并關閉文件。

下一步,運行以下命令:


 
  1. sudo -s 
  2. sudo echo '1' > /proc/sys/net/ipv4/ip_forward 
  3. exit 

用以下命令重新裝入配置:


 
  1. sudo sysctl --system 

您還需要用以下命令裝入幾個必要的模塊:


 
  1. sudo modprobe overlay 
  2. sudo modprobe br_netfilter 

一旦您完成了上述,應該可以最終初始化Kubernetes了。

如何完成安裝?

您需要映射/etc/hosts中的所有節點。確保映射采用這種形式:

IP Address hostname

下一步是用以下命令設置控制器的主機名(確保它與您在/etc/hosts中使用的主機名相匹配):


 
  1. sudo hostnamectl set-hostname HOSTNAME 

其中HOSTNAME是您想使用的主機名。

使用以下命令打開fstab文件來編輯,禁用置換:


 
  1. sudo nano /etc/fstab 

在該文件中,注釋掉以/swap.img開頭的條目(即在某一行的開頭添加#字符),這一行現在將以#/swap.img開頭。

保存并關閉文件。

用以下命令禁用置換:


 
  1. sudo swapoff -a 

用以下命令拉取必要的容器:


 
  1. sudo kubeadm config images pull 

在控制器上,用以下命令初始化Kubernetes:


 
  1. sudo kubeadm init --pod-network-cidr=IPADDRESS/24 

其中IPADDRESS是控制器的IP地址。

您最終將回到在節點上運行的該命令,以便它們可以連接到集群。拷貝該命令。

在可以將節點添加到集群之前,您要處理好集群上的另外幾點。

在集群上,用以下命令創建集群目錄:


 
  1. mkdir -p $HOME/.kube 

用以下命令將配置文件拷貝到該目錄中:


 
  1. sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config 

用以下命令為配置文件賦予適當的權限:


 
  1. sudo chown $(id -u):$(id -g) $HOME/.kube/config 

用以下命令將pod網絡(這里我們將使用weave-net)部署到集群上:


 
  1. kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" 

現在您可以在每一個節點上運行join命令,以完成集群。

這個過程不如過去那么簡單。但愿在將來,Kubernetes集群部署會與過去牽涉Docker時一樣容易。在此之前,如果您選擇將這種容器編排工具托管在自己的硬件上,就要完成上述步驟。


客服
主站蜘蛛池模板: 久久综合狠狠综合久久激情 | 一本色道久久88加勒比—综合| 狠狠色狠狠色综合久久| 色综合久久久久无码专区| 国产成人99久久亚洲综合精品| 欧美综合区综合久青草视频| 一本久久综合亚洲鲁鲁五月天| 国产巨作麻豆欧美亚洲综合久久| 国产成人综合久久精品红| 亚洲色欲久久久综合网东京热| 久久综合精品国产一区二区三区| 国产成人AV综合久久| 亚洲狠狠成人综合网| 91精品国产色综合久久| 久久综合给合综合久久| 欧美日韩国产码高清综合人成| 国产成人亚洲综合无码| 亚洲成a人v欧美综合天堂下载| 精品久久综合1区2区3区激情| 色噜噜狠狠成人中文综合| 婷婷成人丁香五月综合激情| av色综合久久天堂av色综合在| 亚洲国产精品综合久久网络| 一本久久知道综合久久| 五月天综合网| 天天综合色天天综合色hd| 青青草原综合久久大伊人导航| 欧美va亚洲va国产综合| 成人伊人亚洲人综合网站222| 亚洲国产成人久久综合野外| 91精品国产综合久久精品| 国产色综合一二三四| 日韩亚洲国产综合久久久| 亚洲欧美日韩国产综合一区二区| 亚洲欧美伊人久久综合一区二区| 婷婷五月综合丁香在线| 浪潮AV色综合久久天堂| 久久婷婷五月综合国产尤物app| 久久综合给合久久狠狠狠97色| 五月综合激情婷婷六月色窝| 亚洲欧美成人久久综合中文网|