etcd

kubernetes集群中由于某些原因导致etcd节点没有删干净,需要手动清理etcd节点

血红的双手。 提交于 2020-10-24 10:26:35
ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key member list ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key member remove <node_id> 来源: oschina 链接: https://my.oschina.net/u/4327913/blog/4503419

kubernetes 升级到1.6

我是研究僧i 提交于 2020-10-23 17:51:39
尝试平滑升级,保证集群在线稳定 一、etcd 通过官方文档,我们发现。从1.6开始,集群需要etcd版本为3.0,目前etcd2.0 和3.0 的数据不能互通, 已知问题: 1、 etcd和go 的版本问题 v3.0.x 应该使用Go 1.6.x v3.1.x 应该使用Go 1.7.x github url https://github.com/coreos/etcd/issues/6951 etcd 集群,只有全部节点都是3以上版本,才会更改集群为3.0. 所以,可以平滑升级到1.6。 利用自写脚本调用kubernetes api,把数据读取出来,保存到数据库(比如mysql) 然后当etcd集群升级到3.0后,再用脚本调用kubernetes api,把数据写回到etcd3.0 升级前,最好备份etcd数据。如果出现问题,把etcd集群降级到2.x版本 就可以了。 因为etcd2.x和3.x的数据是共存的,但是不互通 来源: oschina 链接: https://my.oschina.net/u/4291367/blog/4341590

如何管理越来越多的 operator?OLM 给你答案

馋奶兔 提交于 2020-10-22 00:56:12
作者 | 匡大虎、阚俊宝 导读 :OLM(Operator Lifecycle Manager) 作为 Operator Framework 的一部分,可以帮助用户进行 Operator 的自动安装,升级及其生命周期的管理。同时 OLM 自身也是以 Operator 的形式进行安装部署,可以说它的工作方式是以 Operators 来管理 Operators,而它面向 Operator 提供了声明式 (declarative) 的自动化管理能力也完全符合 Kubernetes 交互的设计理念。本文我们将来了解一下 OLM 的基本架构和安装使用。 OLM 组件模型定义 OLM 的出现是为了帮助没有如大数据,云监控等领域知识的用户能够自助式地部署并管理像 etcd、大数据分析或监控服务等复杂的分布式应用。因此从它的设计目标来说,OLM 官方希望实现面向云原生应用提供以下几个方向上的通用管理能力,包括: 生命周期管理:管理 operator 自身以及监控资源模型的升级和生命周期; 服务发现:发现在集群中存在哪些 operator,这些 operators 管理了哪些资源模型以及又有哪些 operators 是可以被安装在集群中的; 打包能力:提供一种标准模式用于 operator 以及依赖组件的分发,安装和升级; 交互能力:在完成了上述能力的标准化后,还需要提供一种规范化的方式(如 CLI

《二》Kubernetes概述

丶灬走出姿态 提交于 2020-10-08 10:27:39
Kubernetes是什么 Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S。 K8S用于容器化应用程序的部署,扩展和管理。 K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能。 Kubernetes目标是让部署容器化应用简单高效。 官网: http://www.kubernetes.io/ Kubernetes特性 自我修复 在节点故障时重新启动失败的容器,替换和重新部署,保证预期的副本数量;杀死健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断。 弹性伸缩 使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性;业务低峰时回收资源,以最小成本运行服务。 自动部署和回滚 K8S采用滚动更新策略更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不受影响业务。 服务发现和负载均衡 K8S为多个容器提供一个统一访问入口(内部IP地址和一个DNS名称),并且负载均衡关联的所有容器,使得用户无需考虑容器IP问题。 机密和配置管理 管理机密数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性。并可以将一些常用的配置存储在K8S中,方便应用程序使用。 存储编排 挂载外部存储系统

etcd分布式锁及事务

限于喜欢 提交于 2020-10-07 04:51:59
前言 分布式锁 是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。 etcd分布式锁设计 排他性 :任意时刻,只能有一个机器的一个线程能获取到锁。 通过在etcd中存入key值来实现上锁,删除key实现解锁,参考下面伪代码: func Lock(key string, cli *clientv3.Client) error { //获取key,判断是否存在锁 resp, err := cli.Get(context.Background(), key) if err != nil { return err } //锁存在,返回上锁失败 if len(resp.Kvs) > 0 { return errors.New("lock fail") } _, err = cli.Put(context.Background(), key, "lock") if err != nil { return err } return nil } //删除key,解锁 func UnLock(key string, cli *clientv3.Client) error { _, err := cli

CentOS7安装OpenStack(Rocky版)-01.控制节点的系统环境准备

落爺英雄遲暮 提交于 2020-10-06 09:56:47
分享一下Rocky版本的OpenStack安装管理经验: OpenStack每半年左右更新一版,目前是版本是201808月发布的版本-R版(Rocky),目前版本安装方法优化较好,不过依然是比较复杂 官方文档地址: https://docs.openstack.org/install-guide/openstack-services.html 本文主要分享控制节点的环境配置方法: ---------------- 完美的分割线 ------------------ 1.0.系统环境 1)生产测试应用的服务器最好是物理机,虚拟目前可以完成搭建测试体验 2)系统选择是目前的最新版本:CentOS Linux release 7.5.1804 (Core) 3)控制节点Controller :192.168.1.81 计算节点Nova:192.168.1.82 1.1.配置域名解析 1)配置主机名 # 主机名设置好就不能修改,否则会出问题,控制节点和计算节点配置相同,且都需要配置 hostname openstack01.zuiyoujie.com hostname echo " openstack01.zuiyoujie.com " > /etc/ hostname cat /etc/hostname 2)配置主机名解析 vim /etc/ hosts ----------------

2020 深圳 Gopher Meetup 上线啦!

跟風遠走 提交于 2020-10-06 07:59:15
10.17 Gopher Meetup 深圳站 Go 中国社区联合华为云,即将为深圳的 Gopher 们带来一场技术盛宴。本次 Meetup 邀请了来自华为云微服务、华为云边缘计算、腾讯IEG和腾讯云的技术专家们,交流分享使用 Go 语言的开发和应用经验。干货内容,现场交流,不容错过。 时间:2020.10.17 13:30-17:30 地点:广东深圳市南山区科园路1001号深圳市软件产业基地4A栋一层 Tips:性急的 Gopher 可以直接点击文末“阅读原文”进行报名~ No.1 华为云的go语言云原生实践 田晓亮|华为云工程师 负责华为云微服务相关产品的架构设计和落地,开发了国内首个go语言微服务框架和服务网格方案。国内早期云服务从业者,在PaaS,微服务,混合云,Devops,APM方向均有深入的实践经验。 内容简介 华为进军云计算后,就引入了kubernetes,promethues等云原生项目,自然也开始大范围使用go语言自研云服务,几年前go的生态也不完善,所以这时候自然就是要自己从头到尾编写工具库,另外也要落地微服务架构模式,自然有大量基础能力需要编写,go chassis就是在这样的背景下诞生的,我将介绍如何利用编写并在华为云治理大规模go云原生应用。 No.2 服务网格在边缘计算领域的实践与探索 李呈隆|华为云边缘云创新Lab工程师 华为云边缘云创新Lab工程师

K8S从入门到放弃系列-(11)kubernetes集群网络Calico部署

折月煮酒 提交于 2020-10-06 02:25:39
摘要: 前面几个篇幅,已经介绍master与node节点集群组件部署,由于K8S本身不支持网络,当 node 全部启动后,由于网络组件(CNI)未安装会显示为 NotReady 状态,需要借助第三方网络才能进行创建Pod,下面将部署 Calico 网络为K8S提供网络支持,完成跨节点网络通讯。 官方文档 https://docs.projectcalico.org/v3.6/introduction 1)下载Calico yaml [root@k8s-master01 ~]# mkdir /opt/k8s/ calico [root@k8s -master01 ~]# cd /opt/k8s/calico/ [root@k8s -master01 calico]# wget http: // docs.projectcalico.org/v3.6/getting-started/kubernetes/installation/hosted/calico.yaml 2)修改配置 默认calico配置清单文件与我们部署的集群并不兼容,所以我们需要修改以下字段信息 [root@k8s- master01 calico]# vim calico.yaml ## etcd 证书 base64 地址 (执行里面的命令生成的证书 base64 码,填入里面) apiVersion: v1

Go语言(二十)日志采集项目(二)Etcd的使用

坚强是说给别人听的谎言 提交于 2020-10-05 17:01:44
日志采集项目(二)Etcd的使用 ETCD 介绍 概念: 高可用的分布式key-value存储,实现配置共享和服务发现 类似项目: zookeeper和consul 开发语言: Go 接口: 提供restful的http接口,使用简单 实现算法: 基于raft算法的强一致性,高可用的服务存储目录 ETCD的应用场景 服务发现和注册 配置中心 分布式锁 master选举 ETCD环境搭建 下载地址: https://github.com/etcd-io/etcd/releases/download/v3.4.7/etcd-v3.4.7-linux-amd64.tar.gz 启动方式: bin/etcd 可以直接启动 [root@centos7-node1 etcd]# nohup ./etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380 --initial-advertise-peer-urls http://0.0.0.0:2380 & #启动etcd etcdctl使用 [root@centos7-node1 ~]# cd /opt/application/etcd/ [root

Ansible创建K8S集群kube

*爱你&永不变心* 提交于 2020-10-04 03:18:40
服务器信息 类型 服务器IP地址 备注 Ansible(2台) 172.24.78.21/22 K8S集群部署服务器,可以和在一起,需要配置在负载均衡上实现反向代理,dashboard的端口为8443 K8S Master(2台) 172.24.78.21/22 K8s控制端,通过一个VIP做主备高可用 Harbor(2台) 172.24.78.23/24 高可用镜像服务器 Etcd(最少3台) 172.24.78.25/26/27 保存k8s集群数据的服务器 Hproxy(2台) 172.24.78.28/29 高可用etcd代理服务器 Node节点(2-N台) 172.24.78.31/32/xxx 真正运行容器的服务器,高可用环境至少两台 主机信息 序号 类型 服务器IP 主机名 VIP 1 K8S Master1 172.24.78.21 master1.his.net 172.24.78.18 2 K8S Master2 172.24.78.22 master2.his.net 172.24.78.18 3 Harbor1 172.24.78.23 harbor1.his.net 4 Harbor2 172.24.78.24 harbor2.his.net 5 etcd节点1 172.24.78.25 etcd1.his.net 6 etcd节点2 172.24.78