etcd

centos7使用kubeadm安装kubernetes集群

帅比萌擦擦* 提交于 2021-02-20 05:00:27
参考资料: 官方文档 一、虚拟机安装 配置说明: windows下使用vbox,centos17.6 min版,kubernetes的版本是1.14.1, 安装如下三台机器: 192.168.56.15 k15 192.168.56.16 k16 192.168.56.17 k17 其中k15作为master,k16和k17作为node,虚拟机的安装重点关注网卡设置,设置两个网卡,第一个网卡(ifcfg-enp0s3)Host Only模式,第二个网卡(ifcfg-enp0s8)NAT模式,参见下图 二、虚拟机基本设置 本章节三台机器都执行,这里以k15为例 1.配置hostname hostnamectl --static set-hostname k15 2. 网卡设置 红色字体部分是需要修改和新增的配置 #网卡1 Local Bridge vi /etc/sysconfig/network-scripts/ifcfg- enp0s3 TYPE = Ethernet PROXY_METHOD = none BROWSER_ONLY = no BOOTPROTO = static DEFROUTE = yes IPV4_FAILURE_FATAL = no IPV6INIT = yes IPV6_AUTOCONF = yes IPV6_DEFROUTE = yes IPV6

部署Flannel网络

放肆的年华 提交于 2021-02-20 05:00:09
部署Flannel网络 部署flannel网络需要执行以下步骤: 1)写入分配的子网段到etcd,供flanneld使用 2)下载二进制包 3)配置Flannel 4)systemd管理Flannel 5)配置Docker启动指定子网段 6)启动 第一步:下载flannel二进制包 wget https://github.com/coreos/flannel/releases/download/v0.9.1/flannel-v0.9.1-linux-amd64.tar.gz 第二步:解压flannel二进制包并且复制到其他节点 //解压二进制文件 tar -zxvf flannel-v0.9.1-linux-amd64.tar.gz //将可执行文件flanneld mk-docker-opts.sh复制发送到其他节点 scp flanneld mk-docker-opts.sh root@172.16.163.130:/opt/kubernetes/bin/ 第三步:写入分配的子网段到etcd,供flanneld使用 /opt/kubernetes/bin/etcdctl \ --ca-file=ca.pem --cert-file=server.pem --key-file=server-key.pem \ --endpoints="https://172.16.163.131

Centos7 使用 kubeadm 安装Kubernetes 1.13.3

懵懂的女人 提交于 2021-02-19 05:04:16
目录 [toc] 什么是Kubeadm?   大多数与 Kubernetes 的工程师,都应该会使用 kubeadm 。它是管理集群生命周期的重要工具,从创建到配置再到升级; kubeadm 处理现有硬件上的生产集群的引导,并以最佳实践方式配置核心 Kubernetes 组件,以便为新节点提供安全而简单的连接流程并支持轻松升级。   在 Kubernetes 的文档 Creating a single master cluster with kubeadm 中已经给出了目前kubeadm的主要特性已经处于 Beta 状态了,在 2018 年就会转换成正式发布 (GA) 状态态,说明 kubeadm 离可以在生产环境中使用的距离越来越近了。    什么是容器存储接口(CSI)?   容器存储接口最初于 1.9 版本中作为 alpha 测试功能引入,在 1.10 版本中进入 beta 测试,如今终于进入 GA 阶段正式普遍可用。在 CSI 的帮助下, Kubernetes 卷层将真正实现可扩展性。通过 CSI ,第三方存储供应商将可以直接编写可与 Kubernetes 互操作的代码,而无需触及任何 Kubernetes 核心代码。事实上,相关规范也已经同步进入 1.0 阶段。    什么是CoreDNS?   在1.11中,官方宣布 CoreDNS

Consul替代Eureka

感情迁移 提交于 2021-02-17 21:19:01
原文:https://www.cnblogs.com/ityouknow/p/9340591.html 在上个月我们知道 Eureka 2.X 遇到困难停止开发了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件,Eureka 只是其中之一,下面是 Spring Cloud 支持的服务发现软件以及特性对比: Feature euerka Consul zookeeper etcd 服务健康检查 可配支持 服务状态,内存,硬盘等 (弱)长连接,keepalive 连接心跳 多数据中心 — 支持 — — kv 存储服务 — 支持 支持 支持 一致性 — raft paxos raft cap ap ca cp cp 使用接口(多语言能力) http(sidecar) 支持 http 和 dns 客户端 http/grpc watch 支持 支持 long polling/大部分增量 全量/支持long polling 支持 支持 long polling 自身监控 metrics metrics — metrics 安全 — acl /https acl https 支持(弱) spring cloud 集成 已支持 已支持 已支持 已支持 在以上服务发现的软件中,Euerka 和 Consul

Kubernetes 1.15版本正式发布,kubeadm喜提新logo

╄→尐↘猪︶ㄣ 提交于 2021-02-17 07:12:23
导读: 美国时间 2019 年 6 月 19 日,Kubernetes发布了今年第二大版本 Kubernetes 1.15 ,此次版本共更新加强了 25 个相关功能,其中 2 个升级到 GA 版本, 13 个升级到 beta 版, 10 个 alpha 版。 1.15 版本的发布主题是:持续改进和可扩展性。 持续改进: 项目可持续性不仅仅与功能有关。许多SIG一直致力于提高测试覆盖率,确保基础功能持续可靠,核心功能持续稳定。 可扩展性: Kubernetes 社区一直致力于支持可扩展性。 1.15 版本发布周期中包含更多关于CRD和 API Machinery 的工作。此次周期中的大多数增强功能来自SIG API Machinery及相关领域。 更深入了解此次版本主要功能: 围绕核心 Kubernetes API的可扩展性 在 CRD 新开发的主题是围绕者数据一致性和原生性。用户考虑重点不会放在是CustomResource还是使用 Golang 原生资源。在下个版本或后续版本中,将会升级 CRD 和 admissio webhooks 到 GA 版本。 在这个方向上,社区重新考虑了CRD中基于 OpenAPI 的验证模式,并且从 1.15 开始,我们根据称为“ structural schema ”的限制检查每个资源

golang使用etcd实现分布式锁

女生的网名这么多〃 提交于 2021-02-14 16:21:54
1 package main 2 3 import ( 4 " context " 5 " fmt " 6 " time " 7 8 " go.etcd.io/etcd/clientv3 " 9 ) 10 11 func main() { 12 var ( 13 client * clientv3.Client 14 cfg clientv3.Config 15 err error 16 lease clientv3.Lease 17 ctx context.Context 18 cancelFunc context.CancelFunc 19 leaseId clientv3.LeaseID 20 leaseGrantResponse * clientv3.LeaseGrantResponse 21 leaseKeepAliveChan <-chan * clientv3.LeaseKeepAliveResponse 22 leaseKeepAliveResponse * clientv3.LeaseKeepAliveResponse 23 txn clientv3.Txn 24 txnResponse * clientv3.TxnResponse 25 kv clientv3.KV 26 ) 27 28 cfg = clientv3.Config{ 29 Endpoints:

处理一次k8s、calico无法分配podIP的心路历程

偶尔善良 提交于 2021-02-12 09:30:18
又一次偷偷化解了可能发生的重大事故。 不想看过程的可以直接跳到末尾看处理方 案。 一个网络错误 某天,上kplcloud构建一个测试应用,构建完成之后发现新pod一直启动失败,并且抛出了以下错误信息: Failed create pod sandbox: rpc error: code = Unknown desc = NetworkPlugin cni failed to set up pod "xxxxxx-fc4cb949f-gpkm2_xxxxxxx" network: netplugin failed but error parsing its diagnostic message "": unexpected end of JSON input 会k8s的运维同学不在,突然出问题了怎么办? 试着开始解决问题。 一、 有没有可能是镜像拉取失败,开始找问题: 登录集群所有服务器查看空间是否占满(然而并没有占满) 查询集群所有服务器网络情况(也没有问题) 再启一个pod试试?(起不来) 这就尴尬了......,有没有可能是calico的问题? 二、 查看服务器报错信息 尝试以下命令看服务器的报错信息: $ journalctl -exf 确实有一些错误信息: 这个错误太广泛了,继续尝试从其他地方找找问题。 此时已经开始在思考如何跑路的问题了... 要不尝试重启能否解决?

Kubernetes 常见问题总结

拈花ヽ惹草 提交于 2021-02-12 05:32:26
如何删除不一致状态下的 rc,deployment,service 在某些情况下,经常发现 kubectl 进程挂起现象,然后在 get 时候发现删了一半,而另外的删除不了 [root@k8s-master ~]# kubectl get -f fluentd-elasticsearch/ NAME DESIRED CURRENT READY AGE rc/elasticsearch-logging-v1 0 2 2 15h NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE deploy/kibana-logging 0 1 1 1 15h Error from server (NotFound): services "elasticsearch-logging" not found Error from server (NotFound): daemonsets.extensions "fluentd-es-v1.22" not found Error from server (NotFound): services "kibana-logging" not found 删除这些 deployment,service 或者 rc 命令如下: kubectl delete deployment kibana-logging -n kube

Docker

拟墨画扇 提交于 2021-02-12 03:43:57
原文: Docker - 容器部署 Consul 集群 目录 说明 简介 了解 Consul Consul 使用场景 Consul 优势 Consul 中的概念 安装 准备 Consul 镜像 安装单个 Consul 组装集群 Consul 总结 引用和附件 说明 本文主要介绍怎么使用 Docker 在 Linux 环境部署 Consul 集群,如果你对 Docker 不了解的同学,请先学习一下 Docker。推荐一本学习 Docker 在线书籍 : 【Docker入门到实践】 。 本文介绍 Consul 部署已经在准备好 Docker 环境好前提下开始的。 CentOS 7.3 Docker CE 18.09.2 简介 了解 Consul Consul 是一个支持多数据中心分布式高可用的 服务发现 和 配置共享 的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源。 Consul 支持 健康检查 ,并允许 HTTP 、 GRPC 和 DNS 协议调用 API 存储键值对. 命令行超级好用的虚拟机管理软件 vgrant 也是 HashiCorp 公司开发的产品. 一致性协议采用 Raft 算法,用来保证服务的高可用. 使用 GOSSIP 协议管理成员和广播消息, 并且支持 ACL 访问控制.

kubeadm部署k8s

本小妞迷上赌 提交于 2021-02-11 19:31:13
k8s搭建 1.集群环境 hostname IP remark os k8s-master 172.19.100.210 docker、kubectl、kubelet、kubeadm、flannel centos7.* k8s-node1 172.19.100.211 docker、kubectl、kubelet、kubeadm centos7.* k8s-node2 172.19.100.212 docker、kubectl、kubelet、kubeadm centos7.* 2.软件版本 1. k8s=v1.12.3 2. flannel=v0.10.0-amd64 3.环境准备 3.1设置主机名称 hostnamectl set-hostname k8s-master hostnamectl set-hostname k8s-node1 hostnamectl set-hostname k8s-node2 3.2配置主机映射 172.19.100.210 k8s-master 172.19.100.211 k8s-node1 172.19.100.212 k8s-node2 3.3关闭防火墙 systemctl stop firewalld systemctl disable firewalld 3.4关闭selinux setenforce 0 sed -i "s/