kubernetes 部署 1 kubernetes 简介Kubernetes简称K8s8 代表中间省略的 8 个字母 ubernete是 Google 开源的容器编排管理平台现在是云原生领域的标准。核心作用管理大规模 Docker 容器实现容器的部署、调度、扩缩容、自愈。屏蔽底层服务器差异把多台机器整合成一个大资源池。应用挂了自动重启、节点故障自动迁移 Pod保障业务高可用。1.1 K8s 集群两大角色1.1.1 Master办公室控制平面做决策不干活跑业务API‑Server工厂唯一前台大门。所有人kubectl、各个组件想改集群配置、查信息全部都要经过它负责身份校验是集群的统一入口。etcd工厂档案室。集群所有账本数据Pod、节点配置全部存在这里相当于集群数据库。Scheduler 调度器车间派单员。收到要新建 Pod 的需求看哪个工人节点资源空闲就把 Pod 分配到对应的 Node 机器上去运行。Controller‑Manager 控制器管理器工厂监工。盯着集群状态如果 Pod 挂了、节点出问题就自动补救保证集群维持用户想要的状态。1.1.2 Node车间干活的数据平面跑业务容器kubelet每个车间的车间主任。接收办公室 API‑Server 下达的指令管理本机上面 Pod 和容器上报本机状态给 master。你之前遇到的kubelet stopped posting node status就是车间主任断联办公室收不到车间消息节点变成 Unknown/NotReady。容器运行时 (docker/containerd)车间机器。真正拉镜像、启动容器。kube‑proxy车间内部网络接线员。负责 Service 服务的负载均衡让集群里各个 Pod 之间能互相访问2 k8s 集群部署K8S中文官网 https://kubernetes.io/zh-cn/所有节点安装docker-ce所有节点禁用swap要注释掉/etc/fstab文件中的定义所有节点禁用selinux和防火墙2.1 布置k8s 的harbor库2.1.1部署docker库安装 createrepo httpd创建关于docker的httpd目录然后在httpd的配置文件中更改监听端口 将其改为没有使用的端口安装docker-ce更改docker库并安装docker-ce2.1.2生成key2.1.3 编辑harbor配置文件测试将key传到各个节点2.1.4 配置docker加速器并重启docker2.1.5 用ansible 部署k8s环境安装ansible用 用户来控制各个节点建立用户运行以下内容的脚本利用ansible剧本部署docker利用ansible安装cri-dockerd利用ansible部署k8s软件2.1.6 下载kubernetes集群所需镜像master节点中 kubectl 和kubeadm 补齐查看镜像下载镜像上传镜像到本地harbor2.1.7 在master中初始化kubernetes集群在master中完成集群初始化添加node节点到本集群测试安装网络插件测试