行業資訊

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

如何在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成人| 伊人色综合久久天天网| 亚洲欧美综合网| 亚洲丁香色婷婷综合欲色啪| 丁香婷婷色五月激情综合深爱| 色妞色综合久久夜夜| 狠狠色丁香久久婷婷综合五月| 欧美色综合天天综合高清网| 狠狠综合久久AV一区二区三区| 色视频综合无码一区二区三区| 伊人成色综合网| 99久久婷婷国产综合亚洲| 色综合久久综合网观看| 无翼乌无遮挡全彩老师挤奶爱爱帝国综合社区精品| 亚洲国产综合专区电影在线| 亚洲国产欧美国产综合久久| 伊人久久大香线蕉综合5g| 亚洲综合在线观看视频| 亚洲国产精品成人AV无码久久综合影院| 欧美综合自拍亚洲综合图片区| 亚洲色图综合网| 亚洲综合激情另类专区| 亚洲VA综合VA国产产VA中| 欧美久久综合性欧美| 综合久久久久久中文字幕亚洲国产国产综合一区首| 国产亚洲欧美日韩综合综合二区| 欧美偷窥清纯综合图区| 综合久久一区二区三区| 亚洲综合日韩中文字幕v在线| 色综合久久88色综合天天 | 人人狠狠综合久久亚洲高清| 国产成人麻豆亚洲综合无码精品| 国产成人亚洲综合网站不卡| 五月婷婷综合在线| 在线综合+亚洲+欧美中文字幕| 激情五月婷婷综合| 色婷婷色综合激情国产日韩| 久久天天日天天操综合伊人av| 久久综合偷偷噜噜噜色| 狠狠色综合网站久久久久久久| 亚洲色婷婷综合开心网|