Kubernetes(K8S)集群管理Docker容器(部署篇)
2017-11-23 09:56
1236 查看
今天这篇文章教给大家如何快速部署一套Kubernetes集群。K8S集群部署有几种方式:kubeadm、minikube和二进制包。前两者属于自动部署,简化部署操作,我们这里强烈推荐初学者使用二进制包部署,因为自动部署屏蔽了很多细节,使得对各个模块感知很少,非常不利用学习。
所以,这篇文章也是使用二进制包部署Kubernetes集群。
本章目录
环境说明:
操作系统:Ubuntu16.04 or CentOS7
Kubernetes版本:v1.8.3
Docker版本:v17.09-ce
均采用当前最新稳定版本。
关闭selinux。
打开下面网址,下载下面两个红色框框的包。
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#v183
下载完成后,上传到服务器:
kubernetes-server-linux-amd64.tar.gz上传到master节点。
kubernetes-node-linux-amd64.tar.gz 上传到node节点。
注意:Ubuntu系统etcd配置文件在/etc/default/etcd。
创建配置文件:
创建systemd服务文件:
启动服务,并设置开机启动:
注意:apiserver默认支持etcd3,如果是etcd2,需启动时指定版本选项--storage-backend=etcd2
创建配置文件:
创建systemd服务文件:
启动服务,并设置开机启动:
创建配置文件:
创建systemd服务文件:
启动服务,并设置开机启动:
Master节点组件就全部启动了,需要注意的是服务启动顺序有依赖,先启动etcd,再启动apiserver,其他组件无顺序要求。
查看Master节点组件进程状态:
说明组件都在运行。
如果启动失败,请查看启动日志,例如:
#journalctl -u kube-apiserver
创建kubeconfig配置文件:
kubeconfig文件用于kubelet连接master apiserver。
创建配置文件:
创建systemd服务文件:
启动服务,并设置开机启动:
创建配置文件:
创建systemd服务文件:
启动服务,并设置开机启动:
其他节点加入集群与node01方式相同,但需修改kubelet的--address和--hostname-override选项为本机IP。
查看Node节点组件进程状态:
说明组件都在运行。
如果启动失败,请查看启动日志,例如:
#journalctl -u kubelet
设置可执行文件到系统变量,方便使用:
查看集群节点状态:
两个节点都加入到了kubernetes集群,就此部署完成。
另外,近期录制了<<Docker高级应用实战课程>>,包括Swarm和Kubernetes集群管理系统,集群也是Docker技术应用精髓所在!有需要的不妨看看。
课程地址:https://ke.qq.com/course/246704
博主会继续更新Kubernetes相关文章,有需要的朋友可以关注下。
QQ技术群,有需要的朋友可以加下:
(Python运维开发群 249171211)
(Docker技术交流群
516039855)
所以,这篇文章也是使用二进制包部署Kubernetes集群。
本章目录
一、架构拓扑图
二、环境规划
角色 | IP | 组件 |
master | 4000 192.168.0.211 | etcd kube-apiserver kube-controller-manager kube-scheduler |
node01 | 192.168.0.212 | kubelet kube-proxy docker |
node02 | 192.168.0.213 | kubelet kube-proxy docker |
操作系统:Ubuntu16.04 or CentOS7
Kubernetes版本:v1.8.3
Docker版本:v17.09-ce
均采用当前最新稳定版本。
关闭selinux。
三、部署集群
3.1 下载二进制包
打开下面网址,下载下面两个红色框框的包。https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#v183
下载完成后,上传到服务器:
kubernetes-server-linux-amd64.tar.gz上传到master节点。
kubernetes-node-linux-amd64.tar.gz 上传到node节点。
3.2 安装etcd3
3.3 运行Master节点组件
3.3.1 apiserver
创建配置文件:
3.3.2 scheduler
创建配置文件:
3.3.3 controller-manager
创建配置文件:
3.3.4 小结
Master节点组件就全部启动了,需要注意的是服务启动顺序有依赖,先启动etcd,再启动apiserver,其他组件无顺序要求。查看Master节点组件进程状态:
说明组件都在运行。
如果启动失败,请查看启动日志,例如:
#journalctl -u kube-apiserver
3.4 运行Node节点组件
3.4.1 kubelet
创建kubeconfig配置文件:创建配置文件:
3.4.2 proxy
创建配置文件:
3.4.3 小结
其他节点加入集群与node01方式相同,但需修改kubelet的--address和--hostname-override选项为本机IP。查看Node节点组件进程状态:
说明组件都在运行。
如果启动失败,请查看启动日志,例如:
#journalctl -u kubelet
3.5 验证集群是否部署成功
设置可执行文件到系统变量,方便使用:两个节点都加入到了kubernetes集群,就此部署完成。
另外,近期录制了<<Docker高级应用实战课程>>,包括Swarm和Kubernetes集群管理系统,集群也是Docker技术应用精髓所在!有需要的不妨看看。
课程地址:https://ke.qq.com/course/246704
博主会继续更新Kubernetes相关文章,有需要的朋友可以关注下。
QQ技术群,有需要的朋友可以加下:
(Python运维开发群 249171211)
(Docker技术交流群
516039855)
相关文章推荐
- Kubernetes(K8S)集群管理Docker容器(部署篇)
- Kubernetes(K8S)集群管理Docker容器(部署篇) 推荐
- Kubernetes(K8S)集群管理Docker容器(概念篇)
- Kubernetes(K8S)集群管理Docker容器(概念篇)
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录
- Kubernetes管理Docker集群之部署
- K8S集群管理docker部署
- Docker集群管理工具-Kubernetes部署记录
- Docker集群管理工具-Kubernetes部署记录
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)
- Kubernetes管理Docker集群之部署篇
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)
- Kubernetes 集群日志管理 - 每天5分钟玩转 Docker 容器技术(180)
- 使用Helm 在容器服务k8s集群一键部署wordpress
- 基于kubernetes构建Docker集群管理详解
- Kubernetes(三) - 使用Rancher部署K8S集群(搭建Kubernetes)