行業資訊

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

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


客服
主站蜘蛛池模板: 激情综合五月天| 狠色狠色狠狠色综合久久| 欧美亚洲综合另类| 成人综合久久精品色婷婷| 婷婷四房综合激情五月在线| 色综合合久久天天给综看| 国产成+人+综合+亚洲欧美| 久久综合中文字幕| 国产色综合天天综合网 | 国产V综合V亚洲欧美久久| 欧美日韩国产色综合一二三四| 99久久精品国产综合一区| 欧洲 亚洲 国产图片综合| 亚洲国产综合人成综合网站| 国产成人麻豆亚洲综合无码精品| 国产成人综合美国十次| 婷婷国产天堂久久综合五月| 激情综合色五月六月婷婷| 色欲久久久天天天综合网| 婷婷五月六月激情综合色中文字幕| 亚洲欧美日韩国产综合| 亚洲成A人V欧美综合天堂麻豆| 色欲综合一区二区三区| 天堂无码久久综合东京热| 亚洲av综合av一区| 欧美久久天天综合香蕉伊| 国产亚洲精品精品国产亚洲综合| 色综合久久88色综合天天 | 亚洲综合图色40p| 国产综合内射日韩久| 亚洲AV成人潮喷综合网| 色青青草原桃花久久综合| 日韩亚洲人成在线综合日本| 色综合合久久天天给综看| 国产亚洲综合网曝门系列| 久久婷婷午色综合夜啪| 亚洲av日韩综合一区在线观看| 亚洲色婷婷综合久久| 亚洲国产综合无码一区二区二三区| HEYZO无码综合国产精品| 欧美偷窥清纯综合图区|