k8s--etcd 租约

简介: k8s--etcd 租约

介绍


授予租约可以为 etcd 集群里面的键授予租约。当键被附加到租约时,它的存活时间被绑定到租约的存活时间,而租约的存活时间相应的被 time-to-live (TTL)管理。在租约授予时每个租约的最小TTL值由应用指定。租约的实际 TTL 值是不低于最小 TTL,由 etcd 集群选择。一旦租约的 TTL 到期,租约就过期并且所有附带的键都将被删除


授予租约


应用客户端可以为 etcd 集群里面的键授予租约。当键被附加到租约时,它的存活时间被绑定到租约的存活时间,而租约的存活时间相应的被 TTL 管理。在授予租约时,每个租约的最小 TTL 值由应用客户端指定。

一旦租约的 TTL 到期,租约就会过期并且所有附带的键都将被删除

# 创建一个租约,时间为 100s
sh-5.0# etcdctl lease grant 100
lease 525b80fbbf3b906e granted with TTL(100s)

将 key 绑定到租约上

# 将创建的租约绑定到键 key1 上
sh-5.0# etcdctl put key1 "hello" --lease=525b80fbbf3b906e
OK
# 查询键,在租约有效期内,可以获取到键值,租约到期后键值对被删除
sh-5.0# etcdctl get key1
key1
hello
# 租约到期后键值对被删除
etcdctl get key1  #  没有任何输出


撤销租约


应用通过租约 ID 可以撤销租约。撤销租约将删除所有附带的 key

# 创建租约
sh-5.0# etcdctl lease grant 1000
lease 525b80fbbf3b98cb granted with TTL(1000s)
# 绑定 key 到租约上
sh-5.0# etcdctl put key2 "hello" --lease=525b80fbbf3b98cb
OK
# 查询 key
sh-5.0# etcdctl get key2
key2
hello
# 撤销租约
sh-5.0# etcdctl lease revoke 525b80fbbf3b98cb
lease 525b80fbbf3b98cb revoked
# 撤销后在查询,没有任何输出
sh-5.0# etcdctl get key2


刷新租约


应用程序可以通过刷新其 TTL 保持租约存活,确保其不会过期

# 创建租约
sh-5.0# etcdctl lease grant 20
lease 525b80fbbf3b9dc2 granted with TTL(20s)
sh-5.0# etcdctl put key3 "nihao" --lease=525b80fbbf3b9dc2
OK
# 刷新租约
sh-5.0# etcdctl lease keep-alive  525b80fbbf3b9dc2
lease 525b80fbbf3b9dc2 keepalived with TTL(20)
lease 525b80fbbf3b9dc2 keepalived with TTL(20)
lease 525b80fbbf3b9dc2 keepalived with TTL(20)
lease 525b80fbbf3b9dc2 keepalived with TTL(20)


查询租约


客户端可以查询租赁信息,检查续订或租赁的状态,是否存在或者是否已过期。应用客户端还可以查询特定租约绑定的 key

# 创建租约
sh-5.0# etcdctl lease grant 300
lease 525b80fbbf3ba39b granted with TTL(300s)
# 给 key 绑定租约
sh-5.0# etcdctl put key5 "hehe" --lease=525b80fbbf3ba39b
OK
# 给 key 绑定租约
sh-5.0# etcdctl put key6 "hihi" --lease=525b80fbbf3ba39b
OK
# 查询租约,租约一共 300s,还剩 281s
sh-5.0# etcdctl lease timetolive 525b80fbbf3ba39b
lease 525b80fbbf3ba39b granted with TTL(300s), remaining(281s)
sh-5.0#  etcdctl lease timetolive 525b80fbbf3ba39b --keys
# 查询租约和对应的 key,租约一共 300s,还剩 274s,绑定了 key5 和 key6
lease 525b80fbbf3ba39b granted with TTL(300s), remaining(274s), attached keys([key5 key6])

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
PHP Windows 编解码
windows命令行方式下打印和设置PATH变量
点击开始菜单,运行=》cmd打印当前变量:echo %PATH%结果:C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;d:\PROGRA~1\ssh;D:\Program Files\tortoisesvn\bin;D:\Program...
2660 0
|
机器学习/深度学习 人工智能 TensorFlow
使用Python和TensorFlow实现图像识别
【8月更文挑战第31天】本文将引导你了解如何使用Python和TensorFlow库来实现图像识别。我们将从基本的Python编程开始,逐步深入到TensorFlow的高级功能,最后通过一个简单的代码示例来展示如何训练一个模型来识别图像。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息。
336 53
|
11月前
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。
|
12月前
|
开发者 Python
Python 中的 Input 函数及其实现机制
Python 中的 Input 函数及其实现机制
421 0
|
关系型数据库 Serverless 分布式数据库
阿里云 Serverless 高可用架构
阿里云的《卓越效能,极简运维,Serverless高可用架构》解决方案提供了全托管服务、自动扩展、高可用性、无缝集成以及内置安全等核心功能。该方案通过免除底层基础设施的管理,允许用户专注于应用程序开发,同时确保应用的稳定运行和资源的有效利用。 **核心功能简介**: - **全托管服务**:用户无需关心底层硬件,由阿里云负责维护和扩展计算资源。 - **自动扩展**:根据业务需求自动调整资源,确保应用在高峰期有足够的计算能力,低谷期则节省成本。 - **高可用性**:多地域和多可用区部署,实现故障自动切换,确保业务连续性。 - **无缝集成**:与阿里云的其他服务(如数据库、消息队列等)深度
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
181 3
|
前端开发 应用服务中间件 nginx
nginx前后端分离、多前端部署配置文件
nginx前后端分离、多前端部署配置文件
213 2
|
前端开发 Java 应用服务中间件
前后端分离部署 Nginx如何配置
前后端分离部署 Nginx如何配置
252 1
|
算法 Java
游戏匹配系统的奥秘,Java代码揭秘
游戏匹配系统的奥秘,Java代码揭秘
369 1
|
存储 缓存 Linux
探索文件系统:高效、可靠的文件管理与访问机制
本篇文章探索了文件系统的功能规划,着重讨论了文件存储、索引节点和目录项的管理、缓存策略以及文件数据的存储等方面。文件系统作为计算机系统中重要的组成部分,对于实现高效、可靠的文件管理与访问机制至关重要。通过深入了解文件系统的基本单位、元信息记录和目录结构,我们可以更好地理解文件系统的工作原理,本文旨在为读者提供对文件系统功能规划的全面认识,以帮助他们更好地理解和应用文件系统相关的技术。
435 0