欠你们的 → k8s 集群搭建,除夕奉上!
开心一刻
有一天,qq收到一个好友申请,验证消息上写的是:哥哥加我,我是妹妹
我以为是性骚扰,就没加,直接回了一句:我喜欢少妇
过了一会儿,姑姑就给我打了个电话:你妹妹qq加你,你怎么不同意,她想问你几道数学题,你说你喜欢少妇
我:姑姑,你听我狡辩一下……
祝大家除夕快乐!
节点准备
基于 CentOS7 准备 3 个节点: master:192.168.0.100 、 node1:192.168.0.101 、 192.168.0.102
VirtualBox 搭建虚拟机的过程就不演示了,具体可参考如下两篇
virtualBox安装centos,并搭建tomcat
VirtualBox 下 CentOS7 静态 IP 的配置 → 多次踩坑总结,蚌埠住了!
搭建好之后 IP 分配如下
Docker安装
每个节点都需要安装 Docker 环境
配置yum源
安装&启动 Docker
查看 Docker 版本
配置加速
因为有 一面墙 ,国内访问国外资源速度太慢,很有可能下载资源失败,需要配置国内镜像地址
其中 xxxx 需要改成你们自己的
注意,是每个节点都需要配置 Docker ,而非某个节点
K8S集群搭建
基础环境
所有节点都需要进行如下设置
在创建虚拟机的时候,楼主已经把 hostname 设置好了,如果你们没设置,可以通过如下指令进行域名设置
安装kubelet、kubeadm、kubectl
每个节点都需要进行安装
kubeadm引导集群
每个节点下载镜像
初始化主节点
每个节点添加 master 域名映射
只在 master 节点执行如下命令进行初始化
当出现如下信息,则说明初始化成功
如上信息中提到了几个点
1、如果是常规用户,需要在主节点执行
如果是 root 用户,则在主节点执行
我们在主节点执行常规用户的命令
2、需要部署网络组件
3、其他节点执行如下命令,作为 master 节点加入到集群中
4、其他节点执行如下命令,作为 worker 节点加入到集群中
部署网络组件
我们采用 calico 作为网络组件,在 master 执行如下命令
我们看下集群状态
目前只有一个主节点,再看下 pods 状态
都在运行中,状态都正常
Worker 节点加入集群
在 k8snode1 、 k8snode2 节点执行
在 master 节点查看集群节点状态: kubectl get nodes
再看下 pods 状态
总结
1、 Docker 版本和 k8s 的版本最好对应上,否则容易出问题
2、 k8s 网络有点复杂,感兴趣的可以仔细研究下
参考
云原生实战
云原生Java架构师的第一课K8s+Docker+KubeSphere+DevOps