关键词:
【中文标题】在 pod 生命周期 poststart 挂钩中使用 curl 命令【英文标题】:using curl command in pod lifecycle poststart hooks 【发布时间】:2021-10-27 00:52:19 【问题描述】:我正在尝试使用 curl 为我的 pod 添加一个 poststart 挂钩,比如向我的 slack 频道发送一条消息 在 shell 中,命令如下所示
curl -d "text=Hi I am a bot that can post messages to any public channel." -d "channel=C1234567" -H "Authorization: Bearer xoxb-xxxxxxxxxxxxxxxx" -X POST https://slack.com/api/chat.postMessage
在我的 pod 定义中,我尝试过这样的事情
apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: curlimages/curl
env:
- name: TOKEN
valueFrom:
configMapKeyRef:
name: my-config
key: token
command: ["sleep"]
args: ["3000"]
lifecycle:
postStart:
exec:
command:
- "sh"
- "-c"
- |
curl -d "text=Hi going to start." -d "channel=C1234567" -H "Authorization: Bearer $(TOKEN)" -X POST https://slack.com/api/chat.postMessage
与 container->command 不同,它有 args
参数,我可以用引号传递多行命令,但在生命周期->poststart->exec->command 中它不支持 args 参数
我也尝试过,但没有运气
command: ["curl","-d","text=Hi going to start.",....]
但我从来没有收到我的松弛消息
我的问题是,如何在生命周期->poststart->exec->command 中传递带有引号的长 curl 命令?
【问题讨论】:
你已经说了它没有做什么,但你还没有说它在做什么——它执行@987654325 @(或curl
)但是payload有问题?或者它不执行它们?还是无法解析 DNS 条目? TLS 配置错误?它会重新启动您的计算机?会发生什么?
谢谢,我已经通过 $TOKEN 解决了这个问题
【参考方案1】:
它终于通过将 () 替换为 来解决 要在命令中使用环境变量,它应该是 $TOKEN
【讨论】:
精品必知pod生命周期(代码片段)
...得到满足。运行主容器(maincontainer)容器启动后钩子(poststart)、容器终止前钩子(prestop)容器的存活性探测(livenessprobe)、就绪性探测(readinessprobe)pod终止过程(通过管理进程提交删除请求并完成操作)五种状态:挂起(P... 查看详情
pod进阶(代码片段)
...initcontainer:初始化容器,可以有多个maincontainer:主容器poststart:在初始化容器执行完后,主容器启动前的操作prestop:结束前的清理操作livenessprobe:在主容器运行是进行存活性检测redinessprobe:就绪状态检测1、Pod的生命周期状态... 查看详情
Kubernetes postStart 生命周期钩子块 CNI
】KubernetespostStart生命周期钩子块CNI【英文标题】:KubernetespostStartlifecyclehookblocksCNI【发布时间】:2019-08-1308:46:53【问题描述】:我的工作负载需要网络连接才能正常启动,我想使用postStartlifecyclehook等待它准备好然后执行某些操... 查看详情
kubernetes容器的优雅启动和终止(代码片段)
...你可以使用两个容器生命周期事件轻松完成此操作:PostStart:这个事件在容器创建后立即执行。事件处理程序不能接受任何参数。然而,postStart处理函数的调用不保证早于容器的入口点(entrypoint)的执行。post... 查看详情
kubernetes容器的优雅启动和终止(代码片段)
...你可以使用两个容器生命周期事件轻松完成此操作:PostStart:这个事件在容器创建后立即执行。事件处理程序不能接受任何参数。然而,postStart处理函数的调用不保证早于容器的入口点(entrypoint)的执行。post... 查看详情
容器的 postStart 挂钩中的多个命令
】容器的postStart挂钩中的多个命令【英文标题】:multiplecommandinpostStarthookofacontainer【发布时间】:2017-01-1902:18:37【问题描述】:在kubernetes部署yaml文件中,是否有一种简单的方法可以在容器的postStart挂钩中运行多个命令?我正在... 查看详情
为啥 Lambda 需要权限才能完成生命周期挂钩?
】为啥Lambda需要权限才能完成生命周期挂钩?【英文标题】:WhydoesLambdaneedpermissionstocompletelifecyclehooks?为什么Lambda需要权限才能完成生命周期挂钩?【发布时间】:2021-07-0302:22:42【问题描述】:来自AWStutorialpage关于配置生命周期... 查看详情
Elastic Beanstalk 自动缩放组生命周期挂钩
】ElasticBeanstalk自动缩放组生命周期挂钩【英文标题】:ElasticBeanstalkAutoscalingGroupLifecycleHooks【发布时间】:2019-12-0222:57:00【问题描述】:我想将生命周期挂钩添加到我的ElasticBeanstalk的自动缩放组。我了解如何通过cloudformation将生... 查看详情
如何以角度创建“ngOnActive”生命周期挂钩?
】如何以角度创建“ngOnActive”生命周期挂钩?【英文标题】:howtocreate"ngOnActive"lifecyclehookinangular?【发布时间】:2019-01-1216:02:13【问题描述】:我希望当我的组件在主页上处于活动状态时调用生命周期挂钩。它的登录页面... 查看详情
如何在最新版本中配置 Detox 生命周期挂钩?
】如何在最新版本中配置Detox生命周期挂钩?【英文标题】:HowtoconfigureDetoxlifecyclehooksinthelatestversion?【发布时间】:2021-03-1512:08:29【问题描述】:我在17.13.2版本中运行detox,jest-circus作为测试运行器。我的主要问题是应用程序在... 查看详情
模板未获取计算属性的内容,但在生命周期挂钩中记录正常
】模板未获取计算属性的内容,但在生命周期挂钩中记录正常【英文标题】:ContentofComputedpropertynotpickedupbythetemplate,butisloggedokinlifecyclehook【发布时间】:2021-09-1903:53:56【问题描述】:我正在创建一个网上商店,您可以选择在不影... 查看详情
自动挂钩到 Activity 生命周期方法的异步任务库
】自动挂钩到Activity生命周期方法的异步任务库【英文标题】:AsynctasklibrarythatautomaticallyhooksintoActivitylifecyclemethods【发布时间】:2016-12-0719:47:24【问题描述】:我正在寻找一个库,它可以简化执行异步操作(网络请求、大量数据... 查看详情
k8s五pod生命周期(代码片段)
目录前言Pod生命周期Pod相位状态值挂起(Pending)运行中(Running)成功(Succeeded)失败(Failed)未知(Unknown)InitContainersInitContianers的作用InitContianers实验特殊说明总结写在后面前言前面我们... 查看详情
如何在asp.netwebapi中的请求的整个生命周期中使类对象可用?(代码片段)
这是我的代码。我已经写了登录来验证令牌,用于有效的令牌返回用户对象。但无法找到让控制器可用的方法。我不想使用Identity。publicclassCustomAuthorize:AuthorizeAttributeprivateconststringAUTH_TOKEN="AuthToken";publicoverrideTaskOnAuthorizationAsync(Ht... 查看详情
pod生命周期与重启策略(代码片段)
文章目录Pod生命周期Pod的创建过程pod的终止过程初始化容器钩子函数重启策略Pod生命周期Pod的创建过程1、用户通过kubectl或其他api客户端提交需要创建的pod信息给apiServer。2、apiServer开始生成pod对象的信息,并将信息存入etcd... 查看详情
pod生命周期与重启策略(代码片段)
文章目录Pod生命周期Pod的创建过程pod的终止过程初始化容器钩子函数重启策略Pod生命周期Pod的创建过程1、用户通过kubectl或其他api客户端提交需要创建的pod信息给apiServer。2、apiServer开始生成pod对象的信息,并将信息存入etcd... 查看详情
单击元素按钮时是不是会调用 Angular 8 中的生命周期挂钩
】单击元素按钮时是不是会调用Angular8中的生命周期挂钩【英文标题】:IsthereaLifecyclehookinangular8thatiscalledwhenanelementsbuttonisclicked单击元素按钮时是否会调用Angular8中的生命周期挂钩【发布时间】:2020-04-2619:38:13【问题描述】:我... 查看详情
如何在 Jest 单元测试中模拟在 `created` Vue 生命周期挂钩中调用的方法,而不使用`shallowMount` 中已弃用的`methods` 参数? [复制]
】如何在Jest单元测试中模拟在`created`Vue生命周期挂钩中调用的方法,而不使用`shallowMount`中已弃用的`methods`参数?[复制]【英文标题】:Howtomockmethodcalledin`created`VuelifecyclehookinJestunittestwithoutusingdeprecated`methods`paramin`shallowMount`?[dupli... 查看详情