首页 > 其他分享 >k8s--etcd 租约

k8s--etcd 租约

时间:2023-03-25 21:01:36浏览次数:33  
标签:5.0 -- etcdctl sh etcd TTL 租约 k8s lease

介绍

授予租约可以为 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])

 



标签:5.0,--,etcdctl,sh,etcd,TTL,租约,k8s,lease
From: https://blog.51cto.com/busy/6149632

相关文章

  • Handler消息传递机制浅析
    本节给大家讲解的是Activity中UI组件中的信息传递Handler,相信很多朋友都知道,Android为了线程安全,并不允许我们在UI线程外操作UI;很多时候我们做界面刷新都需要通过Handler来......
  • 软考中级十大管理过程(三)
    成本管理质量管理......
  • Selenium概要
    1.Selenium1.什么是selenium?(1)Selenium是一个用于Web应用程序测试的工具。(2)Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。(3)支持通过各种driver(FirfoxDrive......
  • windows系统下golang安装教程
    go下载软件地址:https://studygolang.com/dl/golang/go1.19.5.windows-amd64.msiwindow安装软件,点下一步下一步安装即可记得有一步是将go加入系统环境变量,需要点击一下。......
  • [tensorflow]plot_model
    [ImportError:Failedtoimportpydot.Youmustinstallpydotandgraphvizforpydotprinttowork]python使用tensorflow库时报错importtensorflowtensorflow.ker......
  • Spring AOP有哪些通知类型,它们的执行顺序是怎样的?
    通知类型在基于SpringAOP编程的过程中,基于AspectJ框架标准,spring中定义了五种类型的通知,它们分别是:前置通知(@Before)。返回通知(@AfterReturning)。异常通......
  • windows系统下goland编辑器安装教程
    goland编辑器下载:https://download.jetbrains.com.cn/go/goland-2022.3.3.exe点击download下载即可,可以免费试用30天下载后,window安装软件,点下一步下一步安装即可 gol......
  • python 使用 kafka
    python使用kafka说明:关于kafka的启动与安装,命令行的使用,此处不做过多的解释,本篇文章主要描述kafka在python中的使用;1.python使用kafka生产者**说明:**python......
  • 爱收藏网站关闭
    今天,爱收藏网站:爱收藏将关闭。   爱收藏,从上线到关闭,刚好三年时间。三年前疫情刚刚爆发时期,封闭在家,工作之余写了这个网站,旨在用于收集平时遇到的好的网站,也为了作......
  • v-model 的使用
    1.v-model的基本使用1.1v-model是一个语法糖<template><input:value="text"@input="event=>text=event.target.value"/><inputv-model="text"/><!--......