Kubernetes 开发日记

1. 参加 Kubernetes 社区参与特性开发

  • 之前在社区上提交了一个 PR,算是把流程大概走了一遍,在这里也记录下在社区做的事情,当成日记吧

2. 提交代码流程

  • 本来想要写一个在社区提交代码的流程,结果发现,IBM 上已经有篇比我想要写的更加详细的文章
  • 如果启动 k8s 集群时检查 kubelet 出现由于swap 不支持造成的错误,可以通过命令 swapoff -a 关闭swap

  • 传送门:Kubernetes 开发指南

3. 谷歌 gcr.io, k8s.gcr.io 的影子仓库

国内访问谷歌的 Registry 不太方便,在我的开发环境上,我其实自己搭建了一个 Registry 作为谷歌的 Registry 的影子仓库: gcr.io,k8s.gcr.io

3.1. 启动一个 http 的 Registry

传送门:部署私有Docker Registry

3.2. 添加DNS记录到/etc/hosts文件,并将 gcr.io,k8s.gcr.io设置为 insecure-registry

不使用 https的原因就是一个是没必要,另外一个,即使使用https,也没有给我们带来方便,一般不会自己到权威机构申请证书(要钱);如果使用自签名证书,又需要导入证书,也很麻烦,还不如干脆就不用证书,采用http的模式。

3.2.1. 在 /etc/hosts 文件中,添加 gcr.io 和 k8s.gcr.io 的 DNS 记录,由于我的 Registry 就在本地,所以我的 DNS 记录如下 如下:

...
127.0.0.1 gcr.io k8s.gcr.io

3.2.2. 将 gcr.io 和 k8s.gcr.io 作为 insecure-registry,在 /etc/docker/daemon.json 中,修改为:

{
    ...,
    "insecure-registries": ["gcr.io", "k8s.gcr.io"]
}

4. 镜像下载

开发中需要使用到的镜像,我都已经放在这里

  • 为了方便依赖的镜像下载,我上传到了 docker hub,可利用阿里等加速器下载
  • https://hub.docker.com/u/aagogeof/

5. 当前的痛点难点

5.1 安全

  • 由于同一个节点上不同的 Pod 使用同一个内核,可能会造成应用穿越内核影响到其他的 Pod 的安全,提出了安全容器的概念:https://kubernetes.io/blog/2016/05/hypernetes-security-and-multi-tenancy-in-kubernetes

你可能感兴趣的:(kubernetes,源码)