k8s
一、k8s简介k8s本质上就是一组服务器集群,k8s可以在集群的各个节点上运行特定的docker容器。k8s提供了容器编排、资源调度、弹性伸缩、部署管理、服务发现等一系列功能。k8s目标是让部署容器化应用简单高效。二、k8s功能自我修复弹性伸缩:根据服务器的并发情况增加或者缩减容器数量自动部署:yml文件回滚:可以很快速的恢复到上个版本服务发现和负载均衡机密和配置共享管理存储编排批处理三、k8s集
·
一、k8s简介
- k8s本质上就是一组服务器集群,k8s可以在集群的各个节点上运行特定的docker容器。
- k8s提供了容器编排、资源调度、弹性伸缩、部署管理、服务发现等一系列功能。
- k8s目标是让部署容器化应用简单高效。
二、k8s功能
- 自我修复
- 弹性伸缩:根据服务器的并发情况增加或者缩减容器数量
- 自动部署:yml文件
- 回滚:可以很快速的恢复到上个版本
- 服务发现和负载均衡
- 机密和配置共享管理
- 存储编排
- 批处理
三、k8s集群分为两类节点
master node(主节点)
组件(程序):
apiserver:接受客户端操作k8s 的执行
schduler:从多个worker node中选举一个来启动服务
control manager:向worker节点的kubletet发送指令
worker node(工作节点)
组件(程序):
kubelet:向docker发送指令管理docker容器
kubeproxy:管理docker容器的网络
etcd数据库
k8s的数据库
用来注册节点、服务、纪录账号、记录解析…
四、核心概念
pod
是k8s最小的部署单元(所以k8s不可以直接启动容器)
pod是一组容器的集合
一个pod中可以有一个或者多个容器
pod又称为容器组
pod是短暂的
Controllers(控制器)
启动、停止、删除
Deployment
Job
等等
service:服务
将一组pod关联起来,提供一个统一的入口,即使pod地址发生改变,这个统一入口也不会变化,可以保证用户访问不受影响
label:
一组pod有一个统一的标签
service是通过标签和一组pod进行关联的
名称空间(namespace)
用来隔离pod的运行环境(默认情况下,pod是可以互相访问的)
使用场景:
为不同的公司提供隔离的pod运行环境
为开发环境、测试环境、生产环境分别准备不同的名称空间,进行隔离
五、如何构建一个完整的k8s集群
结构类别
单master(自己测试)worker直接和master通信,etcd三台
多master(生产环境)
集群规划
master建议三台
etcd必须三台(3,5,7)奇数的目的为了投票选出来一个主节点
worker节点越多越好
k8s版本:比如1.16
安装方式:离线-二进制
操作系统版本:7.7
初始化服务器
1.关闭防火墙
所有节点都执行
systemctl stop failwalld
systemctl disable failwalld
2.关闭selinux
所有节点都要
# setenforce 0
# vim /etc/selinux/config
# 修改SELINUX=disabled
3.配置各个节点的主机名
所有主节点都要执行
修改主机名:hostnamectl set-hostname k8s-master(k8s-master1)
4.配置名称解析
为了保证主机之间可以通信,需要配置hosts文件(/etc/hosts)
ip2 k8s-master1
ip2 k8s-master2
5.配置时间同步
选择一个节点作为服务端,剩下的作为客户端
master为时间服务器的服务端,其他的为时间服务器的客户端
# 配置k8s-master1
yum install chrony -y
vim /etc/chrony.config
修改三项:
server 127.0.0.1 iburst
allow xxx.xxx.xxx.xxx (允许哪些网段访问)
local stratum 10
修改完成以后重启:systemctl restart chronyd enable也需要操作一下
# 配置k8s-node1 和k8s-node2
yum install chrony -y
vim /etc/chrony.config
修改一行(指定去哪里获取时间):server xxxx(服务端ip) iburst
启动服务:systemctl restart chronyd enable也需要操作一下
# 验证
chronyc sources
^* 100.100.61.88 1 5 377 15 -74us[ -73us]
星号表示时间同步,问号表示未同步(等一会试,不行说明配置改错了)
6.关闭交换分区
# 所有节点都要
vim /etc/fastab
删除最后一行(如果是uuid....就不用删了)
用free -m检查,出现如下就可以了
total used free shared buff/cache available
Mem: 1748 432 377 0 937 1163
Swap: 0 0 0
更多推荐
已为社区贡献1条内容
所有评论(0)