美文网首页K8S云原生
Kubernetes基于Centos7构建基础环境(三)

Kubernetes基于Centos7构建基础环境(三)

作者: 同创永益 | 来源:发表于2021-04-30 15:57 被阅读0次

    【前言】本文介绍了Kubernetes基于Centos7构建基础环境,作者:姜新灿(同创永益架构总监)。

    环境准备

    准备三台虚拟机,每台虚机请参照Kubernetes基于Centos7构建基础环境(一)、Kubernetes基于Centos7构建基础环境(二)进行安装构建

    一、 三台虚拟机配置表

    1. 服务器配置

    2. 工具版本

    docker version: v19.03.11

    Kubernetes version: v1.18.2

    参考地址kubernetes监控中级方案:kubernetes监控终极方案-kube-promethues - skyflask - 博客园

    二、 修改虚机域名

    依次修改各个虚拟机域名为master55.xincan.cn、 slave56.xincan.cn、 slave57.xincan.cn

    三、 配置三台机器互相用域名、别名访问

    修改/etc/hosts文件设置,3台服务器同时增加如下代码

    192.168.1.55 master55.xincan.cn master55

    192.168.1.56 slave56.xincan.cn slave56

    192.168.1.57 slave57.xincan.cn slave57

    四、 重启三台虚拟机,执行reboot

    分别链接3台服务器,由之前的localhost已经改成服务器别名

    五、 三台服务器时间同步

    1. 3台服务器都安装ntp,提示Complete!则安装成功

    2. 3台服务器同时设置,查看当前系统时间、并设置当前时间为上海

    3. master55配置server ntp.aliyun.com iburst,然后通过sudo systemctl start ntpd启动服

    务,稍等一会执行ntpq -p查看是否同步,如果出现前面的*则,同步成功

    systemctl start ntpd                        启动ntp

    systemctl restart ntpd                    重启ntp

    systemctl enable ntpd.service        开机启动

    ntpdc -c loopinfo                            查看与时间同步服务器的时间差

    4. slave56、slave57配置master55域名地址server master55.xincan.cn iburst,然后通过sudo

    systemctl start ntpd启动服务,稍等一会执行ntpq -p查看是否同步,如果出现前面的*则,同步成功

    slave56设置

    slave57设置

    六、 三台服务器同时配置kubernetes网桥

    设置网桥为值为1

    1. master55设置

    2. slave56设置

    3. slave57设置

    七、 三台服务器同时配置kubernetes下载源,关闭SELinux

    1. master55设置

    2. slave56设置

    3. slave57设置

    八、 查看三台服务器下载源列表,如下成功

    九、 三台服务器设置免密登录

    1:manager节点执行:ssh-keygen -t rsa 一路回车到结束,在/root/.ssh/下面会生成一个公钥文件id_rsa.pub

    2. 将公钥追加到authorized_keys

    3. 修改authorized_keys权限:

    4. 将~/.ssh从master55节点分发到slave56、slave57节点,执行:scp -r ~/.ssh/ root@slave56:~/.ssh/ scp -r ~/.ssh/ root@slave57:~/.ssh/ 过程中需要填写yes,然后提示输入slave56、slave57两个节点的登录密码

    5. 验证master55、slave56、slave57三个节点免密登录

    master55节点验证

    slave56节点验证,第一次链接需要输入目标服务密码,后续则不用

    slave57节点验证,第一次链接需要输入目标服务密码,后续则不用

    十、 三台服务器同时安装kubelet kubeadm kubectl

    安装完成之后,启动,并设置开机启动

    十一、以master55为Kubernetes主节点进行Kubernetes初始化

    1. 执行命令进行初始化

    sudo kubeadm init −−image-repository registry.aliyuncs.com/google_containers − −kubernetes-version v1.18.2 −−apiserver-advertise-address 192.168.1.55 −−pod-network−cidr=10.244.0.0/16 −−token-ttl 0

    2. 根据初始化提示,在master55节点上执行如下命令

    mkdir -p $HOME/.kube

    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

    sudo chown $(id -u):$(id -g) $HOME/.kube/config

    3. 根据初始化提示,在slave56、slave57节点上分别执行如下命令

    kubeadm join 192.168.1.55:6443 −−token 991hr9.scqkkyphn1cjjcl7 −−discovery-token-ca�

    cert-hash

    sha256:1dcf2607e09f83160ce9bc99a941d9a6bd74e99b6b8d3adb63af800ffee19baf

    十二、Kubernetes命令自动补全(墙裂建议)

    十三、k8s查看所有节点

    master55节点查看所有节点,当前三台服务器的状态都是NotReady

    十四、k8s查看所有命名空间下所有pod

    发现coredns一直处在pending状态,需要安装k8s网络插件

    十五、k8s安装网络插件

    我们这里选取calico网络插件(提供企业级支持)

    1. 在master55节点上创建文件夹,用于存放下载的网络插件,我这里下载的是calico-3.13.1.yaml

    2. 安装calico-3.13.1.yaml

    十六、再次查看node和pod

    需要等待一会时间

    1. 查看nodes,发现状态已经为Ready

    2. 查看pods,发现状态都为Running

    十七、安装git

    十八、kube-promethues部署

    1. 下载安装源码,切换到上述创建的k8s目录下,进行git clone https://github.com/coreos/kube-prometheus.git拉取

    2. 安装文件都在kube-prometheus/manifests/ 目录下,切换到此目录

    3. 官方把所有文件都放在一起,这里我复制了然后分类下,切换到k8s目录下进行操作

    4. 将kube-prometheus/manifests/setup下的文件都复制到/prometheus/operator/下

    5. 将prometheus/operator/下0namespace-namespace.yaml文件移动到/k8s/prometheus/下

    6. 切换到prometheus/目录下,进行文件归置

    7. 注意:新版本的默认label变了,需要修改选择器为beta.kubernetes.io/os,不然安装的时候会卡住,修改选择器

    8. 注意:镜像使用dockerhub上的

    9. 生成namespace

    10. 安装operater

    11. 依次安装其他组件

    12. 查看整体状态

    13. k8s查看所有svc

    14. k8s暴露grafana外网访问端口

    修改type: ClusterIP为 type: NodePort ,默认外网端口NodePort对应的是31533,找到如下代码

    15. 最终效果图(部分效果图)

    十九、 安装kubernetes-dashboard

    下载dashboard所需资源

    git clone https://github.com/xincan/kubernetes.git

    二十、 Token令牌登录

    二十、 KubeConfig登录

    相关文章

      网友评论

        本文标题:Kubernetes基于Centos7构建基础环境(三)

        本文链接:https://www.haomeiwen.com/subject/isgnrltx.html