etcd

更新kubernetes 过期证书

岁酱吖の 提交于 2020-02-26 03:44:54
kubeadm 版本在kubernetes 1.15 版本 提供了强大的证书管理功能,本文章适用于kubernetes1.15以下版本(文章中kubernetes版本是1.13.2)。 1.15 版本的证书管理相关文档: 官方文档-使用 kubeadm 进行证书管理 [官方文档-kubeadm alpha 使用说明]9https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-alpha/) 查看证书有效期方法: openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not ' ⚠️ kubeadm 默认生成的 ca证书有效期是10年 ,其 他证书(如etcd证书,apiserver证书)有效期均为1年 。 更新证书和配置 整体思路: 备份:在进行证书更新前, 建议备份 /etc/kubernetes ,防止操作失误。 更新证书:使用 kubeadm alpha certs renew 重新生成证书。 仅更新 ***.key 文件,需要原始的crt文件才能生成对应的key文件。 更新配置:使用 kubeadm init phase kubeconfig all --config ${kubeadm.yaml配置文件} 或者

Kubernetes集群部署 上

∥☆過路亽.° 提交于 2020-02-26 02:36:29
概述 K8S集群部署有几种方式:kubeadm、minikube和二进制包。前两者属于自动部署,简化部署操作。而在生成环境中一般使用二进制包部署,以下就是使用二进制包部署Kubernetes集群。 架构总规划图 环境准备 三台主机,一台作为master节点,二台作为node节点。 其中master节点需要安装以下组件 kube-apiserver、kube-controller-manager、kube-scheduler、etcd node节点需要安装以下组件 kubelet、kube-proxy、docker、flannel、etcd 组件介绍 Flanner:Flannel是针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。但在默认的Docker配置中,每个Node的Docker服务会分别负责所在节点容器的IP分配。Node内部得容器之间可以相互访问,但是跨主机(Node)网络相互间是不能通信。Flannel设计目的就是为集群中所有节点重新规划IP地址的使用规则,从而使得不同节点上的容器能够获得"同属一个内网"且"不重复的"IP地址,并让属于不同节点上的容器能够直接通过内网IP通信。 部署流程 从官方网站上下载二进制包 部署etcd存储

Kubernetes测试环境minikube部署(理论+实战!!!)

て烟熏妆下的殇ゞ 提交于 2020-02-26 02:35:32
Kubernetes的概述 Kubernetes是一个开源的Docker容器编排系统,Kubernetes简称K8S。 调度计算集群的节点,动态管理上面的作业 通过使用[labels]和[pods]的概念,将应用按逻辑单元进行分组 K8S用于容器应用程序的部署,扩展和管理 K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能 Kubernetes目标是让部署容器化应运简单高效 官方网站: http://www.kubernetes.io Kubernetes的特性 自我修复: 在节点故障时重新启动失败的容器,替换和重新部署,保证预测的副本数量;杀死健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断。 弹性伸缩: 使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性;业务低峰时回收资源,以最小成本运行服务 自动部署和回滚: K8S采用滚动更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不受影响业务 服务发现和负载均衡: K8S为多个容器提供一个统一的访问入口(内部IP地址和UI个DNS地址),并且负载均衡关联的所有容器,使得用户无需考虑容器IP问题 机密和配置管理: 管理机密数据和应用程序配置。而不需要把敏感数据暴露在镜像里

Kubernetes群集部署之ETCD

眉间皱痕 提交于 2020-02-26 02:22:02
1、Master组件 ●kube-apiserver Kubernetes API,集群的统一入口,各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交给Etcd存储。 ●kube-controller-manager 处理集群中常规后台任务,一个 资源对应一个控制 器,而ControllerManager就是负责管理这些控制器的。 ●kube-scheduler 根据调度算法为新创建的Pod选择一个Node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同的节点上。 ●etcd 分布式键值存储系统。用于保存集群状态数据,比如Pod、Service 等对象信息。 2、Node组件 ●kubelet kubelet是Master在Node节点上的Agent,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、下 载secret、获取容器和节点状态等工作。kubelet将 每个Pod转换成一组容器。 ●kube-proxy 在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。 ●docker或rocket 容器引擎,运行容器。 工作原理: 1、准备包含应用程序的Deployment的yml文件,然后通过kubectl客户端工具发送给ApiServer。 2

k8s安装

我与影子孤独终老i 提交于 2020-02-26 01:24:34
环境 centos 7 psbc-master 192.168.182.120 1-psbc-node 192.168.182.121 master和node节点执行以下操作 修改主机名 [root@localhost ~]# hostnamectl set-hostname psbc-master [root@localhost ~]# hostname psbc-master [root@localhost ~]# cat /etc/hostname psbc-master [root@localhost ~]# view /etc/hosts 增加一行 192.168.182.120 psbc-master 2.ip地址设置成静态的 [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes #IPV4_FAILURE_FATAL=no #IPV6INIT=yes #IPV6_AUTOCONF=yes #IPV6_DEFROUTE=yes #IPV6_PEERDNS=yes #IPV6_PEERROUTES=yes #IPV6_FAILURE_FATAL=no

基于Go的马蜂窝旅游网分布式IM系统技术实践

左心房为你撑大大i 提交于 2020-02-25 21:24:26
本文由马蜂窝技术团队电商交易基础平台研发工程师"Anti Walker"原创分享。 一、引言 即时通讯(IM)功能对于电商平台来说非常重要,特别是旅游电商。 从商品复杂性来看,一个旅游商品可能会包括用户在未来一段时间的衣、食、住、行等方方面面。从消费金额来看,往往单次消费额度较大。对目的地的陌生、在行程中可能的问题,这些因素使用户在购买前、中、后都存在和商家沟通的强烈需求。可以说,一个好用的 IM 可以在一定程度上对企业电商业务的 GMV 起到促进作用。 本文我们将结合马蜂窝旅游电商IM系统的发展历程,单独介绍基于Go重构分布式IM系统过程中的实践和总结( 本文相当于《 从游击队到正规军(一):马蜂窝旅游网的IM系统架构演进之路 》一文的进阶篇 ),希望可以给有相似问题的朋友一些借鉴。 系列文章: 《 从游击队到正规军(一):马蜂窝旅游网的IM系统架构演进之路 》 《 从游击队到正规军(二):马蜂窝旅游网的IM客户端架构演进和实践总结 》 《 从游击队到正规军(三):基于Go的马蜂窝旅游网分布式IM系统技术实践 》( * 本文 ) 二、技术背景和问题 与广义上的即时通讯不同,电商各业务线有其特有业务逻辑,如客服聊天系统的客人分配逻辑、敏感词检测逻辑等,这些往往要耦合进通信流程中。随着接入业务线越来越多,即时通讯服务冗余度会越来越高。同时整个消息链路追溯复杂

k8s部署---master节点组件部署(三)

大憨熊 提交于 2020-02-25 18:58:57
kube-APIserver组件介绍 kube-APIserver提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心。 kube-APIserver的功能 提供了集群管理的REST API接口(包括认证授权、数据校验以及集群状态变更) 提供其他模块之间的数据交互和通信的枢纽(其他模块通过API Server查询或修改数据,只有API Server才直接操作etcd) 是资源配额控制的入口 拥有完备的集群安全机制 kube-apiserver工作原理图 kubernetes API的访问 k8s通过kube-apiserver这个进程提供服务,该进程运行在单个k8s-master节点上。默认有两个端口 本地端口 该端口用于接收HTTP请求 该端口默认值为8080,可以通过API Server的启动参数“--insecure-port”的值来修改默认值 默认的IP地址为“localhost”,可以通过启动参数“--insecure-bind-address”的值来修改该IP地址 非认证或授权的HTTP请求通过该端口访问API Server 安全端口 该端口默认值为6443,可通过启动参数“--secure-port”的值来修改默认值 默认IP地址为非本地(Non-Localhost)网络端口

(企业环境部署)K8S多节点部署——负载均衡——UI页面

主宰稳场 提交于 2020-02-25 18:58:31
企业环境部署)K8S多节点部署——负载均衡——UI页面 需要准备的环境: 6台centos7设备: 192.168.136.167 master01 192.168.136.168 node1 192.168.136.169 node2 192.168.136.170 master02 192.168.136.171 lb1 192.168.136.172 lb2 VIP:192.168.1.100 实验步骤: 1:自签ETCD证书 2:ETCD部署 3:Node安装docker 4:Flannel部署(先写入子网到etcd) ---------master---------- 5:自签APIServer证书 6:部署APIServer组件(token,csv) 7:部署controller-manager(指定apiserver证书)和scheduler组件 ----------node---------- 8:生成kubeconfig(bootstrap,kubeconfig和kube-proxy.kubeconfig) 9:部署kubelet组件 10:部署kube-proxy组件 ----------加入群集---------- 11:kubectl get csr && kubectl certificate approve 允许办法证书,加入群集 12

K8s多节点部署详细步骤,附UI界面的搭建

做~自己de王妃 提交于 2020-02-25 16:55:53
K8s多节点部署 需要准备的环境: 6台centos7设备: 192.168.1.11 master01 192.168.1.12 node1 192.168.1.13 node2 192.168.1.14 master02 192.168.1.15 lb1 192.168.1.16 lb2 VIP:192.168.1.100 实验步骤: 1:自签ETCD证书 2:ETCD部署 3:Node安装docker 4:Flannel部署(先写入子网到etcd) ---------master---------- 5:自签APIServer证书 6:部署APIServer组件(token,csv) 7:部署controller-manager(指定apiserver证书)和scheduler组件 ----------node---------- 8:生成kubeconfig(bootstrap,kubeconfig和kube-proxy.kubeconfig) 9:部署kubelet组件 10:部署kube-proxy组件 ----------加入群集---------- 11:kubectl get csr && kubectl certificate approve 允许办法证书,加入群集 12:添加一个node节点 13:查看kubectl get node 节点 具体步骤 一

K8s之调度约束(八)

*爱你&永不变心* 提交于 2020-02-21 11:47:54
注意:此篇文章接上篇:K8s之Pod进阶(七) https://blog.csdn.net/JarryZho/article/details/104383739 原理: kubernetes通过watch的机制进行每个组件的协作,每个组件之间的设计实现了解耦 调度方式: nodeName用于将Pod调度到指定的Node名称上(跳过调度器直接分配) nodeSelector用于将Pod调度到匹配Label的Node上(前提是node要有标签) 图解: 左上角的运维人员往节点中创建一个nginx资源 (1)API Server和etcd和Scheduler是master (2)Kubelet和Docker是node节点 API Server做为唯一入口,接受create创建资源的属性信息写入到etcd中(属性信息:名称,镜像名称,限制条件),etcd完善发现机制(watch)给Scheduler调度器(查看那个节点适合),然后绑定相关pod的网络信息,反馈给API Server,收到信息后api写入etcd中,此时etcd存储了pod的网络信息(IP),node1、中的kubelet会管理pod资源,会触发容器的创建命令,安装完成后docker就会反馈状态信息给API Server,当API Server收到状态信息写入到etcd中 总结: apiserver相当于是平台中的书记