背景:node 节点 kubeadm reset 后 重新kubeadm join失败
报错信息: error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR Port-6443]: Port 6443 is in use [ERROR Port-10251]: Port 10251 is in use [ERROR Port-10252]: Port 10252 is in use [ERROR FileAvailable--et
昨天网络环境出了点问题,本地的虚拟机搭建的 Kubernetes 环境没有固定 IP,结果节点 IP 变了,当然最简单的方式是将节点重新固定回之前的 IP 地址,但是自己头铁想去修改下集群的 IP 地址,结果一路下来踩了好多坑,压根就没那么简单~
本地的虚拟机搭建的 Kubernetes 环境没有固定 IP,结果节点 IP 变了,当然最简单的方式是将节点重新固定回之前的 IP 地址,但是自己头铁想去修改下集群的 IP 地址,结果一路下来踩了好多坑,压根就没那么简单~
从上面k8s_master1跟k8s_node1/2的相同报错可以判断出,报错的原因是因为我们三台主机的命名问题,不能在主机名中使用下划线”_”来命名。
5.资源对象 rc/rs/deployment、 service、 volume、 emptyDir、 hostpath、 NFS
本篇博客将介绍如何通过静态发现这种方式来部署一个etcd集群,这种方式也是最简单的。
生产环境中给etcd配置证书相当重要,如果没有证书,那么k8s集群很容易被黑客利用而去挖矿什么的。做法非常简单,比如你下了一个不安全的镜像,通过程序扫描到etcd的ip和端口,那么黑客就可以绕开apiserver的认证直接写数据,写一些deployment pod等等,apiserver就会读到这些,从而去部署黑客的程序。 我们就有一个集群这样被利用去挖矿了,安全无小事,如果黑客恶意攻击也可轻松删除你的所有数据,所以证书与定期备份都很重要,即便有多个etcd节点,本文深入探讨etcd管理的重要的几个东西。
在/etc/docker/daemon.json文件中加入“"exec-opts": ["native.cgroupdriver=systemd"]一行配置,重启docker跟清除一下kubeadm信息即可重新初始化。”
背景: 最近在Azure上自建原生k8s集群,然后很不稳定有时雪崩,日志一直报如下,网上查了很多资料说是etcd数据存储磁盘io影响etcd查查询慢。 确实我这块存储盘是hdd,于是打算迁到ssd盘试下还会不会有这种情况。
kuberntes 系统使用 etcd 存储所有数据,是最重要的组件之一,注意 etcd集群只能有奇数个节点(1,3,5...),本文档使用3个节点做集群。
版权声明:原创勿转
etcd是一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。
之前将近一个月的时间算是初步入门了kubernetes,现在对之前的学习工作进行整理记录,将所有的内容有机的串联起来。 对照网上已有的内容和自己过去的博客,整理shell脚本 安装包结构示意如下(
etcdctl backup --data-dir /var/lib/etcd --backup-dir /opt/etcdv2
1、服务器初始化 2、部署etcd集群,包括生成证书 3、部署master(kube-apiserver、scheduler、controller-manager) 4、部署node(kubelet、proxy、docker) 5、部署网络组件、dashboard、ingress controller、配置pv自动供给、CoreDNS等
)# 前言 https://cloud.tencent.com/act?from=10680 https://cloud.tencent.com/act/season?from=14065 https
Server81在安装了Server86/87节点后,服务已自动正常
ETCD 是用于共享配置和服务发现的分布式,一致性的KV存储系统。ETCD是CoreOS公司发起的一个开源项目,授权协议为Apache。
当Follower在一定时间内没有收到来自主节点的心跳,会将自己角色改变为Candidate,并发起一次选主投票.
etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。
背景:NeoKylin使用使用flannel+etcd可达成docker容器跨主机通信,再通过redis-cluster建立集群数据库。 系统:Neokylin-Server-5.0_U4-x86_64-Release-B14-20190320。 环境:
level=warning msg="Your kernel does not support cgroup rt runtime
从CoreOS发布Rocket应用容器项目到现在,已经过去半年时间了。为了增加辨识度,项目更名为了Rkt。在沉寂了许久后,最近又开始在社区里出现了一些新鲜的声音。
原创内容,转载请注明出处 博主地址:https://aronligithub.github.io/ 前言 在经过上一篇章关于etcd相关技术概述的铺垫,这个篇章就是介绍以及演示单台etcd部署以
ETC集群配置 yum install etcd 安装 etcd每台安装步骤都一样,所以etcd2、etcd3都以etcd1步骤一样 安装只需一条命令即可: yum -y install etcd
在上一篇文章里我们主要介绍docker的安装,这里我们主要介绍安装etcd集群安装。这里我们采用下载二进制binary制作linux systemd的方式安装,安装完成之后开启开启双向ssl验证。另外etcd集群的安装方式主要有3种,静态的集群安装(就是预先知道有集群中多少台etcd,在每一台etcd里都配置指向其它的etcd来形成集群)。基于已经存在的etcd利用服务发现机制安装。基于dns的服务发现机制安装。这里我们以学习为目的采用第一种方式安装,当然对于应用环境还是基于服务发现的机制比较好(这里我们机器有限,就不自己搭建一个bind dns服务来做服务发现安装了)。
# 在centos7上手动安装k8s1.9.9参考#https://www.cnblogs.com/peterinblog/p/8124746.html
本次使用单master节点部署,需要多master请移步至一步步编译安装Kubernetes之master计算节点安装
确保在当前目录有ca-key.pem、ca-config.json、etcd-csr.json文件
在上一篇文章里我们主要介绍etcd集群的安装,这里我们主要介绍安装flannel。这里我们采用下载二进制binary制作linux systemd的方式安装,使用双向ssl的方式连接到etcd集群(因为我们的etcd集群开启了双向ssl)。安装完成之后我们要在etcd里创建k8s pod的通讯网络,启动flanneld生成docker绑定的环境变量,然后把这些环境变量设置到docker的启动参数里。最后由于我们使用的是flannel host-gw的网络方案,是属于underlay方式,需要host扮演路由的角色。那么还需要在每个host上开启网络转发的功能,同时也要accept pod cidr网络空间的流量。
「 等长大就明白了。小时候总是被人这么说。但那是不折不扣的谎言。我对任何事都只能越来越不明白。——中岛敦《山月记》」
从这里开始就要跟各种各样的证书打交道了,等写完这个部署系列我专门整理一篇写证书的。
背景:NeoKylin使用swarm、macvlan、calico组网docker环境中pxc高可用不成功后,使用flannel+etcd成功,记录过程如下。 系统:Neokylin-Server-5.0_U4-x86_64-Release-B14-20190320。 使用说明:pxc做集群;Haproxy做负载均衡;Keepalived浮动ip;etcd+Flannel保证容器跨主机互通;ntpdate时间同步、busybox做测试 环境:
etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。类似于微服务项目中服务注册与发现组件: Eureka、 Zookeeper 和 Consul 等。
我们可以下载编译好的二进制文件,也可以下载源码自己编译,源码编译可以参考这里本文只讨论二进制的安装方式。在Kubernetes的Github Latest 页面,可以看到最新打包的版本。也可以到 Tag 页面中找到自己需要的版本,我下载的是 V1.11。
不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树
接触 Kubernetes 以来,我经常看到 Kubernetes 在不同的地方使用了证书(Certificate),在 Kubernetes 安装和组件启动参数中也需要配置大量证书相关的参数。但是 Kubernetes 的文档在解释这些证书的工作机制方面做得并不是太好。经过大量的相关阅读和分析工作后,我基本弄清楚了 Kubernetes 中证书的使用方式。在本文中,我将试图以一种比官方文档更容易理解的方式来说明 Kubernetes 中证书相关的工作机制,如果你也存在这方面的疑惑,希望这篇文章对你有所帮助。
安装的下载地址为https://github.com/etcd-io/etcd/releases/tag/v3.2.12,找到其中的
因为虚拟机有限,我的DELL工作站年龄也不小了,暂时就开三个节点(三个虚机均为2H , 2G),集群也都部署在这三台机器,当然线上的资源充足的话肯定是要和master以及node分开部署的。
部署etcd 因为虚拟机有限,我的DELL工作站年龄也不小了,暂时就开三个节点(三个虚机均为2H , 2G),集群也都部署在这三台机器,当然线上的资源充足的话肯定是要和master以及node分开部署的。 在三个节点都安装etcd,下面的操作需要在三个节点都执行一遍 下载etcd安装包 # wget https://github.com/coreos/etcd/releases/download/v3.2.12/etcd-v3.2.12-linux-amd64.tar.gz # tar -xvf etcd
这篇文章我们将进行Kubernetes集群的核心组件 etcd 集群备份,然后在具有一个主节点和一个从节点的 kubernetes 集群中恢复相同的备份。下面是实验的步骤和效果验证。
本文试图以一种比官方文档更容易理解的方式来说明 Kubernetes 和证书(Certificate)相关的工作机制,如果你也存在这方面的疑惑,希望这篇文章对你有所帮助。
PostgreSQL是一个非常流行的使用面非常广的关系数据库,有很多种构建Postgres HA集群的方式,例如PAF,pgool等,以下将以CentOS7系统和PostgreSQL9.6版本为例,结合高可用虚拟IP(以下简称vip),patroni,haproxy,etcd等组件介绍一种pg HA方案。
本文档记录自己的学习历程! 创建高可用 etcd 集群 kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点使用以下机器: 192.168.1.121 192.168.1.122 192.168.1.123 TLS 认证文件 需要为 etcd 集群创建加密通信的 TLS 证书,这里复用之前创建的 kubernetes 证书 # cp ca.pem kubernetes-key.pem kubernetes.pem /etc/kubernete
通过安装 K8S,了解 K8S 的核心概念:控制面、CRI、CNI、Deployment、Service、sandbox 等,本文不仅包含安装流程,而且包含丰富的 Troubeshooting 实战,以及解释这背后发生了什么。
cfssl是一个开源的证书管理工具,使用json文件生成证书,相比openssl更方便使用。
kubectl和minikube是部署kubernetes集群的2个重要工具,本文主要介绍如何安装这2个工具。
etcd 是一个分布式的键值存储系统,它被广泛用于容器编排工具 Kubernetes 的内部实现中。etcd 可以用来存储 Kubernetes 集群的配置信息、状态信息等,使得 Kubernetes 集群可以更加可靠和高效地运行。
领取专属 10元无门槛券
手把手带您无忧上云