一 部署 kubelet kubelet 运行在每个 worker 节点上,接收 kube-apiserver 发送的请求,管理 Pod 容器,执行交互式命令,如 exec.run.logs 等. kubelet 启动时自动向 kube-apiserver 注册节点信息,内置的 cadvisor 统计和监控节点的资源使用情况. 为确保安全,部署时关闭了 kubelet 的非安全 http 端口,对请求进行认证和授权,拒绝未授权的访问(如 apiserver.heapster 的请求). 1.1…
一 Nginx代理实现kube-apiserver高可用 1.1 Nginx实现高可用 基于 nginx 代理的 kube-apiserver 高可用方案. 控制节点的 kube-controller-manager.kube-scheduler 是多实例部署,所以只要有一个实例正常,就可以保证高可用: 集群内的 Pod 使用 K8S 服务域名 kubernetes 访问 kube-apiserver, kube-dns 会自动解析出多个 kube-apiserver 节点的 IP,所以也是高可…
一 部署 kube-proxy kube-proxy 运行在所有节点上,它监听 apiserver 中 service 和 endpoint 的变化情况,创建路由规则以提供服务 IP 和负载均衡功能. 1.1 安装kube-proxy 提示:k8smaster01节点已下载相应二进制,可直接分发至node节点. 1.2 分发kube-proxy [root@k8smaster01 ~]# cd /opt/k8s/work [root@k8smaster01 work]# source /opt/…
一 部署flannel 1.1 安装flannel kubernetes 要求集群内各节点(包括 master 节点)能通过 Pod 网段互联互通.flannel 使用 vxlan 技术为各节点创建一个可以互通的 Pod 网络,使用的端口为 UDP 8472. flanneld 第一次启动时,从 etcd 获取配置的 Pod 网段信息,为本节点分配一个未使用的地址段,然后创建 flannedl.1 网络接口(也可能是其它名称,如 flannel1 等). flannel 将分配给自己的 Pod…
0. 前言 最近受“新冠肺炎”疫情影响,在家等着,入职暂时延后,在家里办公和学习 尝试通过源码编译二进制的方式在单一节点(Master 与 Node 部署在同一个机器上)上部署一个 k8s 环境,整理相关步骤和脚本如下 参考原文:Kubernetes二进制部署(一)单节点部署 1. 相关概念 1.1 基本架构 1.2 核心组件 1.2.1 Master 1.2.1.1 kube-apiserver 集群的统一入口,各组件协调者 以RESTful API提供接口服务 所有对象资源的增删改查和监听操…
K8s二进制部署单节点   master组件 node组件   --头悬梁 1.master组件部署 2.node   组件部署 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.master组件部署: 创建工作目录生成证书准备k8s软件包生成bootstrap token 认证文件启动 apiserver启动controller-manager.scheduler验证master组件状态 1 ##### 在 master01 节点上操作 ###…
K8s 二进制部署单节点 master    --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络配置 etcd作为服务发现系统,有以下的特点: 简单 安装配置简单,而且提供了HTTP API进行交互,使用也很简单 安全: 支持SSL证书验证 快速: 单实例支持每秒2k+读操作 可靠: 采用raft算法实现分布式系统数据的可用性和一致性 etcd 默认使用2379 端口对外为客户端提供通讯,使用…
0. 前言 紧接上一篇,本篇文章我们尝试学习多节点部署 kubernetes 集群 并通过 haproxy+keepalived 实现 Master 节点的负载均衡 1. 实验环境 实验环境主要为 5 台虚拟机,IP 地址分别为:192.168.1.65.192.168.1.66.192.168.1.67.192.168.1.68.192.168.1.69 1.1 节点分配 LB 节点: lb1:192.168.1.65 lb2:192.168.1.66 Master 节点: master1:1…
目录 1.基础环境 2.部署DNS 3.准备自签证书 4.部署Docker环境 5.私有仓库Harbor部署 6.部署Master节点 6.1.部署Etcd集群 6.2.部署kube-apiserver集群 6.2.1.创建cliient证书 6.2.2.签发kube-apiserver证书 6.2.3.kube-apiserver配置 6.3.L4反向代理 6.3.1.部署Nginx 6.3.2.部署keepalived 6.4.部署controller-manager 6.5.部署kube-…
Master apiserver启用TLS认证后,Node节点kubelet组件想要加入集群,必须使用CA签发的有效证书才能与apiserver通信,当Node节点很多时,签署证书是一件很繁琐的事情,因此有了TLS Bootstrapping机制,kubelet会以一个低权限用户自动向apiserver申请证书,kubelet的证书由apiserver动态签署.认证大致工作流程如图所示: 准备二进制文件 scp kubelet kube-proxy 192.168.0.125:/opt/kube…