0
点赞
收藏
分享

微信扫一扫

2022-04-02 关于获取k8s的etcd的crd策略的反思

金刚豆 2022-11-16 阅读 16


目录

​​摘要:​​

​​获取k8s的etcd的crd的方式:​​

​​一. 部署在和etcd相同的node上,通过hostpath拿到​​

​​二. 从pod内通过client-go从etcd的pod内将crd复制到本pod​​

​​方案抉择:​​

​​执行过程:​​

​​反思:​​

​​一. 由于对底层的api不了解,浪费了大量时间​​

​​二. 需要对底层具体的某些接口和模块做刻意练习​​

摘要:

记录关于获取k8s的etcd的crd策略的反思

获取k8s的etcd的crd的方式:

一. 部署在和etcd相同的node上,通过hostpath拿到

二. 从pod内通过client-go从etcd的pod内将crd复制到本pod

方案抉择:

执行过程:

  1. 首先从直觉上觉得从pod里把etcd的crd复制出来是应该选择的
  2. 在做的时候, 发现遇到了重重阻力,主要是无法利用client-go复制出pod内的文件
  3. 搜了一堆资料, 找到了client-go-helper, 提供了该方法
  4. 但是在编译client-go-helper的时候, 发现使用的k8s的github地址已经不复存在
  5. 然后放弃了该做法, 浪费了一下午时间
  6. 回过头使用直接部署在etcd的node上的做法

反思:

一. 由于对底层的api不了解,浪费了大量时间

  1. k8s的api
  2. client-go的接口
  3. 在具体使用的时候, 才去学习, 浪费了大量时间

二. 需要对底层具体的某些接口和模块做刻意练习

ng client libraries are officially maintained by ​​Kubernetes SIG API Machinery​​.

Language

Client Library

Sample Programs

dotnet

​​github.com/kubernetes-client/csharp​​

​​browse​​

Go

​​github.com/kubernetes/client-go/​​

​​browse​​

Haskell

​​github.com/kubernetes-client/haskell​​

​​browse​​

Java

​​github.com/kubernetes-client/java​​

​​browse​​

JavaScript

​​github.com/kubernetes-client/javascript​​


​​browse​​

Python

​​github.com/kubernetes-client/python/​​

​​browse​​

The following Kubernetes API client libraries are provided and maintained by their authors, not the Kubernetes team.

Language

Client Library

Clojure

​​github.com/yanatan16/clj-kubernetes-api​​

DotNet

​​github.com/tonnyeremin/kubernetes_gen​​

DotNet (RestSharp)

​​github.com/masroorhasan/Kubernetes.DotNet​​

Elixir

​​github.com/obmarg/kazan​​

Elixir

​​github.com/coryodaniel/k8s​​

Go

​​github.com/ericchiang/k8s​​

Java (OSGi)

​​bitbucket.org/amdatulabs/amdatu-kubernetes​​

Java (Fabric8, OSGi)

​​github.com/fabric8io/kubernetes-client​​

Java

​​github.com/manusa/yakc​​

Lisp

​​github.com/brendandburns/cl-k8s​​

Lisp

​​github.com/xh4/cube​​

Node.js (TypeScript)

​​github.com/Goyoo/node-k8s-client​​

Node.js

​​github.com/ajpauwels/easy-k8s​​

Node.js

​​github.com/godaddy/kubernetes-client​​

Node.js

​​github.com/tenxcloud/node-kubernetes-client​​

Perl

​​metacpan.org/pod/Net::Kubernetes​​

PHP

​​github.com/allansun/kubernetes-php-client​​

PHP

​​github.com/maclof/kubernetes-client​​

PHP

​​github.com/travisghansen/kubernetes-client-php​​

PHP

​​github.com/renoki-co/php-k8s​​

Python

​​github.com/fiaas/k8s​​

Python

​​github.com/gtsystem/lightkube​​

Python

​​github.com/mnubo/kubernetes-py​​

Python

​​github.com/tomplus/kubernetes_asyncio​​

Python

​​github.com/Frankkkkk/pykorm​​

Ruby

​​github.com/abonas/kubeclient​​

Ruby

​​github.com/k8s-ruby/k8s-ruby​​

Ruby

​​github.com/kontena/k8s-client​​

Rust

​​github.com/clux/kube-rs​​

Rust

​​github.com/ynqa/kubernetes-rust​​

Scala

​​github.com/hagay3/skuber​​

Scala

​​github.com/joan38/kubernetes-client​​

Swift

​​github.com/swiftkube/client​​

举报

相关推荐

0 条评论