centos7安裝kubeadm

安裝配置docker

v1.9.0版本推薦使用docker v1.12, v1.11, v1.13, 17.03也可以使用,再高版本的docker可能無法正常使用。 測試發現17.09無法正常使用,不能使用資源限制(內存CPU)

安裝docker

# 卸載安裝指定版本docker-ce
yum remove -y docker-ce docker-ce-selinux container-selinux
yum install -y --setopt=obsoletes=0 \
docker-ce-17.03.1.ce-1.el7.centos \
docker-ce-selinux-17.03.1.ce-1.el7.centos
複製代碼

修改docker配置使用systemd

在/etc/docker/daemon.json文件添加如下配置 centos7安裝的docker12不能添加此參數,否則會無法啓動

{
 "exec-opts": ["native.cgroupdriver=systemd"]
}

# 如果使用了加速器配置格式如下
{
 "registry-mirrors": ["https://tfhzn46h.mirror.aliyuncs.com"],
 "exec-opts": ["native.cgroupdriver=systemd"]
}
複製代碼

啓動docker

systemctl enable docker && systemctl restart docker
複製代碼

安裝 kubeadm, kubelet 和 kubectl

如下的安裝方法,選擇其中一個即可。

翻牆安裝

需要翻牆才能正常安裝,如果不能翻牆,可以使用阿里雲或其他雲提供的容器海外構建功能,下載好包。 啓動容器,之後從容器中把文件獲取出來安裝即可。

# 安裝依賴
yum install -y ebtables socat

# 在能翻牆的機器上下載rpm包
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y yum-utils
k8s_version=$(yum info kubelet | grep Version | awk -F ':' '{print $2}' | tr -d ' ')
mkdir k8s-$k8s_version && cd k8s-$k8s_version
yumdownloader kubelet kubeadm kubectl kubernetes-cni

# 打包下載到要安裝的機器上 cd .. && tar cvzf k8s-${k8s_version}.tgz k8s-$k8s_version/

# 安裝
tar xf k8s-*.tgz && cd k8s-* && yum localinstall -y *.rpm
複製代碼

使用阿里鏡像安裝

# 配置源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

# 安裝
yum install -y kubelet kubeadm kubectl
複製代碼

二進制安裝方法(不推薦)

此需要自己安裝kubernetes-cni

# 下載安裝
version=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)
wget https://storage.googleapis.com/kubernetes-release/release/$version/bin/linux/amd64/kubectl
wget https://storage.googleapis.com/kubernetes-release/release/$version/bin/linux/amd64/kubeadm
wget https://storage.googleapis.com/kubernetes-release/release/$version/bin/linux/amd64/kubelet
chmod +x kubectl kubeadm kubelet
mv kubectl kubeadm kubelet /usr/local/bin
複製代碼

實驗所用kubeadm相關文件已經上傳到了百度網盤 鏈接:https://pan.baidu.com/s/1pl7YYUYZsPd98J0DhNLWEQ 密碼:40na

配置系統相關參數

# 臨時禁用selinux # 永久關閉 修改/etc/sysconfig/selinux文件設置
sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux
setenforce 0

# 臨時關閉swap # 永久關閉 註釋/etc/fstab文件裏swap相關的行
swapoff -a # 開啓forward # Docker從1.13版本開始調整了默認的防火牆規則 # 禁用了iptables filter表中FOWARD鏈 # 這樣會引起Kubernetes集羣中跨Node的Pod無法通信

iptables -P FORWARD ACCEPT

# 配置轉發相關參數,否則可能會出錯
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF
sysctl --system

本文轉自掘金-centos7安裝kubeadm
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章