环境配置
完成这篇博客的部署就可以进行下面的部署了!!!因为处于初级学习阶段,所以就先部署单机的,这里需要注意的是,K8S一般都会涉及到梯子,但对于小白来讲,梯子是什么鬼都有点困难,所以为了避免这种情况,我们用阿里云的源,这样就可以避免梯子这一步了。接下来开始部署
[root@docker001 ~]# systemctl enable docker && systemctl start docker
cat > /etc/sysconfig/modules/ipvs.modules <<EOFmodprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack_ipv4 EOF
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF 或者你可以这样操作 安装必要命令 # 在/etc/yum.repos.d 下创建k8s.repos, 并添加如下内容 name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg 以上两种情况2选一即可
1.yum update 以上的截图是升级以后的,如果没有升级过,需要等待一段时间直到出现Complete! 在升级yum时如果出现报错 Failed to connect to 2404:6800:4012::200e: Network is unreachable 请参考https://blog.csdn.net/qq_28641401/article/details/96305174 解决问题 2.yum makecache fast 3.yum install -y kubelet kubeadm kubectl 如果执行以上两部报以下错误,那就说明你的2.配置k8s的yum源 (这里用的网址避免了梯子)有问题,基本上就是梯子闹得,仔细检查一下
google 镜像并不在docker库中,因此要防止墙的问题,需要找代替镜像 // 查看kubeadm镜像 $ kubeadm config images list // 结果 k8s.gcr.io/kube-apiserver:v1.13.3 k8s.gcr.io/kube-controller-manager:v1.13.3 k8s.gcr.io/kube-scheduler:v1.13.3 k8s.gcr.io/kube-proxy:v1.13.3 k8s.gcr.io/pause:3.1 k8s.gcr.io/etcd:3.2.24 k8s.gcr.io/coredns:1.2.6 // 执行如下脚本(没有翻墙的同学只能通过阿里云镜像或者其他镜像) $ for i in `kubeadm config images list`; do imageName=${i#k8s.gcr.io/} docker pull registry.aliyuncs.com/google_containers/$imageName docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName docker rmi registry.aliyuncs.com/google_containers/$imageName done; (本脚本来自于https://www.jianshu.com/p/d27141e18398)
$ systemctl enable kubelet && systemctl start kubelet
开通必要端口号 防止不必要的问题出现 // 6443 firewall-cmd --zone=public --add-port=6443/tcp --permanent && firewall-cmd --reload // 10250 firewall-cmd --zone=public --add-port=10250/tcp --permanent && firewall-cmd --reload 如果你是云主机,执行这一步可能会出现以下报错
这是因为你的防火墙关了你需要开启防火墙 通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启 通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。 具体请参考博客https://www.cnblogs.com/rxbook/p/8110143.html 其实这一步对于云主机来讲是多于的,忽略即可
$ kubeadm init
[root@docker001 ~]# kubectl taint nodes --all node-role./master [root@docker001 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION docker001 NotReady master 3h33m v1.16.2 解决:// 这边有很多选择,本次使用`weave` // 配置地址 https:///docs/concepts/cluster-administration/addons/ $ kubectl apply -f "https://cloud.s/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" 安装网卡插件后大约等待一分钟再进行查看 到这里我们的kubernetes基本上就是部署成功了!!!! |
|