離線安裝Kubernetes


離線安裝Kubernetes

環境准備:

systemctl stop firewalld
systemctl disable firewalld
​
關閉selinux
​
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config && setenforce 0
​
#關閉swap
swapoff -a
yes | cp /etc/fstab /etc/fstab_bak
cat /etc/fstab_bak | grep -v swap > /etc/fstab
​
​
echo "* soft nofile 190000" >> /etc/security/limits.conf
echo "* hard nofile 200000" >> /etc/security/limits.conf
echo "* soft nproc 252144" >> /etc/security/limits.conf
echo "* hadr nproc 262144" >> /etc/security/limits.conf
配置內核參數
​
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
EOF
sysctl --system

1、導入Kubernetes的鏡像

docker load -i k8s-master.tar

2、安裝kubeadm(所有節點)

tar -xf kubernetes-server-linux-amd64-1.14.tar.gz 
​
cd kubernetes/server/bin
​
cp -ar kubelet kubeadm kubectl /usr/bin/

3、配置kubeadm啟動文件

cat >/usr/lib/systemd/system/kubelet.service <<EOF
[Unit]
Description=kubelet: The Kubernetes Node Agent
Documentation=https://kubernetes.io/docs/
​
[Service]
ExecStart=/usr/bin/kubelet
Restart=always
StartLimitInterval=0
RestartSec=10
​
[Install]
WantedBy=multi-user.target
EOF
​
#注意ExecStart內容換行
mkdir -p /usr/lib/systemd/system/kubelet.service.d/
cat >/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf <<EOF
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
EnvironmentFile=-/etc/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
EOF
​
#導入cni-plugins
mv cni /opt/
​
#啟動kubelet
systemctl enable kubelet && systemctl restart kubelet

4、創建初始化配置文件 可以使用如下命令生成初始化配置文件(修改相應配置文件)

kubeadm config print init-defaults > kubeadm-config.yaml

5、初始化Master01節點

這里追加tee命令將初始化日志輸出到kubeadm-init.log中以備用(可選)。

kubeadm init --config=kubeadm-config.yaml --experimental-upload-certs | tee kubeadm-init.log

6、添加node

#創建目錄
mkdir /etc/kubernetes/manifests
docker load -i k8s-node.tar
#加入k8s cluster
kubeadm join 192.168.247.154:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:c80957ecef9382082b9b56833ad6cb464492388069247bbb566afcaddac7bdd0 

7、安裝flannel插件

kubeclt apply -f kube-flannel.yml

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM