微软OneNote客户预览版学习工具下载(暂未上线):教学好帮手
687
2022-05-29
近期参加云原生王者之路钻石集训营第二阶段云原生钻石课程,刚好有试用的鲲鹏云服务器,为了更好的学习云原生的相关知识,在鲲鹏服务器上搭建k8s集群。
1. 部署k8s首先要安装docker,根据华为云官方文档要求,docker推荐使用官方二进制包安装,其版本为docker-18.09.8及以上。但是在安装过程中,为了图方便,在github.com下载对应版本的docker.service,启动docker出现下面情况:
原因是下载下来的docker.service有问题,解决办法是重新配置docker.service文件,如下图所示:
2. 在安装k8s集群时,根据华为官方文档步骤操作(https://support.huaweicloud.com/dpmg-kunpengcpfs/kunpengk8s_04_0004.html),配置的k8s源显示最新版本是1.14.2,达不到文档环境配置提示的最低版本。如图所示:
提工单后,华为工程师帮忙解决,重新发链接:https://support.huaweicloud.com/instg-kunpengdbs/kunpengmysqlmgr_03_0007.html,按照文档重新配置源后,可以获取最新的k8s版本。关于这个问题已经提交云声,希望能更新一下k8s源的安装地址。
3. 查看下载节点初始化所需镜像
kubeadm config images list
但是无法从DockerHub上下载镜像,如图所示:
解决办法是根据https://blog.csdn.net/subfate/article/details/103774072提供的方法修改docker的下载的镜像源。添加 /etc/docker/daemon.json 文件:
cat > /etc/docker/daemon.json < { "registry-mirrors": [ "https://a8qh6yqv.mirror.aliyuncs.com", "http://hub-mirror.c.163.com" ], "exec-opts": ["native.cgroupdriver=systemd"] } EOF 下载好的镜像因和kubeadm列出的镜像名不一致,使用docker tar命令修改镜像名。 同时使用docker rmi命令删除下载的镜像。 开始配置k8s集群,在主节点上执行集群初始化命令 kubeadm init --pod-network-cidr=10.244.0.0/16 如图所示: 根据图片所示执行下面的步骤: mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config export KUBECONFIG=/etc/kubernetes/admin.conf 在各节点添加加入集群命令: kubeadm join 192.168.0.146:6443 --token 79dfue.05k9pg8621pjxuk5 --discovery-token-ca-cert-hash sha256:32fecf341e684009d6786ebfeadf9098d01a2a061d3a3785014e2ecd715dca53 4. 添加Flannel网络插件,在主节点上执行如下命令安装Flannel网络插件。有两种方法(1)是登录gitee.com,从https://gitee.com/mirrors/flannel/blob/master/Documentation/下载kube-flannel.yaml后,上传到k8s主节点的服务器上。(2)直接在k8s主节点的服务器上使用wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml获取,记得要查看下载kube-flannel.yml文件是否是格式正确。这个特别注意,这个网址对网络有要求,如果是弹性云服务器是没问题,如果是自己在虚拟机上搭建的k8s上,有可能无法下载。所以建议使用第1种方法比较方便。 5. 验证K8s集群的部署结果 (1)建立一个k8s目录方便存放yaml文件 mkdir /opt/k8s cd /opt/k8s (2)在k8s主节点中创建一个名为nginx_deploy.yaml的文件,在其中添加如下内容: 出现上图的问题,是要把apiVersion: apps/v1beta1修改为apiVersion: apps/v1,已经解决上面的错误,但是是会报错,修改如图所示: 在副本设置下面添加下面语句: selector: matchLabels: app: nginx-deployment (3)创建完毕后执行如下命令,部署节点。 kubectl create -f nginx_deploy.yaml (4)执行pod命令,查看K8s创建这个deployment的过程。 kubectl get pod --all-namespaces -o wide 如图所示:说明k8s部署成功。 Docker 云原生 鲲鹏
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。