镜像仓库:

安装软件:docker、docker-compose、harbor、nginx

1.下载cfssl、cfssljson、cfssl-certinfo,增加执行权限并放在PATH环境变量路径
2.编辑ca-csr.json文件,初始化ca以生成ca证书和ca证书私钥
3.编辑ca-conf.json文件,用于为其他组件生产证书做准备
4.编辑/etc/docker/daemon.json文件,指定insecure-registries、bip等参数
5.编辑harbor.yml文件,指定hostname、port、data_volume、location配置
6.执行install.sh安装harbor
7.编辑/etc/nginx/conf.d/harbor.conf,配置虚拟主机反向代理harbor
8.拉取nginx镜像推送到harbor私有仓库
9.拉取pause镜像推送到harbor私有仓库
10.拉取coredns镜像推送到harbor私有仓库
11.拉取traefik镜像推送到harbor私有仓库
12.拉取kubernetes-dashboard-amd64镜像推送到harbor私有仓库

主控节点:

安装软件:supervisord、etcd、kube-apiserver、kube-controller-manager、kube-scheduler
创建目录:logs、certs、config

etcd安装
1.编辑etcd-peer-csr.json文件(peer类型 用于etcd集群内部通信)
2.生成etcd-peer证书
3.分发etcd-peer证书到etcd节点
4.创建etcd启动脚本指定集群参数和证书位置(ca.pem、etcd-peer.pem、etcd-peer-key.pem)
5.创建etcd用户
6.修改etcd相关目录的所有者和所属组为etcd
7.编辑/etc/supervisord.d/etcd-server.ini
8.服务托管supervisord启动etcd

apiserver安装
1.编辑client-csr.json文件(client类型 用于apiserver作为客户端与etcd通信)
2.生成client证书
3.编辑apiserver-csr.json(server类型 用于apiserver作为服务端和其它k8s组件通信 务必将vip添加到host列表)
4.生成apiserver证书
5.分发client证书和apiserver证书到master节点
6.编辑audit.yaml审计配置文件
7.创建apiserver启动脚本指定audit.yaml文件和集群参数及证书位置(ca.pem、ca-key.pem、client.pem、client-key.pem、apiserver.pem、apiserver-key.pem)
8.编辑/etc/supervisord.d/kube-apiserver.ini
9.服务托管supervisord启动apiserver
10.配置负载均衡节点nginx主机四层反向代理到主控节点的6443端口
11.配置负载均衡节点nginx主机keepalived服务(对外暴露统一的apiserver入口)

controller-manager安装
1.创建controller-manager启动脚本指定集群参数和http协议的本地回环8080端口和证书位置(ca.pem、ca-key.pem)
2.编辑/etc/supervisord.d/kube-controller-manager.ini
3.服务托管supervisord启动controller-manager

kube-scheduler安装
1.创建kube-scheduler启动脚本指定集群参数和http协议的本地回环8080端口
2.编辑/etc/supervisord.d/kube-scheduler.ini
3.服务托管supervisord启动kube-scheduler

运算节点:

安装软件:supervisord、docker、kubulet、kube-proxy、flannel
创建目录:logs、certs、config

kubelet安装
1.编辑kubelet-csr.json文件(server类型 用于kubelet作为服务端与和apiserver通信)
2.生成kubelet证书
3.分发kubelet证书到node节点
4.使用kubectl工具创建用户账户k8s-node的kubelet.kubeconfig配置文件(涉及证书ca.pem、client.pem、client-key.pem)
5.分发kubelet.kubeconfig到node节点
6.主控节点编辑k8s-node.yaml授权k8s-node用户绑定集群角色system:node
7.主控节点应用k8s-node.yaml创建clusterrolebinding
8.创建kubelet启动脚本指定kubeconfig文件和集群参数及证书位置(ca.pem、kubelet.pem、kubelet-key.pem)
9.编辑/etc/supervisord.d/kubelet.ini
10.服务托管supervisord启动kubelet

kube-proxy安装
1.编辑kube-proxy-client-csr.json文件(client类型 用户账户kube-proxy作为客户端与apiserver通信 CN指定为system:kube-proxy)
2.生成kube-proxy-client证书
3.分发kube-proxy-client证书到node节点
4.使用kubectl工具创建用户账户kube-proxy的kube-proxy.kubeconfig配置文件(涉及证书ca.pem、kube-proxy-client.pem、kube-proxy-client-key.pem)
5.分发kube-proxy.kubeconfig到node节点
6.加载ipvs模块
7.创建kube-proxy启动脚本指定集群参数和kubeconfig文件
8.编辑/etc/supervisord.d/kube-proxy.ini
9.服务托管supervisord启动kube-proxy

flannel安装
1.分发client证书到node节点(client类型 用于flannel和etcd通信)
2.编辑subnet.env文件指定子网信息
3.etcd节点使用设置/coreos.com/network/config指定flannel模型
4.创建flannel启动脚本指定集群参数和env文件和证书位置(ca.pem、client.pem、client-key.pem)
5.编辑/etc/supervisord.d/flannel.ini
6.服务托管supervisord启动flannel

coredns安装
1.配置coredns资源配置清单(rabc.yaml、configmap.yaml、deployment.yaml、service.yaml)
2.应用coredns资源配置清单

traefik安装
1.配置traefik资源配置清单(rabc.yaml、daemonset.yaml、service.yaml、ingress.yaml)
2.应用traefik资源配置清单
3.配置负载均衡节点nginx主机七层反向代理到node节点的81端口

dashboard安装
1.配置dashboard资源配置清单(rabc.yaml、deployment.yaml、service.yaml、ingress.yaml)
2.应用dashboard资源配置清单
3.验证集群并优化iptables规则

参考链接:https://www.yuque.com/duduniao/k8s/

k8s二进制部署 - 总结的更多相关文章

  1. k8s二进制部署

    k8s二进制部署 1.环境准备 主机名 ip地址 角色 k8s-master01 10.0.0.10 master k8s-master02 10.0.0.11 master k8s-node01 1 ...

  2. K8s二进制部署单节点 master组件 node组件 ——头悬梁

    K8s二进制部署单节点   master组件 node组件   --头悬梁 1.master组件部署 2.node   组件部署 k8s集群搭建: etcd集群 flannel网络插件 搭建maste ...

  3. K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股

    K8s 二进制部署单节点 master    --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...

  4. k8s 二进制部署详解

    环境说明: 192.168.1.101 -- master01 + etcd01 192.168.1.102 -- etcd02 192.168.1.103 -- etcd03 192.168.1.1 ...

  5. k8s二进制部署 - dashboard安装

    配置资源清单rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: labels: k8s-app: kubernetes-dashboard ...

  6. k8s二进制部署 - traefik安装

    配置traefik资源清单rbac.yaml 配置traefik资源清单 rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: name: t ...

  7. k8s二进制部署 - coredns安装

    coredns的资源清单文件rabc.yaml apiVersion: v1 kind: ServiceAccount metadata: name: coredns namespace: kube- ...

  8. k8s二进制部署 - node节点安装

    创建kubelet配置 • set-cluster # 创建需要连接的集群信息,可以创建多个k8s集群信息 [root@hdss7-21 ~]# kubectl config set-cluster ...

  9. k8s二进制部署 - master节点安装

    下载kubernetes服务端 [root@hdss7-21 ~]# cd /opt/src [root@hdss7-21 src]# wget https://dl.k8s.io/v1.15.2/k ...

随机推荐

  1. 【Linux】 多个会话同时执行命令后history记录不全的解决方案

    基本认识 linux默认配置是当打开一个shell终端后,执行的所有命令均不会写入到~/.bash_history文件中,只有当前用户退出后才会写入,这期间发生的所有命令其它终端是感知不到的. 问题场 ...

  2. LeetCode617. 合并二叉树

    题目 1 class Solution { 2 public: 3 TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { 4 if(!t1 && ...

  3. 聊聊 React

    都说 React 开发效率高,但效率高在哪呢?来细看看. 用 d3 写一个 List: const renderList = data => { d3.select("ul" ...

  4. 在recover database时,如何决定该从哪一个SCN开始恢复

    使用备份恢复的方法搭建DG库,还原数据文件后,打开数据库时报错 SQL> ALTER DATABASE OPEN READ ONLY; ALTER DATABASE OPEN READ ONLY ...

  5. vue路由切换和用location切换url的区别

    最近的业务涉及到了axios的拦截器,要在request.js里面要根据状态码来跳转页面,这时候我就面对了几种跳转选择: 1.使用location.href='/url'来跳转,简单方便,但是刷新了页 ...

  6. 转 Fiddler1 简单使用

    Fiddler1 简单使用   文章转自:https://www.cnblogs.com/zhengna/p/9008014.html   1.Fiddler下载地址:https://www.tele ...

  7. SpringCloud zuul 网关限流分析

    最近项目中 spring cloud zuul 运用到限流功能,打算配置一下就直接使用,不过在压测与调优过程中遇到一些没有预测到的问题,附上排查与解析结果 yml.pom配置 强烈推荐,按最新gith ...

  8. javascript通过递归改子节点数据-用于层级深度未知的树形结构

    最近在做这么个需求:树形结构,层级深度未知,一旦某个节点的状态是置灰的话,其所有子节点都要置灰. 方案一(数据库有值):如果数据库里置灰节点的所有子节点,值也都是"置灰",那后台取 ...

  9. 前端面试之JavaScript中的闭包!

    前端面试之JavaScript中的闭包! 闭包 闭包( closure )指有权访问另一个函数作用域中变量的函数. ----- JavaScript 高级程序设计 闭包其实可以理解为是一个函数 简单理 ...

  10. 使用Gulp里面的浏览器同步插件browser-sync的注意事项

    使用Gulp里面的浏览器同步插件browser-sync的注意事项 第一步:打开你的开发者工具, 编写前端代码!图如下! 第二步:打开你当前工作目录的命令行窗口 第三步:输入浏览器同步执行的代码! b ...