镜像仓库:

安装软件: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】Linux进程间通信的几种方式

    一.进程间通信的目的 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间 共享数据:多个进程要操作共享数据,一个进程对共享数据 信息传递:一个进程需要向另一个进程发 ...

  2. buuctf刷题之旅—web—WarmUp

    启动靶机 查看源码发现source.php 代码审计,发现hint.php文件 查看hint.php文件(http://7ab330c8-616e-4fc3-9caa-99d9dd66e191.nod ...

  3. Core3.1 微信v3 JSAPI支付

    1.前言 "小魏呀,这个微信支付还要多久?","快了快了老板,就等着最后一步了...","搞快点哈,就等着上线呢","...... ...

  4. LSTM+CRF进行序列标注

    为什么使用LSTM+CRF进行序列标注 直接使用LSTM进行序列标注时只考虑了输入序列的信息,即单词信息,没有考虑输出信息,即标签信息,这样无法对标签信息进行建模,所以在LSTM的基础上引入一个标签转 ...

  5. vs code配置vue自动格式化

     vs code配置vue自动格式化 我他妈的要被这个vs code的格式化逼疯了.我在网上看了很多的文章,不是太老就是不好使,遇到太多坑了.在这贴出自己的配置,虽然有多余的代码,虽然可能在未来的更新 ...

  6. MATLAB中load和imread的读取方式区别

    load是导入文件,一般从mat文件中,读取的是结构体imread是图像处理工具箱的库函数,处理图像比较方便,读取的是矩阵 1.之前将数组或者矩阵保存为一个mat格式的文件,在进行load命令读取时: ...

  7. 免费稳定图床最佳实践:PicGo+GitHub+jsDeliver 极简教程

    一.下载 PicGo PicGo 是啥?顾名思义,它是一个快速上传图片并获取 图片 URL 链接的工具. 目前支持七牛.腾讯云.阿里云和 GitHub 等图床.该工具代码已在 GitHub 开源,读者 ...

  8. centos7服务器远程安装图形化页面

    以下是我用云的centos 7.4的安装步骤,照着我的命令操作肯定OK的,其他的就不敢保证了... 1.首先安装X(X Window System),命令为:(注意有引号) yum groupinst ...

  9. 关掉IE提示“当前安全设置会使计算机有风险”

    我们先来看一下IE浏览器出现的提示窗口,该窗口位于最顶端,不点击设置的话,无法进行下一步的操作. 这时我们点击开始按钮 ,在弹出菜单中选择"运行"菜单项. 在打开的Windows运 ...

  10. Fastjson1.2.24反序列化漏洞复现

    Fastjson1.2.24 目录 1. 环境简介 1.1 物理环境 1.2 网络环境 1.3 工具 1.4 流程 2. Docker+vulhub+fastjson1.2.24 2.1 Docker ...