k8s-部署

1.k8s 集群与部署

更改所有主机名字和解析

k8s-部署_第1张图片

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文件中的定义

=======================

集群环境初始化

k8s-部署_第2张图片

k8s-部署_第3张图片

生产环境要求 把所有镜像保存在本地 不要让集群从外部走

以上仓库已经配好

k8s2 之前已经设置好了  k8s3 和4 上面什么也没有

首先做一个免密

k8s-部署_第4张图片

k8s-部署_第5张图片

k8s-部署_第6张图片

k8s-部署_第7张图片k8s-部署_第8张图片k8s-部署_第9张图片

在k8s4 上进行同样的操作

k8s-部署_第10张图片

以上 就是基础环境已经配置好了

=================================

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分区 并注释掉 防止开机启动

k8s-部署_第11张图片

从生产环境讲: kublet ->contained->runc 

不用装docke

结合k8s 的时候 docker 需要做修改

k8s-部署_第12张图片

k8s-部署_第13张图片

k8s-部署_第14张图片

所有节点都是同样的操作

k8s-部署_第15张图片k8s-部署_第16张图片

所有节点安装kubeadm

k8s-部署_第17张图片

k8s-部署_第18张图片

其他节点以此类推

==========================

拉取集群所需的镜像

k8s-部署_第19张图片

新建一个名字为k8s的仓库 里面专门存放k8s镜像

k8s-部署_第20张图片

如何把镜像传送上去呢

登录仓库

k8s-部署_第21张图片

上传镜像

k8s-部署_第22张图片k8s-部署_第23张图片

==========================

集群初始化

k8s-部署_第24张图片k8s-部署_第25张图片

注意: 没有设置环境变量 会有以下报错

所以得 写入环境变量 确保重启后依然生效

k8s-部署_第26张图片

k8s-部署_第27张图片

如果是普通用户

k8s-部署_第28张图片

k8s-部署_第29张图片

安装flannel网络插件

k8s-部署_第30张图片

修改镜像位置

k8s-部署_第31张图片k8s-部署_第32张图片k8s-部署_第33张图片

在k8s1 上 下载项目

k8s-部署_第34张图片

创建一个flannel 项目

k8s-部署_第35张图片

上传镜像到 flannel

k8s-部署_第36张图片

确保镜像上传成功

k8s-部署_第37张图片

在k8s 2 上 修改镜像位置

k8s-部署_第38张图片

k8s-部署_第39张图片

k8s-部署_第40张图片

k8s-部署_第41张图片

以上 flannel 网络插件已部署完毕

扩容节点

k8s-部署_第42张图片

k8s-部署_第43张图片k8s-部署_第44张图片

你可能感兴趣的:(kubernetes,java,linux)