云原生:k8s集群部署

一、k8s概述

K8s 即 Kubernetes,是谷歌开源的容器编排平台,如果说 Docker 负责把应用打包成容器,那 K8s 就用来批量管理大量容器,解决多机器多容器下手动运维繁琐、故障处理困难的问题。它可以自动将容器调度到集群合适服务器,实现故障自愈,容器异常或服务器宕机时自动重启、迁移业务,支持根据流量自动弹性扩缩容,还能做到业务无间断滚动更新与故障回滚,自带服务发现和负载均衡,同时可以统一管理存储保证容器重建后数据不丢失,多用于微服务、需要 7×24 小时稳定运行、流量波动大的集群业务。

二、部署kubernetes所需主机

三、开始部署

1.构建harbor镜像仓库

部署docker本地仓库

写入阿里云docker官方repo源,安装httpd,createrepo工具

创建仓库目录,修改 httpd 监听端口为 4444开机自启 httpd 服务

只下载 docker‑ce 安装包,不安装,包保存到 /mnt 目录

移动 rpm 包到 http 网页目录,生成 yum 仓库元数据:把所有 rpm 包移到网页访问目录;createrepo生成 repodata 仓库索引元数据,yum 才能识别这个文件夹为软件仓库。

修改本机 repo,指向本地内网 http 仓库从本地仓库安装 docker-ce

安装docker在harbor仓库节点

配置 br_netfilter 网桥过滤内核模块,写入 sysctl 内核网络参数 /etc/sysctl.d/docker.conf

重启模块加载服务,sysctl --system全局生效所有 sysctl 配置

修改 docker.service systemd 启动参数,重载 systemd 配置,启动并开机自启 docker

生产key

参数说明:

  • -newkey rsa:4096:生成 4096 位 RSA 私钥
  • -nodes:私钥不加密,不需要密码,方便 Harbor 容器直接读取
  • -sha256:使用 sha256 哈希算法
  • -keyout:输出私钥文件timinglee.org.key
  • -addext "subjectAltName = DNS:reg.timinglee.org"SAN 主题备用域名,浏览器 /docker 客户端校验证书域名必须,缺少会报证书域名不匹配
  • -x509:直接生成自签名证书
  • -days 365:证书有效期 365 天
  • -out:输出证书timinglee.org.crt

重点:Common Name和 SAN 的 DNS 域名必须等于 harbor 访问域名reg.timinglee.org,否则 docker 拉取镜像会证书报错。

编辑harbor配置文件

将 harbor 离线包解压到/opt目录,进入 harbor 工作目录,复制模板生成正式配置文件

修改核心配置项

执行安装脚本,附带 chartmuseum(helm 图表仓库组件)

编写 systemd 服务文件/lib/systemd/system/harbor.service

开机自启动harbor服务并且测试

启动并且验证

创建 docker 证书目录,导入自签名证书,修改/etc/hosts做本地域名解析

docker 登录 harbor 仓库

2、利用Ansible部署kubernetes运行环境

在所有主机上配置关闭swap

所有主机彼此建立解析

安装ansible

配置所需用户

生成ansible的临时配置文件并建立运行环境

建立用户

生成ansible的主配置文件并测试

利用ansible剧本部署docker

利用ansible安装cri-dockerd

将playbook后方修改为这样

利用ansible部署k8s软件

在master控制节点生效补全功能

服务已开启

3.在master中初始化kubernetes集群

下载镜像

拉取镜像完成

上传镜像到本地harbor

在master中完成集群初始化

添加kubernets环境变量到本机

添加node节点到本集群

在master控制主机可以检查加入node

可以看到集群中主机但是因为网络插件问题状态是NotReady

安装网络插件

上传镜像到harbor仓库

修改 vim kube-flannel.yml playbook内容将三个镜像目录路径前面的ghcr.io删掉

kubernetes集群部署完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值