镜像仓库:

安装软件: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】使用cryptsetup加密磁盘 策略为LUKS

    LUKS(Linux Unified Key Setup)为Linux硬盘分区加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令.因为它的加密密钥独立于口令,所以如果口令失 ...

  2. Pandas的数据分组-aggregate聚合

    在对数据进行分组之后,可以对分组后的数据进行聚合处理统计. agg函数,agg的形参是一个函数会对分组后每列都应用这个函数. import pandas as pd import numpy as n ...

  3. Kubernetes 开船记-脚踏两只船:用 master 服务器镜像克隆出新集群

    自从2020年2月23日 园子全站登船 之后,我们一边感叹"不上船不知道,一上船吓一跳" -- kubernetes 比 docker swarm 强大太多,一边有一个杞人忧天的担 ...

  4. (数据科学学习手札104)Python+Dash快速web应用开发——回调交互篇(上)

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...

  5. bootstrap 后端模板

    Twitter Bootstrap 框架已经广为人知,用于加快网站,应用程序或主题的界面开发,并被公认为是迄今对于 Web 开发的最有实质性帮助的工具之一.在此之前的,各种各样的界面库伴随着高昂的维护 ...

  6. AOP面向切面编程(使用注解和使用配置文件)

    Aop(面向切面编程) 使用注解的方式: 加入相应的jar包: com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspe ...

  7. QTextEdit字符串的高亮显示问题

    20130222 鬼猫猫 整理 http://www.cnblogs.com/muyr/ 解决方法的原始地址 http://www.qtcn.org/bbs/read.php?tid=20335 背景 ...

  8. Linux系统中的Page cache和Buffer cache

    Linux系统中的Page cache和Buffer cache Linux中有两个很容易混淆的概念,pagecache和buffercache,首先简单将一些Linux系统下内存的分布,使用free ...

  9. Netty之JAVA BIO模型

    一.JAVA BIO模型 1.I/O模型 I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能 Java 共支持 3 种网络编程模型/IO 模式:BIO.NI ...

  10. Python学习【第6篇】:集合的定义和基本方法

    1.概念 (1)不同元素组成 例: s = {1,2,3,4,4,4,4,4,4}print(s)运行结果:{1, 2, 3, 4}因为是不同元素组成,因此去重了 (2)无序 例: s = {&quo ...