🐐 kubernetes

# kubernetes安装 参考教程为:[k8s教程](https://k8s.easydoc.net/docs/dRiQjyTY/28366845/6GiNOzyZ/nd7yOvdY) ## 腾讯云 我尝试过使用虚拟机的方式,但是我用不来虚拟机,虚拟机的复制粘贴很不方便,要想使用虚拟机得使用ssh进行连接,但是网络是一大难题。我ssh连接不上。甚至宿主机ping不通虚拟机。 我尝试过使用容器的方式,但是找不到合适的镜像,从头搭起的话,经常遇到网络状况不好的情况,耗时耗力。 微软云有200美金的免费额度,各个方面的新手教程非常好,只可惜网络不是很通,不知道什么原因本地ssh就是连接不上。难道是被墙了?ssh我也不知道怎么走代理。 最终选择了腾讯云,腾讯云三台云虚拟机的价格最便宜的是5毛钱一小时,三台就是1.5元/小时,预计要花掉20多元吧。 腾讯云的体验不错,有香港地区的,网络非常通畅! ## Kubernetes 粗略理解一下,kubernetes是用来管理容器的软件,和常见的软件不同,kubernetes经常被部署在一个集群中,而不是仅仅一台电脑。 kubernetes的安装可以通过yum进行,要同时安装在多台计算机上。 >i 注:教程是CentOS,我最开始是使用Ubuntu去部署的,但是有一些差异,在Ubuntu上遇到了无法解决的错误。我使用的CentOS系统是7.9 在每台机器上安装好了kubernetes之后,需要对docker进行设置, ``` # 设置自动启动 systemctl enable kubelet systemctl start kubelet systemctl enable docker systemctl start docker # 修改 docker 配置(所有节点) # kubernetes 官方推荐 docker 等使用 systemd 作为 cgroupdriver,否则 kubelet 启动不了 # 可以设置成bash文件 cat <<EOF > daemon.json { "exec-opts": ["native.cgroupdriver=systemd"], "registry-mirrors": ["https://ud6340vz.mirror.aliyuncs.com"] } EOF mv daemon.json /etc/docker/ # 重启生效 systemctl daemon-reload systemctl restart docker ``` 在每台机器上安装好了kubernetes之后,可以指定一台机器为master,master进行初始化,然后其他node运行指令加入master 初始化集群方法: ``` # 初始化集群控制台 Control plane # 失败了可以用 kubeadm reset 重置 kubeadm init --image-repository=registry.aliyuncs.com/google_containers # 记得把 kubeadm join xxx 保存起来 # 忘记了重新获取:kubeadm token create --print-join-command # 复制授权文件,以便 kubectl 可以有权限访问集群 # 如果你其他节点需要访问集群,需要从主节点复制这个文件过去其他节点 mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config # 在其他机器上创建 ~/.kube/config 文件也能通过 kubectl 访问到集群 ``` ``` kubeadm join 172.19.0.3:6443 --token mo855j.0a3kzgpxs7hof3if --discovery-token-ca-cert-hash sha256:0aa70186abc124e25c5c93d9f35ec8c21cad18721934f752b86bb5851f300fed ``` 使用命令`kubectl get node`查看各个节点的情况,此时节点应该是处于`Not Ready`的状态,然后需要安装网络插件。(主节点) ``` # 很有可能国内网络访问不到这个资源,你可以网上找找国内的源安装 flannel kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml # 如果上面的插件安装失败,可以选用 Weave,下面的命令二选一就可以了。 kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml kubectl apply -f http://static.corecore.cn/weave.v2.8.1.yaml # 更多其他网路插件查看下面介绍,自行网上找 yaml 安装 https://blog.csdn.net/ChaITSimpleLove/article/details/117809007 ``` 至此,k8s就已经安装好了。