k8s上篇

1,初识k8s

在这里插入图片描述

在这里插入图片描述

k8s功能
在这里插入图片描述

###k8s集群分为两个节点
master load 主节点
work load 工作节点
在这里插入图片描述

schaduler通过k8s数据库edct来读取数据,发送给controller manager的

整个工作流程是:
1,用户通过kubectl发送指令到主节点的apiserver
这时候apiserver会通过edct对kubectl做一个身份认证。帐号密码等。
在这里插入图片描述

2,权限认证通过以后apiserver会找到schaduler。叫他找一个节点,启动服务。
在这里插入图片描述
这时候schaduler不知道使用哪个节点。schaduler会通知apiserver去etcd里面找到这个节点。找到以后返回给scheduler。scheduler又把这信息返回给apiserver。apiserver返回节点id给controller manager

3,controller manager需要通过apiserver与工作节点的kubelet建立通信
4,kubelet找到对应节点的docker,启动容器

在这里插入图片描述
5,这时候容器需要网络,kube-proxy可以做一个代理和ip地址给docker的pod。这样外部可以访问容器了

2,k8s核心

在这里插入图片描述

在这里插入图片描述
controller:启动,删除pod的
在这里插入图片描述

客户端访问工作节点先访问service。因为pod向service注册了地址信息

在这里插入图片描述

label:管理标签

在这里插入图片描述
在这里插入图片描述

namespace:命名空间

在这里插入图片描述

3,构建k8s集群前。服务初始化

一共10大步

生产环境下搭建k8s

采用离线部署方式。

在这里插入图片描述
在这里插入图片描述

生产环境下部署多master集群
在这里插入图片描述
因为master节点不允许宕机。work节点可以宕机。宕机后可以将自己的容器迁移到另外的work节点上。迁移的过程必须依赖master节点

而且work节点与master节点进行通讯依赖 load balancer(2个)作负载均衡。。edct储存master节点的帐号密码。存储worker节点的地址。所以也必须三台edct(一主多从)或者多台。必须奇数。能选举出主节点,且不允许宕机。

6台虚拟机

在这里插入图片描述

在这里插入图片描述

自己测试实验环境,2核2g内存

虚拟机8g才够用。。。。压力散打

三种部署方式

第一种方式连测试环境都玩不了。
所以推荐第二第三种

第二种,简单。
第三种,复杂利于学习
在这里插入图片描述

单节点。。。。master搭建准备,利用单master升级为多master

在这里插入图片描述

                                 安装部分

1,准备三个虚拟机

2,进行服务器的初始化工作

在这里插入图片描述

3,#3个节点服务器同时进行初始化操作。怎么搞

点击查看-撰写-撰写栏打开
点击撰写栏–发送到全部会话

(1)关闭防火墙

在这里插入图片描述

(2)关闭交换分区
在这里插入图片描述
临时关闭

三个窗口都打开编辑

在这里插入图片描述

每一个服务器都删掉swap那行

在这里插入图片描述
在这里插入图片描述

(3)配置主机名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)配置名称解析
修改k8s master1
在这里插入图片描述

其余两个一样
粘贴过来

在这里插入图片描述

(5)关闭selinux

在这里插入图片描述
这种是已经关闭掉了

这是临时关闭
永久关闭
在这里插入图片描述

黑色那行改成disabled
在这里插入图片描述

(6)配置时间同步
1,配置服务端
在这里插入图片描述

执行这两个命令
在这里插入图片描述

那个iburst是上游服务器的意思
在这里插入图片描述
把这四个删了加这句
在这里插入图片描述

然后allow下面修改
在这里插入图片描述

在这里插入图片描述

允许31网段的所有访问

然后

在这里插入图片描述
将这个注释打开

启动服务端+自动启动服务端
在这里插入图片描述

检查服务端是否启动

在这里插入图片描述

如果不显示就restart服务一次

2,配置客户端node1,node2

在这里插入图片描述

在这里插入图片描述

其余的跟服务端一样。server那里修改指向为服务端

测试客户端有无启动
在这里插入图片描述
上尖括号加* 号代表时间同步配置成功

上尖括号加?号代表不成功。

或者

在这里插入图片描述

4,构建k8s

在这里插入图片描述

对称加密:加密解密用的相同密钥
非对称加密:公钥加密私钥解密
单向加密:只能加密不能解密
在这里插入图片描述
我们用第二个

在这里插入图片描述
在这里插入图片描述

我们用第二个

###减少服务器资源。测试环境下
使用主节点master安装一个edct
其余两个node也分别安装一个edct。

在这里插入图片描述

###需要准备这几个tar包

在这里插入图片描述
在这里插入图片描述

1,

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

启动cfssl.sh
在这里插入图片描述
在这里插入图片描述

配置server-csr.json

在这里插入图片描述
在这里插入图片描述

因为证书是颁发给edct的。edct又安装在这几个服务器下的。所以ip改成这几个服务器的

自建证书
在这里插入图片描述
在这里插入图片描述

ca.pem:公钥
ca.ley.pem:私钥

颁发证书
如下图

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes server-csr.json | cfssljson -bare server

在这里插入图片描述

这时候应该有4个证书

到此颁发证书完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值