行業資訊

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

如何在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時一樣容易。在此之前,如果您選擇將這種容器編排工具托管在自己的硬件上,就要完成上述步驟。


客服
主站蜘蛛池模板: 99久久国产综合精品成人影院| 狠狠色丁香久久综合婷婷| 日韩欧美国产综合在线播放| 成人精品综合免费视频| 久久综合狠狠综合久久| 一本一本久久a久久综合精品蜜桃| 日韩亚洲国产综合高清| 亚洲色欲色欲综合网站| 国产成人综合久久精品红| 99久久亚洲综合精品网站| 婷婷色香五月综合激激情| 久久综合亚洲欧美成人| 亚洲综合图色40p| 99久久国产主播综合精品| 一本久道久久综合狠狠爱| 欧美久久综合性欧美| 色久综合网精品一区二区| 丁香狠狠色婷婷久久综合| 狠狠色丁香婷婷综合尤物| 激情综合网五月| 狠狠久久综合伊人不卡| 国产激情综合在线观看| 东京热TOKYO综合久久精品| 狠狠色伊人亚洲综合成人| 一个色综合国产色综合| 2021精品国产综合久久| 欧美日韩一区二区综合在线| 久久婷婷五月综合国产尤物app| 久久综合久久伊人| 久久久综合香蕉尹人综合网| 综合久久一区二区三区| 久久婷婷五月综合97色直播| 狠狠色狠狠色综合日日不卡| 一本色道久久综合狠狠躁篇| 开心久久婷婷综合中文字幕| 欧美伊人久久大香线蕉综合| 久久综合狠狠综合久久综合88| 东京热TOKYO综合久久精品| 色婷婷综合久久久久中文| 国产香蕉久久精品综合网| 国产成人综合日韩精品无码不卡|