跳至主要內容
部署Dashboard和CoreDNS

部署Dashboard和CoreDNS

一、部署Dashboard

1.1 Dashboard简介

Dashboard 是基于网页的 Kubernetes 用户界面。您可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。您可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源(如 Deployment,Job,DaemonSet 等等)。例如,您可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。


Zenghr大约 2 分钟kubernetes
部署CNI网络

部署CNI网络

1.简介

kubernetes 要求集群内各节点(包括 master 节点)能通过 Pod 网段互联互通

通过给 Kubelet 传递 --network-plugin=cni 命令行选项来选择 CNI 插件。 Kubelet 从 --cni-conf-dir (默认是 /etc/cni/net.d) 读取文件并使用该文件中的 CNI 配置来设置每个 pod 的网络。 CNI 配置文件必须与 CNI 规约匹配,并且配置引用的任何所需的 CNI 插件都必须存在于 --cni-bin-dir(默认是 /opt/cni/bin


Zenghr大约 11 分钟kubernetes
部署Node节点

部署Node节点

kubernetes master 节点包含的组件:

  • kubelet
  • kube-proxy
  • core-dns

一、创建工作目录并拷贝二进制文件

# 在所有worker node创建工作目录:
mkdir -p /etc/kubernetes/{bin,cfg,logs} 
# 从master节点拷贝:
cd kubernetes/server/bin
scp kubelet kube-proxy root@192.168.10.101:/etc/kubernetes/bin
scp kubelet kube-proxy root@192.168.10.103:/etc/kubernetes/bin
# 分发 证书
scp -r /etc/kubernetes/ca root@192.168.10.101:/etc/kubernetes/
scp -r /etc/kubernetes/ca root@192.168.10.103:/etc/kubernetes/

Zenghr大约 3 分钟kubernetes
部署etcd节点

部署 ETCD 节点

1. 简介

kubernetes需要存储很多东西,像它本身的节点信息,组件信息,还有通过kubernetes运行的pod,deployment,service等等。都需要持久化。etcd 就是它的数据中心。生产环境中为了保证数据中心的高可用和数据的一致性,一般会部署最少三个节点。我们这里以学习为主就只在主节点部署一个实例。

2. 从Github下载二进制文件

下载地址:https://github.com/etcd-io/etcd/releases


Zenghr大约 3 分钟kubernetes
部署 Master 节点

部署 Master 节点

kubernetes master 节点包含的组件:

  • kube-apiserver
  • kube-controller-manager
  • kube-scheduler

apiservercontroller-managerscheduler 三者的功能紧密相关,一般运行在同一个机器上,我们可以把它们当做一个整体来看,所以保证了apiserver的高可用即是保证了三个模块的高可用。也可以同时启动多个controller-manager进程,但只有一个会被选举为leader提供服务。


Zenghr大约 6 分钟kubernetes
准备环境

在Ubuntu上部署kubernetes集群

1.1 安装方式

  • 基于二进制的安装方式

  • 基于官方工具kubeadm的安装方式 官方地址

  • 基于第三方工具的安装

由于国内的网络环境问题,使用官方工具 kubeadm 需要解决网络问题,所以本系列文档将从 github 下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群,同时开启了集群的TLS安全认证。而不是使用 kubeadm 等自动化方式来部署集群。


Zenghr大约 2 分钟kubernetes