etcd

kubernetes集群安装指南:kube-apiserver组件部署

…衆ロ難τιáo~ 提交于 2020-04-06 10:39:04
在kubernetes组件中,master节点组件主要包括:kube-apiserver,kube-controller-manager,kube-scheduler等三个组件,每个组件功能职责分工不同,这里我们将三个组件部署在同一机器上,分别部署了三台机器。 1 安装准备 1.1 环境变量定义 #################### Variable parameter setting ###################### KUBE_NAME=kube-apiserver K8S_INSTALL_PATH=/data/apps/k8s/kubernetes K8S_BIN_PATH=${K8S_INSTALL_PATH}/sbin K8S_LOG_DIR=${K8S_INSTALL_PATH}/logs K8S_CONF_PATH=/etc/k8s/kubernetes CA_DIR=/etc/k8s/ssl SOFTWARE=/root/software VERSION=v1.14.2 PACKAGE="kubernetes-server-${VERSION}-linux-amd64.tar.gz" DOWNLOAD_URL=“”https://github.com/devops-apps/download/raw/master/kubernetes/$

1.二进制部署kubernetes

[亡魂溺海] 提交于 2020-04-06 09:39:32
目录 1.集群架构 2.基础环境准备 2.1.系统设置 2.1.1.设置主机名 2.1.2.关闭防火墙和selinux 2.1.3.设置网卡 2.1.4.设置yum源 2.1.5.安装常用工具 2.2.安装bind服务 2.2.1.安装bind 9 2.2.2.配置bind 9 2.2.3.检查配置并启动bind 9 2.2.4.检查 2.2.5.配置DNS客户端 2.2.6.检查 2.3.准备签发证书环境 2.3.1.安装cfssl 2.3.2.创建生成ca证书csr的json配置文件 2.3.3.生成ca证书文件 2.4.部署docker 2.4.1.安装 2.4.2.配置 2.4.3.启动 2.5.部署docker镜像私有仓库harbor 2.5.1.下载软件并解压 2.5.2.配置 2.5.3.安装docker-compose 2.5.4.安装harbor 2.5.5.检查harbor启动情况 2.5.6.配置harbor的dns内网解析 2.5.7.安装NGINX并配置 2.5.8.浏览器打开harbor.od.com并测试 2.5.9.检查 3.部署master节点 3.1.部署etcd集群 3.1.1.集群架构 3.1.2.创建基于根证书的config配置文件 3.1.3.创建生成自签发证书的csr的json配置文件 3.1.4.生成etcd证书文件 3.1.5

Kubernetes部署master服务

纵饮孤独 提交于 2020-04-05 23:54:34
一、初始化服务器 1 关闭防火墙 ​ 【所有主节点都执行】 ​ [root@k8s-master1 ~]# systemctl stop firewalld [root@k8s-master1 ~]# systemctl disable firewalld 2 关闭selinux ​ 【所有主节点都执行】 # setenforce 0 # vim /etc/selinux/config 修改SELINUX=enforcing 为 SELINUX=disabled 3 配置主机名 ​ 【所有主节点都执行】 ​ hostnamectl set-hostname 主机名 4 配置名称解析 ​ 【所有主节点都执行】 vim /etc/hosts ​ 添加如下四行 192.168.31.63 k8s-master1 192.168.31.64 k8s-master2 192.168.31.65 k8s-node1 192.168.31.66 k8s-node2 5 配置时间同步 ​ 选择一个节点作为服务端,剩下的作为客户端 ​ master1为时间服务器的服务端 ​ 其他的为时间服务器的客户端 ​ ​ 1)配置k8s-master1 # yum install chrony -y # vim /etc/chrony.config #修改三项 server 127.127.1.0 iburst

Kuerbernetes 1.11 二进制安装

别来无恙 提交于 2020-04-03 18:37:36
Kuerbernetes 1.11 二进制安装 标签(空格分隔): k8s 2019年06月13日 本文截选 https://k.i4t.com 更多文章请持续关注https://i4t.com 什么是Kubernetes? Kubernetes是一个完备的分布式系统支撑平台。Kubernetes具有完备的集群管理能力,包括多层次的安全防护和准入机制/多租户应用支撑能力、透明的服务注册和服务发现机制、内建智能负载均衡器、强大的故障发现和自我修复功能、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制,以及多粒度的资源配额管理能力。同时kubernetes提供了完善的管理工具,这些工具覆盖了包括开发、测试部署、运维监控在内的各个环节;因此kubernetes是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台 ###Kubernetes 基础服务简介 在这里我们只是简单的介绍一下Kubernetes基础组件,后面文章会有详细介绍! </br> </br> </br> ####Kubernetes Service 介绍 Service(服务)是分布式集群架构的核心,一个Server 对象拥有如下关键特征 (1) 拥有一个唯一指定的名字(比如mysql-server) (2) 拥有一个虚拟IP (Cluster IP、Service

Kubenetes 1.13.5 集群源码安装

删除回忆录丶 提交于 2020-04-03 17:32:29
Kubenetes 1.13.5 集群源码安装 标签(空格分隔): k8s 2019年06月13日 本文截选https://k.i4t.com 更多k8s内容请持续关注https://i4t.com 一、K8s简介 在1.11安装的地方已经讲过了,简单的查看K8s原理可以通过 k8s 1.11源码安装 查看,或者通过https://k.i4t.com查看更深入的原理 二、K8s环境准备 本次安装版本 Kubernetes v1.13.5 (v1.13.4有kubectl cp的bug) CNI v0.7.5 Etcd v3.2.24 Calico v3.4 Docker CE 18.06.03 kernel 4.18.9-1 (不推荐使用内核5版本) CentOS Linux release 7.6.1810 (Core) K8s系统最好选择7.4-7.6 docker 提示 Centos7.4之前的版本安装docker会无法使用 overlay2 为docker的默认存储引擎。 关闭IPtables及NetworkManager systemctl disable --now firewalld NetworkManager setenforce 0 sed -ri '/^[^#]*SELINUX=/s#=.+$#=disabled#' /etc/selinux/config

k8s高可用二进制部署使用Calico网络方案

好久不见. 提交于 2020-03-31 10:28:07
服务器规划 192.168.30.24 k8s-master1 192.168.30.25 k8s-master2 192.168.30.26 k8s-node1 192.168.30.30 k8s-node2 192.168.30.31 k8s-node3 192.168.30.32 k8s-slb1 192.168.30.33 k8s-slb2 生产环境高可用集群 规格:配置3/5/7个master, 3/5/7etcd集群,3/5/7个nginx对api做负载均衡,1个slb充当HA来访问k8s的API 参考阿里云配置: 节点规模 Master规格 1-5个节点 4C8G(不建议2C4G) 6-20个节点 4C16G 21-100个节点 8C32G 100-200个节点 16C64G 具体部署步骤 一、系统初始化 二、颁发ETCD证书 三、部署ETCD集群 四、颁发K8S相关证书 五、部署Master组件 六、部署Node组件 七、部署CNI插件(Calico插件) 八、部署Coredns插件 九、扩容Node节点 十、缩容Node节点 十一、部署高可用HA 一、系统初始化 关闭防火墙: # systemctl stop firewalld # systemctl disable firewalld 关闭selinux: # setenforce 0 # 临时 # sed

K8s在LinuxONE上搭建 基于RHEL7 操作系统(一)

余生颓废 提交于 2020-03-30 16:45:16
一、介绍 Kubernetes 是当前炙手可热的技术,它已然成为可开源界的PASS管理平台的标准,当下文章对大多数是对X86平台搭建Kubernetes平台,下面笔者进行在LinuxONE上搭建开源的Kubernetes平台。 搭建K8S 平台主流的有两种方法, 第一种是基于二进制的搭建,通过一步一步的搭建可以加深对K8S各个服务的理解。 官方推荐的自动化部署工具 kubeadm 本次使用官方推荐的Kubeadm 的搭建方法, kubedm 把K8S 自身的服务都被K8S自身的pod,除此之外事先的基础服务是用system服务的方式运行。 master节点安装组件: docker、kubelet、kubeadm 基于本地的system服务运行 kube-proxy 是 动态的可被k8s 管理的pod api-server、kube-controller、etcd、 是托guan在pod node节点组件 docker、kubelet 基于本地的system服务运行 kube-proxy 是 动态的可被k8s 管理的pod flannel 是 动态的可被k8s 管理的pod 二、安装 1. 环境 安装的环境可以使用虚拟机也可以使用Lpar,我这是使用的Openstack环境下面的虚拟机。虚拟机的规格为4C10G50G 系统版本 IP地址 主机名 K8s version Red Hat

[转]Kubernetes从零开始搭建自定义集群

£可爱£侵袭症+ 提交于 2020-03-29 16:14:40
本指南适用于想要搭建一个定制化 Kubernetes 集群的人员。如果您在 列表 中找到现有的入门指南可以满足您的需求,那么建议使用它们,因为可从他人的经验中获益。但是,如果您使用特定的 IaaS,网络,配置管理或操作系统,同时又不符合这些指南的要求,那么本指南会为您提供所需的步骤大纲。请注意,比起其他预定义的指南,研习本指南需做出相当多的努力。 本指南对那些想要从更高层次了解现有集群安装脚本执行步骤的人员也很有用。 设计和准备 学习 您应该已经熟悉使用 Kubernetes 集群。建议按照如下入门指南启动一个临时的集群。首先帮您熟悉 CLI(kubectl)和概念(pods,services等)。 您的工作站应该已经存在 ‘kubectl’。这是完成其他入门指南后的一个附加安装。如果没有,请遵循 说明。 Cloud Provider Kubernetes 的 Cloud Provider 是一个模块,它提供一个管理 TCP 负载均衡,节点(实例)和网络路由的接口。此接口定义在 pkg/cloudprovider/cloud.go。未实现 Cloud Provider 也可以建立自定义集群(例如使用裸机),并不是所有的接口功能都必须实现,这取决于如何在各组件上设置标识。 节点 您可以使用虚拟机或物理机。 虽然可以使用一台机器构建集群,但为了运行所有的例子和测试,至少需要4个节点。

Kubernetes 的几个重要概念

安稳与你 提交于 2020-03-27 18:32:48
3 月,跳不动了?>>> Cluster Cluster 是计算、存储和网络资源的集合,Kubernetes 利用这些资源运行各种基于容器的应用。 Master Master 是 Cluster 的大脑,它的主要职责是调度,即决定将应用放在哪里运行。Master 运行 Linux 操作系统,可以是物理机或虚拟机。为了实现高可用,可以运行多个 Master。Master 运行着如下 Daemon 服务:kube-apiserver、kube-scheduler、kube-controller-manager、etcd 和 Pod 网络(例如 flannel)。 API Server(kube-apiserver) API Server 提供 HTTP/HTTPS RESTful API,即 Kubernetes API。API Server 是 Kubernetes Cluster 的前端接口,各种客户端工具(CLI 或 UI)以及 Kubernetes 其他组件可以通过它管理 Cluster 的各种资源。 Scheduler(kube-scheduler) Scheduler 负责决定将 Pod 放在哪个 Node 上运行。Scheduler 在调度时会充分考虑 Cluster 的拓扑结构,当前各个节点的负载,以及应用对高可用、性能、数据亲和性的需求。 Controller

Kubernetes集群中,Node异常时Pod状态分析

廉价感情. 提交于 2020-03-27 17:34:41
3 月,跳不动了?>>> 摘要:Kubernetes集群中Node NotReady是经常遇到的现象,我们需要了解各种Workload Type对应的Pod此时的行为。文中只给出现象总结,并没有写出对应的逻辑分析,因为这主要是Node Controller的行为,我对Node Controller写过四篇系列博客,大家可以参考。 Kubelet进程异常,Pod状态变化 一个节点上运行着pod前提下,这个时候把kubelet进程停掉。里面的pod会被干掉吗?会在其他节点recreate吗? 结论: (1)Node状态变为NotReady (2)Pod 5分钟之内状态无变化,5分钟之后的状态变化:Daemonset的Pod状态变为Nodelost,Deployment、Statefulset和Static Pod的状态先变为NodeLost,然后马上变为Unknown。Deployment的pod会recreate,但是Deployment如果是node selector停掉kubelet的node,则recreate的pod会一直处于Pending的状态。Static Pod和Statefulset的Pod会一直处于Unknown状态。 Kubelet恢复,Pod行为 如果kubelet 10分钟后又起来了,node和pod会怎样? 结论: (1)Node状态变为Ready。 (2