kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。

这个工具能通过两条指令完成一个kubernetes集群的部署:

1. 安装要求    

在开始之前,部署Kubernetes集群机器需要满足以下几个条件:

  • 一台或多台机器,操作系统 CentOS7.x-86_x64
  • 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
  • 集群中所有机器之间网络互通可以访问外网,需要拉取镜像
  • 禁止swap分区

2. 目标    

  1. 在所有节点上安装Docker和kubeadm
  2. 部署Kubernetes Master
  3. 部署容器网络插件
  4. 部署 Kubernetes Node,将节点加入Kubernetes集群中
  5. 部署Dashboard Web页面,可视化查看Kubernetes资源

 

3. 准备环境

 

 

Kubernetes 架构图

4. 所有节点安装Docker/kubeadm/kubelet    

Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。

4.1 安装Docker    

4.2 添加阿里云YUM软件源    

4.3 安装kubeadm,kubelet和kubectl    

由于版本更新频繁,这里指定版本号部署:

5. 部署Kubernetes Master    

由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。使用kubectl工具:

6. 安装Pod网络插件(CNI)    

确保能够访问到quay.io这个registery。

7. 加入Kubernetes Node    

向集群添加新节点,执行在kubeadm init输出的kubeadm join命令:

$ kubeadm join 192.168.31.64:6443 --token l79g5t.6ov4jkddwqki1dxe discovery-tokenca-cert-hash sha256:4f07f9068c543130461c9db368d62b4aabc22105451057f887defa35f47fa076

8. 测试kubernetes集群    

在Kubernetes集群中创建一个pod,验证是否正常运行:

访问地址:http://NodeIP:Port

9. 部署 Dashboard    

默认镜像国内无法访问,修改镜像地址为:

registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1

默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部:

访问地址:http://NodeIP:30001

创建service account并绑定默认cluster-admin管理员集群角色:

$ kubectl create serviceaccount dashboard-admin -n kube-system $ kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin -serviceaccount=kube-system:dashboard-admin

$ kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk

'/dashboard-admin/{print $1}')

 

使用输出的token登录Dashboard。

 

按照上述步骤,即可成功部署一套k8s用于学习测试,其中很多步骤都是自动完成,想要深入了解,需要通过二进制方式安装部署,这也是目前生产上大多数采用的部署方式

 

©著作权归作者所有:来自51CTO博客作者山山仙人的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 与亲生的Redis Cluster,来一次亲密接触
  2. 【DB笔试面试712】在Oracle中,启动和关闭集群的命令是什么?
  3. 【DB笔试面试716】在Oracle中,集群有哪几种心跳机制?
  4. 这可能是最中肯的Redis规范了
  5. Vue(7):vue项目部署到服务器通过公网IP访问
  6. vite 构建,页面打开空白如何解决
  7. [原创干货]Oracle Sharding实施教程来袭!!!
  8. Linux运维实战——MySQL源码包个性化部署【CentOS】
  9. Kubernetes容器集群管理环境 - 完整部署(上篇)

随机推荐

  1. 获取当前APN,更改APN
  2. 2011.08.12(4)——— android AudioTrack
  3. android ContentProvider onCreate()在 A
  4. 指定Toast显示时长
  5. 初探Android中的请求服务器并解析返回的j
  6. 【Android】UI-shape的使用
  7. 【Android】SQLite使用
  8. Android Permission大全
  9. Android修行之路——Dialog
  10. android create build.xml under ubuntu