使用kubeadm快速搭建k8s集群(单master,HA 的功能仍然在开发中)

NOTE:

2016/10/09 :添加release版yum源,上传rpm包,避免翻墙,补全之前未添加的镜像,完善文档

2016/11/11 :删除hub.docker.com的镜像,改为通过github自动编译,免去爬梯之苦

架构:

master 192.168.1.11

slave  192.168.1.12

前提条件

系统为Ubuntu16.04 or centos7

以下操作均在centos7 环境下,并且已经安装docker

安装yum源

release源(需翻墙):

1
2
3
4
5
6
7
8
9
10
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

已把相关rpm包上传

http://down.51cto.com/data/2248890

beta源(国内可下载尝鲜):

1
2
3
4
5
6
7
cat <<EOF > /etc/yum.repos.d/k8s.repo
[kubelet]
name=kubelet
baseurl=http://files.rm-rf.ca/rpms/kubelet/
enabled=1
gpgcheck=0
EOF

除了kubelet,组件都已经docker化

1
2
yum install -y kubelet kubeadm kubectl kubernetes-cni
systemctl enable kubelet && systemctl start kubelet

注意:

1、程序会进行hostname正则匹配,修改hostname和hosts文件,需要符合 example.com

2、提前下载镜像,因为国内屏蔽了

我已经上传相关镜像

https://hub.docker.com/u/foxchan/

镜像名如下:

1
2
3
4
5
6
7
8
9
10
gcr.io/google_containers/pause-amd64:3.0
gcr.io/google_containers/kube-apiserver-amd64:v1.4.0
gcr.io/google_containers/kube-controller-manager-amd64:v1.4.0
gcr.io/google_containers/kube-scheduler-amd64:v1.4.0
gcr.io/google_containers/etcd-amd64:2.2.5
gcr.io/google_containers/kube-discovery-amd64:1.0
gcr.io/google_containers/kube-dnsmasq-amd64:1.3
gcr.io/google_containers/kubedns-amd64:1.7
gcr.io/google_containers/exechealthz-amd64:1.1
gcr.io/google_containers/kube-proxy-amd64:v1.4.0

在你期望运行master的机器执行如下命令,耐心等待,联网下载(下载的就是上面提供的镜像)

1
kubeadm init --use-kubernetes-version v1.4.0-beta.11

出现这些,证明安装成功了

1
2
3
Kubernetes master initialised successfully!
You can now join any number of machines by running the following on each node:
kubeadm join --token dxxxxxxxxx 192.168.1.11

slave节点

先下载镜像

1
2
gcr.io/google_containers/pause-amd64:3.0
gcr.io/google_containers/kube-proxy-amd64:v1.4.0

执行如下命令加入集群

1
kubeadm join --token dxxxxxxxx 192.168.1.11

master查看是否添加成功

1
kubectl get nodes

还没完事,还有活要干!

现在创建pod网络(master上操作,也可以用其他的网络模式,Calico or Canal之后补充)

weaver网络:

镜像如下

1
2
weaveworks/weave-kube:1.7.0
weaveworks/weave-npc:1.7.0

添加weaver网络支持

1
kubectl apply -f https://git.io/weave-kube

查看容器是否全部正常

1
2
3
4
5
6
7
8
9
10
11
12
13
14
kubectl get pods --all-namespaces
NAMESPACE     NAME                                             READY     STATUS    RESTARTS   AGE
kube-system   etcd-emarsys105011.emar.com                      1/1       Running   0          10d
kube-system   kube-apiserver-emarsys105011.emar.com            1/1       Running   8          10d
kube-system   kube-controller-manager-emarsys105011.emar.com   1/1       Running   0          10d
kube-system   kube-discovery-1971138125-6g5vk                  1/1       Running   0          10d
kube-system   kube-dns-2247936740-bwcsy                        3/3       Running   3          10d
kube-system   kube-proxy-amd64-leat6                           1/1       Running   0          10d
kube-system   kube-proxy-amd64-ta5jb                           1/1       Running   0          9d
kube-system   kube-scheduler-emarsys105011.emar.com            1/1       Running   0          10d
kube-system   weave-net-l1rif                                  2/2       Running   0          9d
kube-system   weave-net-zbsbf                                  2/2       Running   0          9d

现在,集群已经准备好了!!!

总结:

1、kubeadm仍然是持续开发的功能,以后会集成更多的功能进来,尝鲜、了解特性可以,放到生产并不建议。

2、目前是单master模式,挂了就是真挂了。etcd的数据保存路径:/var/lib/etcd/,可以备份

本文转自银狐博客51CTO博客,原文链接http://blog.51cto.com/foxhound/1858129如需转载请自行联系原作者

战狐

centos7 安装kubernetes1.4(kubeadm版)相关推荐

  1. centos7安装MongoDB4.2社区版(单节点)

    centos7安装MongoDB4.2社区版 一.安装MongoDB社区版 1.配置程序包管理系统(`yum`). 2.安装MongoDB软件包. 3.运行MongoDB社区版 使用默认目录(推荐) ...

  2. centos7安装kubernetes1.9集群

    节点规划 本次选用一个master节点,三个node节点来安装k8s集群. 节点 IP M0 10.xx.xx.xx N0 10.xx.xx.xx N1 10.xx.xx.xx N2 10.xx.xx ...

  3. Centos7安装MariaDB10.28稳定版

    目录 One Two Three MariaDB Server MariaDB Server is an open source relational database with an extensi ...

  4. CentOS7.3下二进制安装Kubernetes1.9集群 开启TLS

    Kubernetes的相关原理性的东西之前有叙述过,网上也有很多,这里主要是写的自己在使用二进制的方式搭建Kubernetes1.9的一些方法,对学习的东西做一个自我的总结. Kubernetes有许 ...

  5. seafile安装教程 Linux,CentOS7安装seafile开源版

    CentOS7安装seafile开源版 1.安装环境及版本 本文基于CentOS Linux release 7.9系统进行安装, 2.安装docker 3.安装mysql 4.部署Seafile服务 ...

  6. Centos7安装mysql社区版

    Centos7安装mysql社区版 1.访问https://dev.mysql.com/downloads/repo/yum/ 获取mysql yum source wget wget https:/ ...

  7. Ubuntu18使用kubeadm安装kubernetes1.12

    2019独角兽企业重金招聘Python工程师标准>>> 安装前准备 virtualbox安装三个Ubuntu虚拟机 k8s-master 和 k8s-slave1.k8s-slave ...

  8. Linux如何打开cp2k,centos7安装并行版cp2k6.1-POPT

    centos7安装并行版cp2k6.1-POPT centos7安装并行版cp2k6.1-POPT 一.环境介绍 系统:Centos7.6 所需软件包:cp2k-6.1.tar.bz2,libint- ...

  9. Centos7 安装mysql8.0.21 Compressed TAR Archive版

    Centos7 安装mysql8.0.21 Compressed TAR Archive版 一.官网下载安装包https://downloads.mysql.com/archives/communit ...

最新文章

  1. PTA基础编程题目集-6-13 折半查找
  2. vue-cli ——解决多次复用含有Echarts图表组件的问题
  3. 动画体系知识梳理(1) 转场动画 ContentTransition 理论篇
  4. 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | VS 自带的 Android 平台应用创建与配置 )
  5. Java 并发总结——AQS
  6. 华为上架自主地图应用Here WeGo 或登录HMS系统成为预装应用
  7. linux备份mysql怎样操作,Linux下自动备份MySQL数据库详细操作步骤(转载)
  8. CPU负载均衡之WALT学习
  9. html+link+点击次数,使用正则表达式,取得点击次数,函数抽离(示例代码)
  10. maven 手动安装 ojdbc7
  11. java服务器向客户端发消息_socket 服务器向指定的客户端发消息
  12. Flash CS4从入门到精通
  13. [并发并行]_[线程池]_[Programming With POSIX Threads的线程池实现分析1]
  14. 优秀的计算机简历,计算机优秀简历范文
  15. 翻译: Github Copilot 可以创作艺术吗?
  16. 无任何网络提供程序接受指定的网络路径的解决
  17. Windows命令行查看盘符-列盘符
  18. 网络机柜的型号和规格有哪些
  19. 常用 Linux 软件汇总,足够用了!!!
  20. 海洛因(Heroin)服务器

热门文章

  1. Firefox 与 IE 已死?Chrome 一统天下!
  2. Java 面试宝典全公开!
  3. Sublime Text的使用-Mac
  4. ECMAScript 6入门
  5. Django REST framework API 指南(2):响应
  6. 【原创】MySQL 实现Oracle或者PostgreSQL的row_number over 这样的排名语法
  7. Scala入门之函数编程
  8. loadrunner中自定义查找并替换函数
  9. 监控某个进程,如果不存在就自动重启
  10. File.documentsDirectory抛出异常Error #2014问题解决方案