Kubernetes学习资源

k8s guide

准备

对于一个新手来说,第一步是必须了解什么是 kubernetees设计架构和相关概念。只有在了解了这些的情况下,才能更好的知道k8s中每个组件的作用以及它解决的问题。

安装工具

以上是安装k8s环境的两种推荐方法,这里更推荐使用kind。主要原因是 minikube 只支持单个节点,而 kind 可以支持多个节点,这样就可以实现在一台电脑上部署的环境与生产环境一样,方便大家学习。

要实现管理控制 Kubernetes 集群资源如pod、node、service等的管理,还必须安装一个命令工具 kubectl,请参考:https://kubernetes.io/zh/docs/tasks/tools/

学习文档

kubernetes中apiserver的证书

在kubernetes中,与api server 通讯时一般都需要使用https证书,这些证书文件存在放 /etc/kubernetes/pki 目录中(ubuntu)。主要有以下几种

/etc/kubernetes/pki/ca.{crt,key}

如果你已有现成的证书也可以直接将证书复制到这个目录里即可。这时kubeadm就会跳过证书生成这个步骤。

证书生成后,kubeadm 接下来会为其它组件生成访问api server 所需要的配置文件,这些文件路径为: /etc/kubernetes/xxx.conf:

ls /etc/kubernetes/
admin.conf controller-manager.conf kubelet.conf scheduler.conf

这里可以看到这四个配置文件,分别 为不同的组件之间提供配置。

这些配置文件中存储的是Master节点的ip地址、端口号、证书目录等信息。这样对应的客户端(scheduler,kubelet, controller-manager等)就可以直接加载并读取相应的配置文件来与kube-apiserver 建立安全连接,实现通讯。

附kubernetes架构图