- Kubernetes權威指南:從Docker到Kubernetes實踐全接觸(第5版)
- 龔正等編著
- 10字
- 2024-01-22 18:49:47
第2章 Kubernetes安裝配置指南
2.1 系統要求
Kubernetes系統由一組可執行程序組成,用戶可以通過Kubernetes在GitHub的項目網站下載編譯好的二進制文件或鏡像文件,或者下載源碼并自行將其編譯為二進制文件。
安裝Kubernetes對軟件和硬件的系統要求如表2.1所示。
表2.1 安裝Kubernetes對軟件和硬件的系統要求

Kubernetes需要容器運行時(Container Runtime Interface,CRI)的支持,目前官方支持的容器運行時包括:Docker、Containerd、CRI-O和frakti等。容器運行時的原理詳見5.4.5節的說明。本節以Docker作為容器運行環境,推薦的版本為Docker CE 19.03。
宿主機操作系統以CentOS 7為例,使用Systemd系統完成對Kubernetes服務的配置。其他Linux發行版的服務配置請參考相關的系統管理手冊。為了便于管理,常見的做法是將Kubernetes服務程序配置為Linux系統開機自啟動的服務。
需要注意的是,CentOS 7 默認啟動了防火墻服務(firewalld.service),而Kubernetes的Master與工作Node之間會有大量的網絡通信。安全的做法是在防火墻上配置各組件需要相互通信的端口號,具體要配置的端口號如表2.2所示。
表2.2 具體要配置的端口號

其他組件可能還需要開通某些端口號,例如CNI網絡插件calico需要179端口號;鏡像庫需要5000端口號等,需要根據系統要求逐個在防火墻服務上配置網絡策略。
在安全的網絡環境中,可以簡單地關閉防火墻服務:

另外,建議在主機上禁用SELinux(修改文件/etc/sysconfig/selinux,將SELINUX=enforcing修改為SELINUX=disabled),讓容器可以讀取主機文件系統。隨著Kubernetes對SELinux支持的增強,可以逐步啟用SELinux機制,并通過Kubernetes設置容器的安全機制。