採用docker做爲容器運行(目前業界主流與共識)python
# yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
能夠採用國內的鏡像加速服務,參照kubernetes的官方文檔,這裏使用阿里的鏡像在CentOS上的安裝做爲說明(做此筆記的時候嘗試過華爲、騰訊和電子科大的kubernetes好像版本沒有阿里的新,就暫時先用阿里的來作實驗了)。linux
# yum makecache fast # yum -y install docker-ce
此處根據默認是docker源文件的配置安裝的是最新穩定版,但頗有可能不能經過最新的kubernetes的認證。所以,咱們採用下面的方式來選擇安裝版本,特別是再生產環境中。docker
# yum list docker-ce.x86_64 --showduplicates | sort -r Loading mirror speeds from cached hostfile Loaded plugins: branch, fastestmirror, langpacks ... dockdr-ce.x86_64 18.09.9.ce-1.el7.centos docker-ce-stable ... docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable Available Packages
VERSION 例如上面的 18.09.9.ce.1-1.el7.centosjson
# yum -y install docker-ce-18.09.9 docker-ce-cli-18.09.9
若是是離線安裝可使用Everthing的哪一個ISO進行依賴庫的安裝,但安裝的docker版本比較老,不過問題也不大。固然也能夠先在可以聯網的主機上將須要的rpm打包下載,而後拷貝到離線環境中進行安裝,關鍵過程以下:centos
# yum install docker-ce-18.09.9 docker-ce-cli-19.09.9 --downloadonly --downloaddir=/home/<your_account>/
安裝基礎的依賴包服務器
# rpm -ivh checkpolicy-2.5-8.el7.x86_64.rpm # rpm -ivh libcgroup-0.41-20.el7.x86_64.rpm # rpm -ivh libseccomp-2.3.1-3.el7.x86_64.rpm # rpm -ivh libsemanage-python-2.5-14.el7.x86_64.rpm # rpm -ivh audit-libs-python-2.8.4-4.el7.x86_64.rpm # rpm -ivh setools-libs-3.3.8-4.el7.x86_64.rpm # rpm -ivh python-IPy-0.75-6.el7.noarch.rpm # rpm -ivh policycoreutils-python-2.5-29.el7.x86_64.rpm
安裝docker-ce的軟件包網絡
# rpm -ivh container-selinux-2.99-1.el7_6.noarch.rpm # rpm -ivh containerd.io-1.2.6-3.3.el7.x86_64.rpm # rpm -ivh docker-ce-cli-18.09.7-3.el7.x86_64.rpm # rpm -ivh docker-ce-18.09.7-3.el7.x86_64.rpm
說明:
1.上述安裝的軟件包版本可能不同,根據安裝時的具體實際狀況來,沒必要臺糾結。
2.在掛載Eerything的ISO做爲軟件源的狀況下,能夠直接使用yum命令對拷貝到本地的container-selinux、containerd.io、docker-ce-cli、docker-ce的軟件包,安裝上述順序進行安裝。架構
目前非x86_64的平臺也多了起來,如華爲的鯤鵬服務器,並且某些地方也有用武之地,這裏以ARM64架構爲例(以後的非x86_64架構也是)進行說明。app
若是有一臺ARM64的裸機,那麼就直接安裝對應版本的CentOS執行上面的命令便可。dom
沒有ARM64的裸機,可使用模擬器來代替,反正主要是下載包。再次感謝Linux的好處:),本人如今的主機就是安裝的Fedora的發行版,若是要模擬ARM64,只需安裝相應的架構包能夠,以下:
sudo dnf install qemu-system-aarch64
該命令能夠自行解決包依賴問題,而後在使用Virtual Machine Manager這個程序建立虛擬機的時候,高級選項中就會多出aarch64,即ARM64的架構,選擇並點擊下一步,以後執行後續的安裝步驟根新建amd64架構的就同樣了。除此外,還可使用qemu-system-XXX來安裝模擬其它架構的虛擬機,有點激動,呵呵呵。
# mkdir /etc/docker
# cat > /etc/docker/daemon.json <<EOF { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true"], "bip":"172.31.0.1/16", "insecure-registry":["registry.your.domain"] } EOF
其中
# mkdir -p /etc/systemd/system/docker.service.d
修改docker服務文件(/usr/lib/systemd/system/docker.service),docker的iptables的FORWARD默認策略爲DROP,可能會影響集羣通訊,須要修改原有的docker.service文件,在"ExecStart=/usr/bin/docker"以後新增一行:
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
# systemctl daemon-reload # systemctl start docker # systemctl enable docker