-
互聯網安全法,互聯網凈網行動
-
”凈網2020”落實好維護網絡安全責任
-
關于端午節放假通知-宇眾網絡
-
宇眾網絡春節放假通知
-
關于公司收款銀行賬戶變更通知函-宇眾網絡
-
關于網上有人冒充我公司名義進行詐騙的公告。
-
關于端午節放假通知,節日放假,但是我們業務不“放假”-宇眾網絡
-
工信部進一步加強未備案網站管理工作的通知-宇眾網絡
-
關于東莞市宇眾網絡科技有限公司香港數據中心(香港機房)路由優化通知
-
宇眾網絡慶祝五·一勞動節快樂
-
東莞東城機房網絡升級通知
-
臨近過年,互聯網IDC貴圈也有被騙的,請認準宇眾網絡公司官方聯系方式
-
我司已獲得ISP/ICP/IDC三證資格,更好的為客戶服務
-
關于浙江金華高防機房網絡線路切割通知
-
工信部近日下發關于進一步規范域名備案工作的通知
行業資訊
- 首頁
- 新聞中心
- 行業資訊
如何在Ubuntu Server安裝沒有Docker的Kubernetes?
Kubernetes現棄用對Docker的支持。沒錯,您在學習這個容器編排工具上所做的所有艱苦工作都將發生變化。您使用Kubernetes的方式會不一樣。
我說的是這個容器管理工具的安裝。您當然不能像以前那樣部署Kubernetes:將Docker安裝為運行時環境。有鑒于此,您該怎么辦?我來演示一番。
總之,我們將在Ubuntu Server 20.04上安裝Kubernetes,沒有Docker。
您需要什么?
- 具有sudo權限的用戶
- Ubuntu Server 20.04的一個實例(將充當控制器――您需要其他實例充當節點,但是我將僅在控制器上進行演示,因為所有計算機上的安裝都一樣)。
如何安裝containerd運行時環境?
我們要做的第一件事是安裝containerd運行時環境,它將代替Docker。登錄到您的Ubuntu Server實例,并確保使用以下命令更新apt:
- sudo apt-get update
這步完成后,您應該使用以下命令運行升級:
- sudo apt-get upgrade -y
如果內核升級了,需要重新啟動服務器(除非您已安裝并運行Live Patch)。
使用以下命令安裝containerd:
- sudo apt-get install containerd -y
使用以下命令配置containerd并啟動服務:
- sudo mkdir -p /etc/containerd
- sudo su -
- containerd config default /etc/containerd/config.toml
如何安裝Kubernetes?
接下來我們將安裝Kubernetes。首先您需要使用以下命令添加存儲庫的GPG密鑰:
- curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
使用以下命令添加Kubernetes存儲庫:
- sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
現在您可以使用以下命令安裝所有必需的Kubernetes組件:
- sudo apt-get install kubeadm kubelet kubectl -y
如何解決containerd帶來的幾個問題?
這方面情況有些棘手。雖然Kubernetes開發人員會告訴您應該很順利,事實并非如此,至少現在還沒有。有了Docker,許多底層工作無需操心。您遷移到containerd后,必須進行一番手動配置更改。
第一處更改是為/etc/sysctl.conf添加一行。使用以下命令打開文件:
- sudo nano /etc/sysctl.conf
該文件打開后,在底部添加以下內容:
- net.bridge.bridge-nf-call-iptables = 1
保存并關閉文件。
下一步,運行以下命令:
- sudo -s
- sudo echo '1' > /proc/sys/net/ipv4/ip_forward
- exit
用以下命令重新裝入配置:
- sudo sysctl --system
您還需要用以下命令裝入幾個必要的模塊:
- sudo modprobe overlay
- sudo modprobe br_netfilter
一旦您完成了上述,應該可以最終初始化Kubernetes了。
如何完成安裝?
您需要映射/etc/hosts中的所有節點。確保映射采用這種形式:
IP Address hostname
下一步是用以下命令設置控制器的主機名(確保它與您在/etc/hosts中使用的主機名相匹配):
- sudo hostnamectl set-hostname HOSTNAME
其中HOSTNAME是您想使用的主機名。
使用以下命令打開fstab文件來編輯,禁用置換:
- sudo nano /etc/fstab
在該文件中,注釋掉以/swap.img開頭的條目(即在某一行的開頭添加#字符),這一行現在將以#/swap.img開頭。
保存并關閉文件。
用以下命令禁用置換:
- sudo swapoff -a
用以下命令拉取必要的容器:
- sudo kubeadm config images pull
在控制器上,用以下命令初始化Kubernetes:
- sudo kubeadm init --pod-network-cidr=IPADDRESS/24
其中IPADDRESS是控制器的IP地址。
您最終將回到在節點上運行的該命令,以便它們可以連接到集群。拷貝該命令。
在可以將節點添加到集群之前,您要處理好集群上的另外幾點。
在集群上,用以下命令創建集群目錄:
- mkdir -p $HOME/.kube
用以下命令將配置文件拷貝到該目錄中:
- sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
用以下命令為配置文件賦予適當的權限:
- sudo chown $(id -u):$(id -g) $HOME/.kube/config
用以下命令將pod網絡(這里我們將使用weave-net)部署到集群上:
- kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
現在您可以在每一個節點上運行join命令,以完成集群。
這個過程不如過去那么簡單。但愿在將來,Kubernetes集群部署會與過去牽涉Docker時一樣容易。在此之前,如果您選擇將這種容器編排工具托管在自己的硬件上,就要完成上述步驟。