首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >尝试使用python客户端获取CRD时的404

尝试使用python客户端获取CRD时的404
EN

Stack Overflow用户
提问于 2020-09-06 22:52:02
回答 1查看 3.7K关注 0票数 2

发生了什么,

我正在尝试使用kubernetes python客户端在kubernetes中创建自定义对象,但我无法这样做,如果有人能解释我在这里做错了什么,那将很有帮助。

代码语言:javascript
运行
AI代码解释
复制
Traceback (most recent call last):
  File "/home/talha/PycharmProjects/doosra/tasks/cluster_tasks.py", line 585, in <module>
    main()
  File "/home/talha/PycharmProjects/doosra/tasks/cluster_tasks.py", line 574, in main
    resource = api.get_namespaced_custom_object(
  File "/home/talha/PycharmProjects/venv/lib/python3.8/site-packages/kubernetes/client/api/custom_objects_api.py", line 1484, in get_namespaced_custom_object
    return self.get_namespaced_custom_object_with_http_info(group, version, namespace, plural, name, **kwargs)  # noqa: E501
  File "/home/talha/PycharmProjects/venv/lib/python3.8/site-packages/kubernetes/client/api/custom_objects_api.py", line 1591, in get_namespaced_custom_object_with_http_info
    return self.api_client.call_api(
  File "/home/talha/PycharmProjects/venv/lib/python3.8/site-packages/kubernetes/client/api_client.py", line 348, in call_api
    return self.__call_api(resource_path, method,
  File "/home/talha/PycharmProjects/venv/lib/python3.8/site-packages/kubernetes/client/api_client.py", line 180, in __call_api
    response_data = self.request(
  File "/home/talha/PycharmProjects/venv/lib/python3.8/site-packages/kubernetes/client/api_client.py", line 373, in request
    return self.rest_client.GET(url,
  File "/home/talha/PycharmProjects/venv/lib/python3.8/site-packages/kubernetes/client/rest.py", line 239, in GET
    return self.request("GET", url,
  File "/home/talha/PycharmProjects/venv/lib/python3.8/site-packages/kubernetes/client/rest.py", line 233, in request
    raise ApiException(http_resp=r)
kubernetes.client.exceptions.ApiException: (404)
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'Cache-Control': 'no-cache, private', 'Content-Type': 'text/plain; charset=utf-8', 'X-Content-Type-Options': 'nosniff', 'Date': 'Mon, 07 Sep 2020 00:41:25 GMT', 'Content-Length': '19'})
HTTP response body: 404 page not found

您期望发生的事情:自定义对象找到

如何复制(尽可能少和精确地)

代码语言:javascript
运行
AI代码解释
复制
    from kubernetes import client
from kubernetes.client import Configuration
from kubernetes.config import kube_config

class K8s(object):
    def __init__(self, configuration_json):
        self.configuration_json = configuration_json
        # self._configuration_json = None

    @property
    def client(self):
        k8_loader = kube_config.KubeConfigLoader(self.configuration_json)
        call_config = type.__call__(Configuration)
        k8_loader.load_and_set(call_config)
        Configuration.set_default(call_config)
        return client

def main():
    cls = {
        "kind": "Config",
        "users": [
            {
                "name": "xyx",
                "user": {
                    "client-key-data": "daksjdkasjdklj==",
                    "client-certificate-data": "skadlkasldk"
                }
            }
        ],
        "clusters": [
            {
                "name": "cluster1",
                "cluster": {
                    "server": "https://cyx.cloud.ibm.com",
                    "certificate-authority-data": "sldklaksdl="
                }
            }
        ],
        "contexts": [
            {
                "name": "cluster1/admin",
                "context": {
                    "user": "admin",
                    "cluster": "cluster1",
                    "namespace": "default"
                }
            }
        ],
        "apiVersion": "v1",
        "preferences": {},
        "current-context": "cluster1/admin"
    }
    
    config_trgt = K8s(configuration_json=cls).client
    api = config_trgt.CustomObjectsApi()
    
    resource = api.get_namespaced_custom_object(
        group="velero.io",
        version="v1",
        namespace="velero",
        plural="backups",
        name="apple"
    )
    print(resource)

if __name__ == "__main__":
    main()

还有什么我们需要知道的吗?:我能够使用所有其他api,包括create_namespaced_custom_object(),我可以使用"kubectl“查看这个自定义对象。

CRD https://gist.githubusercontent.com/talhalatifkhan/c6eba420e327cf5ef8da1087c326e0a1/raw/d030950775b87a60ecfdb4370fbd518169118d26/gistfile1.txt

自定义对象

https://gist.githubusercontent.com/talhalatifkhan/0537695a1f08b235cbe87d83a3f83296/raw/030cf503a33a9162251a61380105c719037b90ad/gistfile1.txt

环境

  • Kubernetes版本(v1.18.6)
  • OS (Linux版本(3.8.2)
  • Python客户端版本(12.0.0a1)

)

EN

回答 1

Stack Overflow用户

发布于 2020-09-07 01:16:00

使用python3.6,它不再返回status.code 404。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63772649

复制
相关文章
如何使用 CRD 拓展 Kubernetes 集群
在 6 月底 KubeCon 回来之后,就打算写几篇关于 CRD 的文章,还在 Twitter 上给人做了些许改进 CRD 相关文档的承诺,零零碎碎的事很多,直到现在才有时间落笔。不过在这一个多月里,我做了一个关于 CRD 的内部分享,两个 CRD Demo,向同事、客户数人解释 CRD 是什么东西,反而让我对这个东西更加的清晰。
CS实验室
2021/03/22
8300
如何使用 CRD 拓展 Kubernetes 集群
Kubebuilder介绍:使用CRD构建Kubernetes API的SDK
我们如何才能让MySQL、Spark和Cassandra这样的应用程序来管理自己,就像Kubernetes Deployments和Pods一样?我们如何配置这些应用程序为自己的第一类API,而不是StatefulSets、Services和ConfigMaps的集合?
CNCF
2019/12/04
1.4K0
Kubebuilder介绍:使用CRD构建Kubernetes API的SDK
使用 Kubebuilder 定义 CRD 输出列
前面我们介绍了使用 kubebuilder 开发 Operator 的示例,kubebuilder 是非常优秀的 Operator 开发框架,他可以帮我们自动生成很多代码,可以使用标准的 Go 对象来定义 CRD,此外我们还可以控制 kubectl 如何打印 CRD。
我是阳明
2020/11/20
2.4K0
使用 Kubebuilder 定义 CRD 输出列
404 页面使用腾讯公益 404
http://doc.codingdict.com/django/topics/http/views.html#customizing-error-views
卓越笔记
2023/02/18
2.6K0
使用code-generator创建crd controller
在 pkg/apis/{GROUP}/{VERSION}/types.go中使用,使用 // +genclient标记对应类型生成的客户端, 如果与该类型相关联的资源不是命名空间范围的(例如PersistentVolume), 则还需要附加 // + genclient:nonNamespaced标记,
有点技术
2020/07/13
3.5K0
python 404_python检测404页面
某些网站为了实现友好的用户交互,提供了一种自定义的错误页面,而不是显示一个大大的404
全栈程序员站长
2022/09/18
1.1K0
(一)python3 只需3小时带你轻松入门—— 编程尝试
什么是函数? 在编程中,函数和通常数学中的函数概念并不完全相同;编程中的函数更接近于一个写好的工具,在开发某些功能时,所需要到该函数,就把该函数拿过来使用。
1_bit
2020/10/23
3190
(一)python3 只需3小时带你轻松入门—— 编程尝试
客户端IP获取
从标准格式可以看出,X-Forwarded-For头信息可以有多个,中间用逗号分隔,第一项为真实的客户端ip,剩下的就是曾经经过的代理或负载均衡的ip地址,经过几个就会出现几个。
码客说
2021/02/25
4.6K0
python sdk flask框架实现web访问时favicon.ico 404 这样解决
Django、Flask、Bottle都是Python Web框架,Django比较大众化、Flask比较轻量、Bottle比Flask还轻量。
Windows技术交流
2020/03/26
3.7K0
python sdk bottle框架实现web访问时favicon.ico 404这样解决
大致套路请先阅读python sdk flask框架实现web访问时favicon.ico 404 not found
Windows技术交流
2020/03/26
1K1
2022 年值得尝试的 7 个 MQTT 客户端工具
随着物联网行业的飞速发展,MQTT 协议也被越来越多的公司及开发者所使用。在学习和使用 MQTT 的过程中,一个得心应手的客户端工具可以极大的方便开发者进行 MQTT 特性的探索及物联网应用的调试,缩短开发周期。
EMQ映云科技
2022/08/02
3.9K0
Nginx在使用火山引擎或者其他 CDN时无法获取客户端真实ip解决方法
在前久发现,uptime经常监控到网站504,在防火墙查看日志才知道,它把我CDN全拦截了,但是我明明设置了获取真实IP,还是把我CDN拦截了,中途我换了CDN,发现同样配置有些CDN是真实IP,有些没有。比如火山引擎,华为云等等就不会获取真实IP。
深白鸭
2023/03/13
2.1K4
Nginx在使用火山引擎或者其他 CDN时无法获取客户端真实ip解决方法
tp6中model的crd
create: <?php namespace app\index\controller; use app\BaseController; use think\facade\Db; use app\
贵哥的编程之路
2022/05/18
2890
tp6中model的crd
CRD的未来:结构模式
CustomResourceDefinitions大约在两年前引入,作为使用定制资源扩展Kubernetes API的主要方法。从一开始,他们就存储任意的JSON数据,除了kind、apiVersion和metadata是例外,必须遵循Kubernetes API约定。在Kubernetes 1.8 CRD中,可以定义一个可选的基于OpenAPI v3的验证模式。
CNCF
2019/12/04
1.4K0
访问kubernetes CRD的几种方式
最近在使用代码操作VictoriaMetrics Operator的CRD资源的过程中,探究了几种访问CRD资源的方式。下面以VictoriaMetrics Operator的CRD为例介绍。
charlieroro
2021/11/11
9230
[PHP] socket客户端时的超时问题
$sock=stream_socket_client("www.google.com:80", $errno,$errstr,2); 那个数字是连接超时 ,比如连接google , 2秒就返回错误 , 这样就不会一直等在那了
唯一Chat
2019/12/19
2.1K0
使用Python获取Mysql数据
使用Python获取Mysql数据 #!/usr/bin/python -- coding: UTF-8 -- pip install MySQL-python import MySQLdb, os try: conn = MySQLdb.connect(host='172.17.42.1', user='数据库访问用户', passwd='数据库访问密码', db='数据库名', port=3306) cur = conn.cursor() cur.execute('SELECT `id`, `
大师级码师
2021/09/22
2.3K0
尝试使用Memcached遇到的狗血问题
乘着有时间,尝试下利用Memcached进行分布式缓存,其中遇到了不少问题及狗血的事情,开篇记录下,希望对您有帮助。 我之前的项目为:Asp.Net MVC4 + Nhibernate + MSSQL,利用简单分层,在用缓存时写了个缓存接口(还好当时写了),所以在此基础上,我的改动其实很简单,实现这个接口,再切换到Memcached就可以了。 搭建Memcached服务器 搭建服务器很简单,我用虚拟机虚拟了Ubuntu Server,为何使用Server版本呢?搭建起来比较快,而且启动也快,使用该用的功能就
脑洞的蜂蜜
2018/02/01
1K0
尝试使用Memcached遇到的狗血问题
python:使用xpath获取想要的数据
页面返回的element是非常多的东西,有很多并不是我们所需要的,所以需要对数据进行筛选。
句小芒
2022/12/29
1.8K0
python:使用xpath获取想要的数据
如何构建 Kubernetes CRD Controller
前一篇文章(《如何使用 CRD 拓展 Kubernetes 集群》)通过一个 Demo 讲解 CRD 是什么,以及可以提供什么能力,本文继续基于这个 Demo(https://github.com/Coderhypo/KubeService ),来讲解一下如何构建一个 CRD Controller。
CS实验室
2021/03/22
2K0
如何构建 Kubernetes CRD Controller

相似问题

在尝试使用terrafom部署crd时出错

110

无法使用kubernetes python客户端创建CRD

16

Kubernetes python获取CRD实例

39

尝试访问url python/django时获取404

11

尝试获取时WCF REST 404

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文