zoukankan      html  css  js  c++  java
  • 容器编排服务Kubernetes(二)

    参考文章:http://idc.wanyunshuju.com/K8S/583.html

    接上节  容器编排服务Kubernetes(一)

    上一小节中,我们将masterNode机器上所有的组件安装完毕,接下来需要配置其他作为workerNode机器。

    1、首先给各个workerNode机器安装docker,安装方式可参考容器服务Docker学习(一)实战篇

    2、修改各个机器的主机名:

    [root@localhost datas]# hostname
    localhost
    [root@localhost datas]# hostnamectl
      
    开始修改:
    1、方法一使用hostnamectl命令
    [root@xlucas1 ~]# hostnamectl set-hostname xlucas2
     
    2、方法二:修改配置文件 /etc/hostname 保存退出
    [root@xlucas1 ~]# vi /etc/hostname
    xlucas2
    进入hostname配置文件:

    修改为node1,同理分别将另外4台机器也依次修改为node2、node3、node4、node5。

    查看命令,发现永久主机名已被修改,但是临时主机名仍然还是之前的(我不太分的清,临时主机名和永久主机名在搭建集群时,到底指向什么,所以我这里统一将临时主机名也修改为node1、node2、、、、node5,用命令 sudo hostname node1)

    3、时间校对

    [root@master ~]# ntpdate ntp1.aliyun.com
    13 Sep 14:48:02 ntpdate[1596]: adjust time server 120.25.115.20 offset -0.015854 sec
     
    [root@master ~]# hwclock
    2018年09月13日 星期四 14时49分51秒  -0.646898 秒

    4、配置IP地址,配置7台测试机的/etc/hosts文件(在七台服务器上同步)

     5、配置文件传到node1、node2、、、、

    [root@master ~]# scp /usr/lib/systemd/system/docker.service node1:/usr/lib/systemd/system/docker.service
    [root@master ~]# scp /etc/sysconfig/kubelet node1:/etc/sysconfig/
    [root@master ~]# scp /usr/lib/systemd/system/docker.service node2:/usr/lib/systemd/system/docker.service
    [root@master ~]# scp /etc/sysconfig/kubelet node2:/etc/sysconfig/

     6、开始从node1到node6开始下载配置环境。

    (1)[root@node1 ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    (2)[root@node1 ~]# rpm --import rpm-package-key.gpg

    (3)[root@node1 ~]# yum -y install kubelet kubeadm(此处出现问题)

     对比上节安装masterNode的经验,感觉像是没有配置kubernetes仓库。

    进到 /etc/yum.repos.d 文件夹 新建kubernetes.repo文件。

    新建文件:

     然后再次执行

    (1)[root@node1 ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    (2)[root@node1 ~]# rpm --import rpm-package-key.gpg

    (3)[root@node1 ~]# yum -y install kubelet kubeadm 成功!

     7、启动Docker

    [root@node2 ~]# systemctl start docker
    [root@node2 ~]# systemctl enable docker kubelet

    [root@node2 ~]# docker info

    8、将此结点添加到主集群里。

    kubeadm join 172.16.12.217:6443 --token ayykxh.fdsnw6dnai6k1rh1 --discovery-token-ca-cert-hash sha256:bc39b2e7139f573d397c3c031680e76a22d28a916e928d30c83d8f4f8fda8d61 --ignore-preflight-errors=Swap

     出现了一个报错,就一直卡在这里

    更改了docker的启动,解决了第一个warning,

    在/etc/docker下创建daemon.json并编辑以下内容:

     解决了第一个warning,但是程序一直卡在这里不动。

     

    关闭防火墙(所有结点都关闭,以及禁用swap,用swapoff -a命令),第二个warning成功解决,然后又开始报新的错误。

    查找资料说是主机生成的token过期,解决办法;去master主机生成新的token:

     主机生成新的token:

    将新生成的token,拿到node1结点上进行替换,添加成功:

    9、查看下载镜像
    [root@node1 ~]# docker image ls

    我这里显示的东西少了两项,略显单薄。网上的教程,docker里面的东西比我这里多了三项东西,具体见下图(此图片来源于网站)。

    10、用同样的方法,将6个Node添加进来,master服务器上可以查节点信息
    [root@master ~]# kubectl get nodes

     

     6个结点全部添加进来了,但是notReady。

    根据这个打印日志发现,是缺少fannel等组件,没法实现网络通信,于是对比步骤9中的docker image中的内容,补充下载了三项(六个结点都需要下载):

     成功将Node的状态改为了ready。

     11、至此K8S搭建完成,需要进一步验证是否成功。

    12、结点的加入、删除。

    https://blog.csdn.net/feichen2016/article/details/91396181

    附录:还有很多比较好的帖子来不及整理,先记下,有时间再去围观。

    1.初始化集群的,图文并茂https://www.cnblogs.com/hanshanxiaoheshang/p/10942550.html、介绍了各个网络之间的通信,以及具体构成部件。

    2.图文并茂,还有部分错误解决办法。https://mritd.me/2016/10/29/set-up-kubernetes-cluster-by-kubeadm/

    3.CentOS7.6安装Kubernetes v1.15.1(我们一起踩过的坑)https://blog.csdn.net/chendoukuang7121/article/details/100969378(很清晰,强推)

    4.跟我的版本完全匹配,强推《安装Kubernetes V1.16.2》https://www.cnblogs.com/bluersw/p/11713468.html

    5.具体安装步骤 https://www.jianshu.com/p/e31fb1c469f7

    6.https://www.jianshu.com/p/866f02f67578

     

  • 相关阅读:
    Windows脚本转换Liunx识别并执行
    分布式事物常见解决方案
    SIMD加速计算矩阵(组成原理实验5)
    Code-server搭建web IDE
    CentOS 8 修改SSH端口
    Floyd算法的原理和实现代码
    initNativeTransServiceId . ntrans:object componentId :-368613127 微信小程序
    对象搜索算法挑战
    微信小程序小窗无效
    《六层楼》--宋东野
  • 原文地址:https://www.cnblogs.com/maowuyu-xb/p/11803624.html
Copyright © 2011-2022 走看看