k8s-部署
API Server 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;Kubelet 负责维护容器的生命周期,同时也负责 Volume(CVI)和网络(CNI)的管理;Controller Manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;Scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;所有节点禁用swap
1.k8s 集群与部署
更改所有主机名字和解析
k8s1 192.168.25.11 reg.westos.org,habbor 仓库
k8s2 192.168.25.12 master,k8s 集群控制节点
k8s3 192.168.25.13 node,k8s 集群工作节点
k8s4 192.168.25.14 node,k8s 集群工作节点
所有节点禁用selinux和防火墙
所有节点同步时间和解析
所有节点安装docker-ce
所有节点禁用swap,注意注释掉/etc/fstab文件中的定义
=======================
集群环境初始化
生产环境要求 把所有镜像保存在本地 不要让集群从外部走
以上仓库已经配好
k8s2 之前已经设置好了 k8s3 和4 上面什么也没有
首先做一个免密
在k8s4 上进行同样的操作
以上 就是基础环境已经配置好了
=================================
k8s 通过api的方式调用 所有节点安装kubeadm
k8s 只有一个etcd 有状态 其余都是无状态,其他所有组件都要通过api server 来连接etcd
etcd 保存了整个集群的状态;
API Server 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;
Controller Manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
Scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;
Kubelet 负责维护容器的生命周期,同时也负责 Volume(CVI)和网络(CNI)的管理;
Container Runtime 负责镜像管理以及 Pod 和容器的真正运行(CRI);
Kube-proxy 负责为 Service 提供 cluster 内部的服务发现和负载均衡;
=====================================
所有的节点 禁用swap分区 并注释掉 防止开机启动
从生产环境讲: kublet ->contained->runc
不用装docke
结合k8s 的时候 docker 需要做修改
所有节点都是同样的操作
所有节点安装kubeadm
其他节点以此类推
==========================
拉取集群所需的镜像
新建一个名字为k8s的仓库 里面专门存放k8s镜像
如何把镜像传送上去呢
登录仓库
上传镜像
==========================
集群初始化
注意: 没有设置环境变量 会有以下报错
所以得 写入环境变量 确保重启后依然生效
如果是普通用户
安装flannel网络插件
修改镜像位置
在k8s1 上 下载项目
创建一个flannel 项目
上传镜像到 flannel
确保镜像上传成功
在k8s 2 上 修改镜像位置
以上 flannel 网络插件已部署完毕
扩容节点
更多推荐
所有评论(0)