首页 > 其他分享 >curl命令更新k8s cr status

curl命令更新k8s cr status

时间:2024-09-07 15:39:07浏览次数:11  
标签:status kubectl crName json cr curl

因为status是cr的subresource,所以不支持使用kubectl直接更新cr status,一般由controller来更新status。
在KubeBuilder框架中,使用xxx.Status().Update(xxx)方式来更新status。

创建crd和cr

cat <<EOF | kubectl create -f -
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: fruits.crd.io
spec:
  group: crd.io
  versions:
    - name: v1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              properties:
                location:
                  type: string
            status:
              type: object
              properties:
                enable:
                  type: boolean
  scope: Cluster
  names:
    plural: fruits
    singular: fruit
kind: Fruit
EOF

cat <<EOF | kubectl create -f -
apiVersion: crd.io/v1
kind: Fruit
metadata:
  name: apple
spec:
  location: "beijing"
EOF

修改cluster粒度cr status

kubectl proxy &
crName=apple
crResourceVersion=`kubectl get fruit $crName -o jsonpath='{.metadata.resourceVersion}'`
json="{\"apiVersion\": \"crd.io/v1\", \"kind\": \"Fruit\", \"metadata\": {\"name\": \"$crName\", \"resourceVersion\": \"$crResourceVersion\"}, \"status\": {\"enable\": true}}"
curl -H "Content-Type: application/json" -X PUT -d "$json" http://127.0.0.1:8001/apis/crd.io/v1/fruits/$crName
kill `ps -ef | grep 'kubectl proxy' | grep -v grep | awk '{print $2}'`

 

标签:status,kubectl,crName,json,cr,curl
From: https://www.cnblogs.com/WJQ2017/p/18401724

相关文章

  • AWTK fscript 中的 数学函数
    fscript是AWTK内置的脚本引擎,开发者可以在UIXML文件中直接嵌入fscript脚本,提高开发效率。本文介绍一下fscript中的**数学函数**1.d2r将角度转换成弧度,传入参数单位是角度。原型d2r(a)=>double示例print(d2r(7));2.r2d将弧度转换成角度,传入参数单位是弧度。原型r2d(a......
  • AWTK fscript 中的位操作扩展函数
    fscript是AWTK内置的脚本引擎,开发者可以在UIXML文件中直接嵌入fscript脚本,提高开发效率。本文介绍一下fscript中的位操作扩展函数位操作扩展函数1.&位与运算。原型n1&n2示例print(1&1)2.|位或运算。原型n1|n2示例print(|(1,2))3.~按位取反运算。原型~(n1)示例p......
  • 【教程】在 Termux 中部署 MYScrcpy, 实现手机局域网WEB投屏控制
    在Termux中部署MYScrcpy实现局域网Web访问有关MYScrcpy,访问GithubGitee1.安装termux2.安装python环境#换源termux-change-repopkgupgrade#installpythonpkginstallpython#确认是否安装成功python-V3.安装MYScrcpy所需环境#基础环......
  • 提升前端性能的JavaScript
    1.代码优化:精简与压缩核心观点:减少文件大小,加快加载速度。深入分析:JavaScript文件的大小是影响页面加载时间的关键因素之一。通过去除代码中的注释、空格、换行符等不必要的字符,以及利用工具如UglifyJS、Terser等进行代码压缩,可以大幅度减少文件体积,进而提升加载速度。案例展示:假设......
  • python PaddleOCR库用法及知识点详解
    识别图片的设置https://blog.csdn.net/f2315895270/article/details/128147744?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-128147744-blog-89082526.pc_relevant_default&spm=1001.2101.3001.4242.1&utm_relevant_in......
  • 基于nodejs+vue电信CRM系统的设计与实现[程序+论文+开题] 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和电信市场的日益竞争激烈,电信企业面临着前所未有的挑战与机遇。客户关系管理(CRM)作为提升企业核心竞争力的关键手段,其重要性愈发凸显......
  • go 使用grpc和grpcurl
    安装依赖和工具#ubuntu安装protobufaptinstalllibprotobuf-devprotobuf-compilerprotoc-gen-goprotoc-gen-go-grpc-y#查看protobuf版本protoc--version#安装grpcurlwgethttps://github.com/fullstorydev/grpcurl/releases/download/v1.8.7/grpcurl_1.8.7_linux_......
  • 记一次.net使用httpclient中代码中使用response.EnsureSuccessStatusCode()引发的误会
    1.问题背景有一个拉取第三方数据存储到本地的需求,使用.net开发,使用httpClient发送post请求。第三方接口里面会校验我们发送的json数据,如果我们的数据格式不正确会抛出异常。2.返回的结果不同?第一步,我用postman做了测试,对方的接口可以调用,正确和错误都可以返回。第二步,我使用代......
  • 详解JavaScript
    目录 JavaScript引入样式 基础语法变量数据类型 运算符JavaScript对象数组数组定义数组操作函数语法格式关于参数个数函数表达式对象JQuery语法 选择器事件常见的事件操作元素获取/设置元素内容 获取/设置元素属性获取/设置CSS属性添加元素删......
  • Javascript应用(下拉框) 笔记17
    一个基础Html框架:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</t......