k8s二进制部署 - 总结
镜像仓库:
安装软件: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二进制部署 - 总结的更多相关文章
- k8s二进制部署
k8s二进制部署 1.环境准备 主机名 ip地址 角色 k8s-master01 10.0.0.10 master k8s-master02 10.0.0.11 master k8s-node01 1 ...
- K8s二进制部署单节点 master组件 node组件 ——头悬梁
K8s二进制部署单节点 master组件 node组件 --头悬梁 1.master组件部署 2.node 组件部署 k8s集群搭建: etcd集群 flannel网络插件 搭建maste ...
- K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股
K8s 二进制部署单节点 master --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...
- k8s 二进制部署详解
环境说明: 192.168.1.101 -- master01 + etcd01 192.168.1.102 -- etcd02 192.168.1.103 -- etcd03 192.168.1.1 ...
- k8s二进制部署 - dashboard安装
配置资源清单rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: labels: k8s-app: kubernetes-dashboard ...
- k8s二进制部署 - traefik安装
配置traefik资源清单rbac.yaml 配置traefik资源清单 rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: name: t ...
- k8s二进制部署 - coredns安装
coredns的资源清单文件rabc.yaml apiVersion: v1 kind: ServiceAccount metadata: name: coredns namespace: kube- ...
- k8s二进制部署 - node节点安装
创建kubelet配置 • set-cluster # 创建需要连接的集群信息,可以创建多个k8s集群信息 [root@hdss7-21 ~]# kubectl config set-cluster ...
- k8s二进制部署 - master节点安装
下载kubernetes服务端 [root@hdss7-21 ~]# cd /opt/src [root@hdss7-21 src]# wget https://dl.k8s.io/v1.15.2/k ...
随机推荐
- ctfhub技能树—密码口令—弱口令
什么是弱口令? "弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令. 弱口令指的是仅包含简单数字和 ...
- MySQL全面瓦解18:自定义函数
定义 我们之前学习了MySQL的内置函数,非常丰富,满足了我们对数据操作的大部分需求. 但是如果有一些复杂的业务逻辑在数据库层面就可以完成,无需在程序层面完成的时候,这时候就可以写成MySQL自定义函 ...
- kubernetes之为每个命名空间的pod设置默认的requests以及limits
一 为啥需要为命名空间里面添加pod添加默认的requests和limits? 通过前面的学习我们已经知道,如果节点上面的pod没有设置requests和limits,这些容器就会受那些设置了的控制 ...
- kafka(三)原理剖析
一.生产者消息分区机制原理剖析 在使用Kafka 生产和消费消息的时候,肯定是希望能够将数据均匀地分配到所有服务器上.比如很多公司使用 Kafka 收集应用服务器的日志数据,这种数据都是很多的,特别是 ...
- vue href url地址写法
- CentOS 7 下安装 mysql ,以及用到的命令
VMware虚拟机装好后,再装个CentOS7系统,以上环境自行百度... 一.Linux下查看mysql是否安装 1.指令ps -ef|grep mysql [root@localhost 桌面]# ...
- pandas高级操作
pandas高级操作 import numpy as np import pandas as pd from pandas import DataFrame,Series 替换操作 替换操作可以同步作 ...
- Linux下编译安装源码包软件 configure ,make, make install, make test/check, make clean 假目标
http://www.360doc7.net/wxarticlenew/541275971.html 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 ...
- 页面渲染html的过程
浏览器渲染页面的一般过程: 1.浏览器解析html源码,然后创建一个 DOM树.并行请求 css/image/js在DOM树中,每一个HTML标签都有一个对应的节点,并且每一个文本也都会有一个对应的文 ...
- 「一本通 1.3 例 4」Addition Chains
Addition Chains 题面 对于一个数列 \(a_1,a_2 \dots a_{m-1},a_m\) 且 \(a_1<a_2 \dots a_{m-1}<a_m\). 数列中的一 ...