centos7.2部署kubernets v1.10和採坑記錄

kubernets的基本概念和作用就不贅述了,google一下什麼都知道了,直接進入正題,記錄一下采坑和安裝的過程。
環境準備:
centos7.2 x86_64 192.168.147.191 master k8s.masterdengchao.com##小插曲k8s.master.com居然有人註冊了,搞的我在初始化的時候等了半天也沒有反應,確實有點坑人,所以後面改了主機名
centos7.2 x86_64 192.168.147.192 master node1.com
centos7.2 x86_64 192.168.147.193 master k8s.node2.com

kubernets啓動之前需要安裝docker,但是現再最新版的v1.10也支持到docker17.03.這個一定要注意,要不然啓動不成功。
安裝docker17.03:
master節點:
安裝docker 17.03依賴包:
yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
yum localinstall docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm -y

systemctl enable docker
systemctl start docker
配置hosts文件三臺節點都要配置:
cat /etc/hosts
192.168.147.191 k8s.masterdengchao.com
192.168.147.192 k8s.node1.com
192.168.147.193 k8s.node2.com
配置kubernetsyum倉庫:
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

setenforce 0
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
這裏啓動的時候會報錯,kubelet啓動不起來。
修改一下配置文件:
cat /usr/lib/sysctl.d/00-system.conf

Kernel sysctl configuration file

#

For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and

sysctl.conf(5) for more details.

Disable netfilter on bridges.

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 0

使用一下命令:

sed -i 's/net.bridge.bridge-nf-call-ip6tables = 0/net.bridge.bridge-nf-call-ip6tables = 1/' /usr/lib/sysctl.d/00-system.conf
sed -i 's/net.bridge.bridge-nf-call-iptables = 0/net.bridge.bridge-nf-call-iptables = 1/' /usr/lib/sysctl.d/00-system.conf
報錯和解決辦法如下:

提示找不到ca文件,直接先初始化,會自動下載ca文件:
kubeadm init --pod-network-cidr 10.10.0.0/24 --ignore-preflight-errors all

然後再啓動
systemctl daemon-reload && systemctl start kubelet
在初始化就沒有問題了
kubeadm init --pod-network-cidr 10.10.0.0/24 --ignore-preflight-errors all
然後安裝提示操作:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
會生產一個token這個需要記下來到node節點上面去執行:
kubeadm join 192.168.147.191:6443 --token l6mql3.61w91hpwzzzul53t --discovery-token-ca-cert-hash sha256:03e3dded073878045e1831d610254904a451ff574de7bf8f1a5d812f40195947

錯誤:failed to run Kubelet: Running with swap on is not supported, please disable swap!
解決:
echo 'Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false"' >> /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

修改:/etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd" 將systemd修改爲cgroupfs

sed -i 's/Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"/Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs"/' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

錯誤:
Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

解決:
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf註釋掉network一行

#Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"

創建網絡:
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-legacy.yml
kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-legacy.yml
##記得修改網段

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml
master節點的安裝就基本完成了。

node節點上面:
1.安裝docker並啓動
2.安裝kubernets並啓動
3.執行kubeadm join 192.168.147.191:6443 --token l6mql3.61w91hpwzzzul53t --discovery-token-ca-cert-hash sha256:03e3dded073878045e1831d610254904a451ff574de7bf8f1a5d812f40195947 加入到機器

在master節點查看狀態:
centos7.2部署kubernets v1.10和採坑記錄
centos7.2部署kubernets v1.10和採坑記錄
centos7.2部署kubernets v1.10和採坑記錄
至此安裝完成,但是我的網絡比較慢,docker在下載鏡像。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章