该教程记录安装及使用Kubernetes,主要偏向实战,基础知识请查看参考文档,文档共分为三个部分:
- Kubernetes 二进制部署 & 插件配置
- 官方实例、社区实例 & 自己开发部署实例
- Kubernetes 架构 & 源码剖析
Kubernetes 几乎所有的安装组件和 Docker 镜像都放在 goolge 自己的网站上,这对国内的同学可能是个不小的障碍。
建议是:网络障碍都必须想办法克服,不然连 Kubernetes 的门都进不了。
- OS: Ubuntu 16.04.4 LTS xenial(查看命令:lsb_release -a)
- Kubernetes:Kubernetes v1.21.0
- Docker: docker-ce_18.03.1
ce-0ubuntu_amd64.deb - Etcd: etcd-v3.4.13-linux-amd64.tar.gz
- Flannel: flannel-v0.13.0-linux-amd64.tar.gz
- TLS 认证通信 (所有组件,如 etcd、kubernetes master 和 node)
- RBAC 授权
- kubelet TLS BootStrapping
- kubedns、dashboard、heapster(influxdb、grafana)、EFK(Elasticsearch、fluentd、kibana) 集群插件
计划在本地计算机(Ubuntu 20.04.2 LTS)安装VMware虚拟机,模拟三台物理设备
角色分配如下(部署了两个集群,IP可能会有差异,后期一起改过来):
- Master:172.16.111.100
- Node:172.16.111.100、172.16.111.101、172.16.111.102
注意:172.16.111.100这台主机master和node复用。所有生成证书、执行kubectl命令的操作都在这台节点上执行。一旦node加入到kubernetes集群之后就不需要再登陆node节点了。
Kubernetes Handbook 原书基于CentOS部署,与Ubuntu部署有部分差异,Kubernetes 二进制部署部分修改自该书,强烈推荐,原作者在不断的更新
- 系统初始化配置
- 创建TLS证书和秘钥
- 安装kubectl命令行工具
- 创建 kubeconfig 文件
- 创建高可用 etcd 集群
- 部署master节点
- 安装flannel网络插件
- 部署node节点
- 安装kubedns插件
- 安装dashboard插件
- 安装heapster插件
- 安装EFK插件
- Kubernetes Deconstructed: Understanding Kubernetes by Breaking It Down - Carson Anderson, DOMO(视频)
需自备梯子观看,从User,Cluster,Network,Cloud,Linux,Power等方面讲解,能对Kubernetes使用有大体的认知。PPT演示
- Kubernetes Handbook 原书基于CentOS部署,与Ubuntu部署有部分差异,Kubernetes 二进制部署主要参考该书。
- Kubernetes1.9 官方文档(中文)
- 每天5分钟玩转Kubernetes&Docker 入门首选
- kubernetes 从入门到实践 51cto kubernetes 培训,具体可看视频【Kubernetes精品培训】Kubernetes实战培训
- 以优雅的姿势监控kubernetes 集群服务(Prometheus)
- 从零开始写一个运行在Kubernetes上的服务程序(中文) -- 英文原地址 -- GitHub