client-go实战之一:准备工作

  1. client-go实战之一:准备工作

  2. client-go实战之二:RESTClient

  3. client-go实战之三:Clientset

  4. client-go实战之四:dynamicClient

  5. client-go实战之五:DiscoveryClient

关于client-go

  • client-go是kubernetes官方提供的go语言的客户端库,go应用使用该库可以访问kubernetes的API Server,这样我们就能通过编程来对kubernetes资源进行增删改查操作;

  • 除了提供丰富的API用于操作kubernetes资源,client-go还为controller和operator提供了重要支持,如下图,client-go的informer机制可以将controller关注的资源变化及时带给此controller,使controller能够及时响应变化:

在这里插入图片描述

  • GitHub仓库:https://github.com/kubernetes/client-go

关于《client-go实战》系列

《client-go实战》系列是欣宸推出的实战主题原创,旨在与大家一起动手体验client-go的相关技术,从简单的实践开始,逐步深入了解client-go的强大功能,为后续的operator学习打下扎实的基础;

重要前提

  • 开始client-go实战之前要对以下知识点有所了解:
  1. kubernetes基本原理和操作;

  2. kubernetes的Group、Version、Resource等概念,推荐阅读《Kubernetes的Group、Version、Resource学习小记》

本篇概览

作为整个系列的开篇,除了对client-go做介绍,还要为后面的实战做好如下准备工作:

  1. 列出要用到的硬件;

  2. 列出要用到的软件及其版本;

  3. 同步kubernetes配置文件,使得开发环境可以远程访问kubernetes;

环境信息

  • 如下图所示,本次实战一共用到两台电脑:

在这里插入图片描述

  1. Linux电脑:操作系统是CentOS 7.9,已安装1.20.0版本的kubernetes

  2. MacBook Pro:操作系统是macOS Big Sur(11.1),编码工作在此电脑上进行

  3. MacBook Pro上安装的go版本为1.15.7

  4. 您可以按照个人习惯选择IDE,我这里用的是GoLand-2020.2版本

确定要用的client-go版本

client-go官方提供了多个版本,并且给出了和kubernetes版本的匹配列表,如下所示:

| | Kubernetes 1.15 | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 |

| — | — | — | — | — | — | — |

| kubernetes-1.15.0 | ✓ | ± | ± | ± | ± | ± |

| kubernetes-1.16.0 | ± | ✓ | ± | ± | ± | ± |

| kubernetes-1.17.0/v0.17.0 | ± | ± | ✓ | ± | ± | ± |

| kubernetes-1.18.0/v0.18.0 | ± | ± | ± | ✓ | ± | ± |

| kubernetes-1.19.0/v0.19.0 | ± | ± | ± | ± | ✓ | ± |

| kubernetes-1.20.0/v0.20.0 | ± | ± | ± | ± | ± | ✓ |

| HEAD | ± | ± | ± | ± | ± | ± |

这里解释一下表格中的+- 的含义:

  • 表示精确匹配,如下图红框,表示v0.20.0版本可以精确匹配1.20.0版本的kubernetes:

在这里插入图片描述

  • + 表示有的新特性是client-go支持的,但是此kubernetes版本却不支持;

  • - 表示有的新特性是kubernetes支持的,但是此client-go版本却不支持;

  • 我这里kubernetes版本为1.20.0,因此选用client-go的0.20.0版本最合适;
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)

Ending

Tip:由于文章篇幅有限制,下面还有20个关于MySQL的问题,我都复盘整理成一份pdf文档了,后面的内容我就把剩下的问题的目录展示给大家看一下

如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)

吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 23
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"pk-client-error-quark:e:failed to fetch"是一个错误消息,通常出现在使用包管理器(如apt、yum或dnf)时。这个错误消息表明系统无法从软件源中获取所需的软件包或更新。 造成这个错误的原因可能有很多,包括: 1. 无法连接到远程软件源:网络连接可能存在问题,或者软件源服务器可能无法访问。这可能是由于网络问题、服务器故障或软件源配置错误等原因造成的。 2. 软件源配置错误:软件源列表中的某些源的URL可能不正确,或者软件源可能已被删除或更改。 解决这个问题的方法可能因具体情况而异,但以下是一些常见的解决方法: 1. 检查网络连接:确保你的网络连接正常工作,并且可以访问互联网。尝试使用浏览器访问一些常见的网站,以确保网络连接正常。 2. 检查软件源配置:查看软件源列表文件(如/etc/apt/sources.list或/etc/yum.repos.d/)中的URL,确保没有拼写错误或错误的URL。如果需要,可以手动更改软件源配置文件来使用正常可用的软件源。 3. 更换软件源:如果软件源无法访问或出现其他问题,可以尝试切换到其他正常工作的软件源。根据不同的包管理器,可以找到并选择其他可用的软件源,并更新软件包列表。 综上所述,"pk-client-error-quark:e:failed to fetch"错误是由于系统无法从软件源中获取所需的软件包或更新所致,可能由网络连接问题或软件源配置错误引起。通过检查网络连接、修改软件源配置或更换软件源等方法,可以尝试解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值