IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Kubernetes集群部署 -> 正文阅读

[系统运维]Kubernetes集群部署

一.k8s简介

1、什么是K8s

k8s是一个docker集群的管理工具

k8s是容器的编排工具

Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg),目前已经成为容器编排一个标准。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩、高可用等一系列完整功能,提高了大规模容器集群管理的便捷性

 Kubernetes优势:
    容器编排
    轻量级
    开源
    弹性伸缩
    负载均衡

2、K8s 设计架构

Kubernetes借鉴了Borg的设计理念,比如Pod、Service、Labels和单Pod单IP等。Kubernetes的整体架构跟Borg非常像,如下图所示:

请添加图片描述

3、 k8s重要节点描述

master节点

Master 是 Cluster 的大脑,它的主要职责是调度,即决定将应用放在哪里运行。Master 运行 Linux 操作系统,可以是物理机或者虚拟机。为了实现高可用,可以运行多个 Master。

node节点

Node 的职责是运行容器应用。Node 由 Master 管理,Node 负责监控并汇报容器的状态,并根据 Master 的要求管理容器的生命周期。Node 运行在 Linux 操作系统,可以是物理机或者是虚拟机。

4、 过程原理:

用户通过kubectl提交需要运行的docker container(pod);
master节点的api server把请求存储在etcd数据库中;
scheduler调度器进行扫描 ,将合适的node节点机器分配出去;
node节点的kublet找到自己要跑的container,在本机上运行

5、 k8s的核心功能

自愈:

重新启动失败的容器,在节点不可用时,替换和重新调度节点上的容器,对用户定义的健康检查不响应的容器会被中止,并且在容器准备好服务之前不会把其向客户端广播。

弹性伸缩:

通过监控容器的cpu的负载值,如果这个平均高于80%,增加容器的数量,如果这个平均低于10%,减少容器的数量

服务的自动发现和负载均衡:

不需要修改您的应用程序来使用不熟悉的服务发现机制,Kubernetes 为容器提供了自己的 IP 地址和一组容器的单个DNS 名称,并可以在它们之间进行负载均衡。

滚动升级和一键回滚:

Kubernetes 逐渐部署对应用程序或其配置的更改,同时监视应用程序运行状况,以确保它不会同时终止所有实例。 如果出现问题,Kubernetes会为您恢复更改,利用日益增长的部署解决方案的生态系统。

私密配置文件管理:

web容器里面,数据库的账户密码(测试库密码)

6. k8s的优缺点

k8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

故障迁移:当某一个node节点关机或挂掉后,node节点上的服务会自动转移到另一个node节点上,这个过程所有服务不中断。这是docker或普通云主机是不能做到的

资源调度:当node节点上的cpu、内存不够用的时候,可以扩充node节点,新建的pod就会被kube-schedule调度到新扩充的node节点上

资源隔离:创建开发、运维、测试三个命名空间,切换上下文后,开发人员就只能看到开发命名空间的所有pod,看不到运维命名空间的pod,这样就不会造成影响,互不干扰

因为采用docker容器,进程之间互不影响,

安全:不同角色有不同的权限,查看pod、删除pod等操作;RBAC认证增加了k8s的安全

快速精准地部署应用程序

限制硬件用量仅为所需资源

Kubernetes 的优势

  可移动: 公有云、私有云、混合云、多态云
  可扩展: 模块化、插件化、可挂载、可组合
  自修复: 自动部署、自动重启、自动复制、自动伸缩

负载均衡

k8s可以更快的更新新版本,打包应用,更新的时候可以做到不用中断服务,服务器故障不用停机,从开发环境到测试环境到生产环境的迁移极其方便,一个配置文件搞定,一次生成image,到处运行

二.k8s的部署

1. 还原实验环境

清理2,3,4主机上的所有镜像和数据卷,以及其他的docker数据,还原实验环境!!!

请添加图片描述

请添加图片描述

请添加图片描述
请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述
重启服务!
systemctl daemon-reload
systemctl restart docker

清除server1的以下文件
请添加图片描述

2. 部署软件仓库,安装k8s

先关闭swap分区
请添加图片描述

vim /etc/fstab
请添加图片描述
更改驱动文件
请添加图片描述

请添加图片描述
请添加图片描述
将更改ia好的文件传给server3,4
请添加图片描述
请添加图片描述
配置yum 源:
请添加图片描述
请添加图片描述
在真机上执行以下指令,让虚拟机可以连网
请添加图片描述
在server2上安装k8s
请添加图片描述

请添加图片描述
请添加图片描述

开启k8s
请添加图片描述
将server2上配置好的yum源传给server3,4
请添加图片描述
在3,4上也安装

请添加图片描述
请添加图片描述

3. 部署k8s

查看默认配置信息

请添加图片描述管理端拉取镜像,并指定阿里云的网址

kubeadm config images list --image-repository registry.aliyuncs.com/google_containers
    					列出所需镜像
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers
    					拉取镜像

请添加图片描述
请添加图片描述
在server1上向仓库上传镜像
请添加图片描述
请添加图片描述
请添加图片描述
在server2上:
用shell命令更改标签并push!!

请添加图片描述
请添加图片描述

请添加图片描述请添加图片描述

5. 初始化集群

请添加图片描述
请添加图片描述

请添加图片描述

执行初始化指令!!

请添加图片描述此处还会产生一个join指令!!!后续需要用来加入k8s集群

请添加图片描述

请添加图片描述
将k8s的指定配置文件写进环境变量
请添加图片描述
请添加图片描述

将kubectl指令来完成后续动作

所以需要在~/.bashrc中将kubectl补齐的指令写进去
请添加图片描述
请添加图片描述
退出重新连接server2
请添加图片描述
查看k8s集群的状态

此时可以发现server2是notready
因为缺失了flannel网络组件
请添加图片描述
请添加图片描述

三.安装flannel网络组件

1.获取flannel最新版本

因为在做实验的时候,有可能flannel已经更新了,所以根据自己的版本去做,版本号写对即可!!

网址:https://github.com/coreos/flannel

我们在server1拉取flannel并上传到私有仓库!
请添加图片描述
请添加图片描述
请添加图片描述

2.下载yml文件

请添加图片描述

请添加图片描述

kube-flannel.yml文件只需要改一下镜像的版本
请添加图片描述

请添加图片描述

k8s执行文件
请添加图片描述
请添加图片描述
再次查看server2的状态
请添加图片描述
在sevrer3,4上查看Cgroup的控制:
请添加图片描述
是systemd就可以执行前面的jion指令加入集群
请添加图片描述
请添加图片描述
在server2上再次查看!!
请添加图片描述请添加图片描述

查看同步过来的镜像!!
请添加图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-27 16:38:53  更:2021-07-27 16:39:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 11:47:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计