k8s安裝后,查看狀態,dns pod 為pending狀態,flannel為Init:ImagesPullBackoff,
/etc/檔案夾下沒有cni檔案夾,、opt下有cni檔案夾。請問什么原因,附上我的安裝腳本。
# 修改本地域名決議檔案
echo "${master_ip} ${master_name}" >> /etc/hosts
echo "${node1_ip} ${node1_name}" >> /etc/hosts
# 關閉防火墻
systemctl stop firewalld
systemctl disable firewalld
# 臨時關閉selinux
setenforce 0
# 永久關閉selinux
sed -i 's/enforcing/disabled/g' /etc/selinux/config
# 啟用iptables轉發
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
# 使iptables設定生效
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
# 臨時關閉swap
swapoff -a
# 永久關閉swap
echo "vm.swappiness=0" >> /etc/sysctl.d/k8s.conf
sysctl -p /etc/sysctl.d/k8s.conf
# 設定全域代理
echo "export http_proxy=${proxy_url}" >> /etc/profile
# 設定yum代理
echo "proxy=${proxy_url}" >> /etc/yum.conf
# 使組態檔生效
source /etc/profile
## 安裝docker
# 安裝
yum install -y docker
# 啟動Docker服務
systemctl enable docker
systemctl start docker
# 查看Docker資訊
docker info
# 設定Docker代理
mkdir /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/http_proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=${proxy_url}"
EOF
# 重啟docker
systemctl daemon-reload && systemctl restart docker
# 查看代理是否設定成功
docker info | grep -i proxy
# 查看docker啟動引數(kubelet啟動引數應與docker保持一致)
docker info | grep -i cgroup
# 匯入Docker鏡像
docker load -i images/cni.tar
docker load -i images/etcd.tar
docker load -i images/etcd-amd64.tar
docker load -i images/k8s-dns-dnsmasq-nanny-amd64.tar
docker load -i images/k8s-dns-kube-dns-amd64.tar
docker load -i images/k8s-dns-sidecar-amd64.tar
docker load -i images/kube-apiserver-amd64.tar
docker load -i images/kube-controller-manager-amd64.tar
docker load -i images/kube-controllers.tar
docker load -i images/kube-proxy-amd64.tar
docker load -i images/kubernetes-dashboard-amd64.tar
docker load -i images/kube-scheduler-amd64.tar
docker load -i images/node.tar
docker load -i images/pause-amd64.tar
# 查看鏡像并重啟docker
docker images
systemctl restart docker
# 安裝kubeadm、kubelet并啟動服務
yum install -y rpm/*.rpm
systemctl enable kubelet
systemctl start kubelet
# 修改kubelet組態檔
sed -i "s/cgroup-driver=cgroupfs/cgroup-driver=systemd --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
sed -i "s/allow-privileged=true/allow-privileged=true --fail-swap-on=false/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
# 啟動kubelet服務
systemctl daemon-reload
systemctl restart kubelet
# 初始化master
# --token-ttl 0表示永久用同一個token
kubeadm init --kubernetes-version=${k8s_version} --token-ttl 0 --pod-network-cidr=${pod_networkcidr} --apiserver-advertise-address=${master_ip}
# 配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf
# 檢查組件狀態(需等待一段時間)
kubectl get pods -n kube-system
# 安裝flannel組件
kubectl apply -f yml/kube-flannel.yml
# 查看flannel組件狀態
kubectl get pods -n kube-system
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/42595.html
標籤:Docker
上一篇:Spark 啟動失敗
