最后更新于
最后更新于
kubeadm
提供了 kubeadm init
以及 kubeadm join
这两个命令作为快速创建 kubernetes
集群的最佳实践。
参考 一节添加 apt/yum 源,之后执行如下命令。
新建 /etc/systemd/system/cri-containerd.service
文件
新建 /etc/cri-containerd/config.toml
containerd 配置文件
kubelet.service
/etc/systemd/system/kubelet.service.d/10-proxy-ipvs.conf
写入以下内容
执行以下命令应用配置。
--pod-network-cidr 10.244.0.0/16
参数与后续 CNI 插件有关,这里以 flannel
为例,若后续部署其他类型的网络插件请更改此参数。
执行可能出现错误,例如缺少依赖包,根据提示安装即可。
执行成功会输出
在 另一主机 重复 部署 小节以前的步骤,安装配置好 kubelet。根据提示,加入到集群。
所有服务启动后,通过 crictl
查看本地实际运行的容器。这些服务大概分为三类:主节点服务、工作节点服务和其它服务。
apiserver
是整个系统的对外接口,提供 RESTful 方式供客户端和其它组件调用;
scheduler
负责对资源进行调度,分配某个 pod 到某个节点上;
controller-manager
负责管理控制器,包括 endpoint-controller(刷新服务和 pod 的关联信息)和 replication-controller(维护某个 pod 的复制为配置的数值)。
proxy
为 pod 上的服务提供访问的代理。
Etcd 是所有状态的存储数据库;
将 /etc/kubernetes/admin.conf
复制到 ~/.kube/config
执行 $ kubectl get all -A
查看启动的服务。
由于未部署 CNI 插件,CoreDNS 未正常启动。如何使用 Kubernetes,请参考后续章节。
这里以 flannel
为例进行介绍。
检查 podCIDR 设置
如果用 kubeadm
部署一个单节点集群,默认情况下无法使用,请执行以下命令解除限制