文档章节

CentOS 7 YUM 搭建Kubernetes 1.0

xue777hua
 xue777hua
发布于 2015/09/06 12:13
字数 880
阅读 7679
收藏 97

Kubernetes 日前终于发布了稳定版 1.0, 本文将要出一个系列的文章来讲述如何搭建环境,部署服务,网络分析,升级服务,备份数据,最后到达如何对Kubernetes进行二次发。

  1. CentOS7 YUM 搭建Kubernetes 1.0

相信点击进来的人都应该知道Kubernetes是什么吧,关于介绍,请看: http://www.infoq.com/cn/articles/Kubernetes-system-architecture-introduction?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global 讲解的很清楚。

本文直接切入正题。

本文搭建的基本环境是 Kubernetes 1.0 + CentOS 7的两台虚拟机:一台作为Master,一台作为Minion。

1. 简要叙述#

搭建过程:

  1. 网络搭建,将采用Flannel
  2. 安装master和minion端需要的软件
  3. 启动Kubernetes集群

2. 网络搭建

在裸机上安装Kubernetes需要先备好一个网络:我选择的是简单的Flannel,够用就好。
Flannel网络搭建较为简单,部署一个etcd的集群,然后build flannel,运行即可。此不是文章重点。具体可参考: http://www.slideshare.net/lorispack/using-coreos-flannel-for-docker-networking 如果遇到了问题可以咨询我,
关于Flannel在docker网络中的作用可以看这篇博客: http://my.oschina.net/xue777hua/blog/488345

3. 安装Kubernetes集群

其中 centos-master = 192.168.56.110 centos-minion = 192.168.56.111 请设置好/etc/hosts文件,或者是DNS。
master运行如下组件:etcd, kube-apiserver, kube-controller-manager, kube-scheduler, kube-proxy
minion运行如下组件:docker, kubelet, kube-proxy
当然,前提是flannel网络在两边都可以work, 当然更加的前提是安装好了docker,检验的方式是:在master和minion都分别启动一个container,在container之间互相能够ping对方即可。

3.1 为机器添加repo

在 master+minion上, 使用virt7-testing的repo:

[virt7-testing]
name=virt7-testing
baseurl=http://cbs.centos.org/repos/virt7-testing/x86_64/os/
gpgcheck=0

3.2 安装Kubernetes软件

在所有的机器上执行 yum -y install --enablerepo=virt7-testing kubernetes 即可。
检查etcd的版本是否为 0.4.6-7 , 如果不是,则删除etcd并且从rpm安装:

yum erase etcd
yum install http://cbs.centos.org/kojifiles/packages/etcd/0.4.6/7.el7.centos/x86_64/etcd-0.4.6-7.el7.centos.x86_64.rpm
yum -y install --enablerepo=virt7-testing kubernetes

##3.3 配置Kubernetes集群 ## 1.设置 master+minion的 /etc/kubernetes/config 为:

KUBE_ETCD_SERVERS="--etcd_servers=http://centos-master:4001"
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow_privileged=false"

特别是 KUBE_ETCD_SERVERS 特别重要,表示要连接的etcd的服务,Kubernetes的各种信息:例如物理机,容器的基本信息都是存储在Kubernetes上面的。

2.设置 master+minion的 /etc/kubernetes/apiserver 为(只列出了重要的几个配置):

# 需要连接的master的地址,kubelet需要连接到kube-apiserver来工作
KUBE_API_ADDRESS="--address=centos-master" 
KUBE_API_PORT="--port=8080"
# 服务所在的ip地址范围,服务是一组pod的组合产物
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"

3.设置 minion端的 /etc/kubernetes/kubelet 文件

#  kubelet绑定的ip地址
KUBELET_ADDRESS="--address=0.0.0.0"
# kubelet的通信段耨
KUBELET_PORT="--port=10250"
# kubelet的hostname,到时候用kubectl get po 可以拿到的结果
KUBELET_HOSTNAME="--hostname_override=centos-minion"
# api-server的通信端口
KUBELET_API_SERVER="--api_servers=http://centos-master:8080"

4.设置iptables 8080, 10250 的tcp端口都添加到防火墙列外,另外安装flannel也要记得设置好iptables,具体见我的博客:http://my.oschina.net/xue777hua/blog/488345

#4. 启动Kubernetes集群 # 个人经验是执行下面的命令之后使用 systemctl status -l $SERVICES 检验一遍,如果有问题执行systemctl restart $SERVICES 。 ##4.1 启动master ##

for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler kube-proxy; do 
    systemctl restart $SERVICES
    systemctl enable $SERVICES
    systemctl status $SERVICES 
done

##4.2 启动minion##

for SERVICES in kube-proxy kubelet docker; do 
    systemctl restart $SERVICES
    systemctl enable $SERVICES
    systemctl status $SERVICES 
done

启动完毕后,master端执行kubectl get no,如果能看到下面的结果即为成功:

[03:01 AM root@centos-master ~]$ kubectl get no
NAME            LABELS                                 STATUS
centos-minion   kubernetes.io/hostname=centos-minion   Ready

####[参考]####

© 著作权归作者所有

xue777hua
粉丝 69
博文 45
码字总数 32450
作品 0
普陀
架构师
私信 提问
加载中

评论(14)

purple_grape
purple_grape
kb 1.0 版本哪里找?
http://mirrors.ustc.edu.cn/centos/7/extras/x86_64/Packages/kubernetes-1.0.0-0.8.gitb2dafda.el7.x86_64.rpm,

golang,etcd都在那里
xue777hua
xue777hua 博主

引用来自“gahello”的评论

可是这个yum源里面。。不是kubernetes1.0版本。。
明天出一个Ansible的部署版本,那个更方便更稳定
xue777hua
xue777hua 博主

引用来自“gahello”的评论

可是这个yum源里面。。不是kubernetes1.0版本。。
哦哦 我后来使用的是 自己编译的版本
gahello
gahello
可是这个yum源里面。。不是kubernetes1.0版本。。
xue777hua
xue777hua 博主

引用来自“地鼠特工队”的评论

怎样创建 ReplicationController
后面会写到哈 这两天太忙了 = =
地鼠特工队
地鼠特工队
怎样创建 ReplicationController
xue777hua
xue777hua 博主

引用来自“明月大江”的评论

博主有用 https://github.com/kubernetes/kubernetes/tree/release-1.0/contrib/ansible 自动部署么?
建议大家用ansible 去部署
有道理 会试试 上述只是阐述下裸机安装的过程
xue777hua
xue777hua 博主

引用来自“雨翔河”的评论

7的命令搞的好不习惯
呵呵 熟悉熟悉就好了
xue777hua
xue777hua 博主

引用来自“海上添翼”的评论

引用来自“大舒”的评论

手机上排版感人…

真赶人
的确 = = 因为是MarkDown, 估计手机无法解析
明月大江
明月大江
博主有用 https://github.com/kubernetes/kubernetes/tree/release-1.0/contrib/ansible 自动部署么?
建议大家用ansible 去部署
环境搭建-CentOS下安装指定版本的Docker

  最近需要搭一套Docker环境,因为需要用到Kubernetes 1.9,Kubernetes和docker的版本有对应关系,所以Docker的版本要选择Kubernetes 1.9能支持版本,我这里选择了docker-ce-17.03.2.ce-1....

statmoon
2018/07/10
0
0
Kubernetes部署服务 - ReplicationController多副本负载均衡实战

基本流程为: 做image 并且push到private registry 创建replication controller 创建service 搭建nginx代理 测试 下面详述: java基础image: Friend-Service镜像: rc.yaml文件, 创建了2个fri...

xue777hua
2015/10/12
2.7K
13
使用Kubeadm构建Kubernetes集群

目录 写在前面 环境 本次安装的版本 最低要求 安装前准备 安装docker 安装kubeadm相关 初始化集群 安装网络插件 添加节点 总结 写在前面 参考k8s中文社区的文档,搭建一下K8s的集群。使用Kub...

OrangeLoveMilan
2017/12/28
0
0
centos 7 k8s v1.7 v1.6 搭建记

K8s V1.6 V1.7 部署 一、基础环境 1、主机名 IP hosts 配置 主机名 IP 系统 k8s.master 192.168.1.44 CentOS 7 64 k8s.node1 192.168.1.45 CentOS 7 64 k8s.node2 192.168.1.46 CentOS 7 64 ......

奋怒的菜鸟
2017/07/13
0
0
Kubernetes 1.3版本之简单安装

本篇文章,仅是用于尝鲜 Kubernetes 1.3版本的Pet Sets,具体其他使用,有机会在做介绍,稍后会写篇关于Deployment、Pet Sets的文章。 说明下,Kubernetes 1.3版本的kubelet启动,需要docke...

perofu
2016/08/05
854
0

没有更多内容

加载失败,请刷新页面

加载更多

如何编写高质量的 JS 函数(1) -- 敲山震虎篇

本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/7lCK9cHmunvYlbm7Xi7JxQ 作者:杨昆 一千个读者,有一千个哈姆雷特。 此系列文章将会从函数的执行机制、鲁棒性、函...

vivo互联网技术
54分钟前
5
0
学会这5个Excel技巧,让你拒绝加班

在网上,随处都可以看到Excel技巧,估计已看腻了吧?但下面5个Excel技巧会让你相见恨晚。关键的是它们个个还很实用 图一 技巧1:快速删除边框 有时当我们处理数据需要去掉边框,按Ctrl+Shif...

干货趣分享
今天
11
0
JS基础-该如何理解原型、原型链?

JS的原型、原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对这个...

OBKoro1
今天
10
0
高防CDN的出现是为了解决网站的哪些问题?

高防CDN是为了更好的服务网络而出现的,是通过高防DNS来实现的。高防CDN是通过智能化的系统判断来路,再反馈给用户,可以减轻用户使用过程的复杂程度。通过智能DNS解析,能让网站访问者连接到...

云漫网络Ruan
今天
15
0
OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
3.3K
25

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部