当前位置: 首页 > news >正文

南山区做网站公司公司做网站需要哪些手续

南山区做网站公司,公司做网站需要哪些手续,重庆制作小程序公司,宣传片报价单明细好久没写博客啦,年前写一个博客就算混过去啦😂 写一个小功能,对于 Pod,在没有 label 的情况下,支持 --field-selector spec.hostNetwork 查询 Pod 是否为 hostNetwork 类型,只为了熟悉 APIServer 是如何构…

好久没写博客啦,年前写一个博客就算混过去啦😂

写一个小功能,对于 Pod,在没有 label 的情况下,支持 --field-selector spec.hostNetwork 查询 Pod 是否为 hostNetwork 类型,只为了熟悉 APIServer 是如何构建索引向 Etcd 查询过程。

Kubernetes 版本1.17.4的,需要重新编译 APIServer。不要怪太老了😅,高版本代码这块儿没怎么变过,下载代码:

git clone https://github.com/kubernetes/kubernetes.git
cd kubernetes
git branch v1.17.4 v1.17.4 && git checkout v1.17.4

一、修改代码:

1. 修改 pkg/registry/core/pod/strategy.go:PodToSelectableFields

此处修改相当于是让 APIServer 建立了索引,可以查询到 etcd 中的资源

2. 修改 staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_handler.go: 

addConversionFuncs

此处是为了让 APIServer 识别 spec.hostNetwork 字段

3. 增加两处校验,不加也没啥影响

 修改 pkg/apis/core/validation/validation.go:validEnvDownwardAPIFieldPathExpressions

pkg/apis/core/pods/helpers.go:ConvertDownwardAPIFieldLabel(kubelet也会用到这个函数,不影响)

经过这个过程也是走读了大量代码。

二、重新编译 APIServer,这个可以搜一堆文章出来:

1. 修改 build/common.sh:

修改 KUBE_DOCKER_REGISTRY 的默认值 k8s.gcr.io 为可用镜像仓库,因为要下载

k8s.gcr.io/build-image/kube-cross:v1.13.8-1
k8s.gcr.io/build-image/debian-base:v2.0.0
k8s.gcr.io/build-image/debian-iptables:v12.0.1

可以去dockerhub找下,pull到本地也行

我只需要构建 APIServer 镜像,删除红框的几个,只保留"kube-apiserver"

执行编译指令:

WHAT=cmd/kube-apiserver KUBE_BUILD_PLATFORMS=linux/amd64 KUBE_BUILD_CONFORMANCE=n KUBE_BUILD_HYPERKUBE=n make quick-release

为了加快构建:

KUBE_BUILD_CONFORMANCE=n,不需要一致性测试(Conformance Tests)

KUBE_BUILD_HYPERKUBE=n,不构建Hyperkube镜像

如果不需要一直 pull 镜像,可以添加 KUBE_BUILD_PULL_LATEST_IMAGES=n 选项


...
+++ [0123 16:06:46] Syncing out of container
+++ [0123 16:06:56] Building tarball: src
+++ [0123 16:06:56] Building tarball: manifests
+++ [0123 16:06:56] Starting tarball: client linux-amd64
+++ [0123 16:06:56] Waiting on tarballs
+++ [0123 16:07:02] Building tarball: node linux-amd64
+++ [0123 16:07:02] Building images: linux-amd64
+++ [0123 16:07:02] Starting docker build for image: kube-apiserver-amd64
+++ [0123 16:07:21] Tagging docker image k8s.gcr.io/kube-apiserver-amd64:v1.17.4-dirty as xxx.io/kube-apiserver-amd64:v1.17.4-dirty
Untagged: xxx.io/kube-apiserver-amd64:v1.17.4-dirty
Deleted: sha256:7e2e82289173553722f6fde7696130114fbf6e1e7674d01a1d075895a1d936b5
+++ [0123 16:07:26] Deleting docker image k8s.gcr.io/kube-apiserver-amd64:v1.17.4-dirty
+++ [0123 16:07:26] Docker builds done
+++ [0123 16:07:26] Building tarball: server linux-amd64
+++ [0123 16:08:15] Building tarball: final
+++ [0123 16:08:16] Starting tarball: test linux-amd64
+++ [0123 16:08:16] Waiting on test tarballs
+++ [0123 16:09:04] Building tarball: test portable

本地会生成一个镜像压缩包:_output/release-images/amd64/kube-apiserver.tar,上传到 master 节点,或者镜像仓库。

三、部署 APIServer

如果使用 containerd 导入镜像:

sudo ctr -n=k8s.io images import kube-apiserver.tar# 查询
sudo ctr images list

如果使用 docker 导入镜像:

sudo docker load -i kube-apiserver.tar# 查询是否有
sudo docker images | grep kube-apiserver

编辑 /etc/kubernetes/manifests/kube-apiserver.yaml 修改镜像名和tag,过十多秒就自动重启了。

四、检查 spec.hostNetwork 是否生效:

kubectl get po --field-selector spec.hostNetwork=false -owide
NAME                           READY   STATUS    RESTARTS   AGE   IP           NODE                                      NOMINATED NODE   READINESS GATES
busybox-776bdc8757-gmr2l       1/1     Running   0          63d   11.0.0.22    node1   <none>           <none>

完成。

实际上只需要给 pod 或者其他资源打上相应的 label,使用 label-selector 查询即可,搞这些就是为了了解代码的细节和编译流程😁

该文章只是针对 Pod 字段支持自定义field-selector,当然其他类型的资源也可以按照对应的去修改

看都看了,点个赞再走吧😎

http://www.yayakq.cn/news/114685/

相关文章:

  • 做动画 的 网站有哪些微网站在哪个平台上搭建好 知乎
  • 响应式网站简单模板新建网站软件
  • 我有网站 怎么做淘宝推广的四平网站建设服务
  • 建设网站设计制作网站建设需什么
  • 做暧网站汕头网站推广排名
  • asp.net 获取网站域名网站开发专业感想
  • 几度设计网站成都住建局官网官网官方
  • 关于 建设 二级网站沉默是金歌词
  • 营销型网站开发制作小程序科技有限公司
  • 中国建设银行的网站特色杭州小周seo
  • 广东企业网站seo哪家好公众号文章制作模板
  • 用jsp做的网站需要什么工具合肥市建设工程造价信息网
  • 浙江制做网站的公司wordpress模板目录结构
  • 郑州网站建设三猫网络忆达城市建设游戏网站
  • 网站如何做数据分析发电机出租技术支持 东莞网站建设
  • 单位网站的作用如何在百度搜到自己的网站
  • 办个宽带一年大概多少钱苏州seo关键词优化排名
  • 网站建设企业宣传竞价外包推广
  • 酷万网站建设移动宽带 国外网站
  • 渭南网站建设哪里便宜wordpress淘宝组件插件
  • 企业网站的推广方法有哪些传奇端游平台
  • 广西网站建设推广大概需要多少钱百度一下官方网页版
  • 网站建设管理概述手机 网站 模板
  • 免费音效素材网站wordpress的短代码
  • 帮做装修设计的网站vs2012建设空网站
  • 网站开发交互原型标注图wordpress固定连接优化
  • cnzz wordpress插件北京网站优化快速排名
  • 单页面的网站模板google网页版入口
  • 受欢迎的网站建设教程安徽住房建设厅官网信息查询
  • 网站建设亿玛酷适合5wordpress 双栏主题