Centos7部署Kubernetes集群

1、环境介绍及准备:

1.1 物理机操作系统

  物理机操作系统采用Centos7.3 64位,细节如下。

1.2 主机信息

  本文准备了三台机器用于部署k8s的运行环境,细节如下:

 设置三台机器的主机名:

  Master上执行:

  Node1上执行:

  Node2上执行:

  在三台机器上设置hosts,均执行如下命令:

1.3 关闭三台机器上的防火墙

2、部署etcd

  k8s运行依赖etcd,需要先部署etcd,本文采用yum方式安装:

yum安装的etcd默认配置文件在/etc/etcd/etcd.conf。编辑配置文件,更改以下带颜色部分信息:

启动并验证状态

3、部署master

3.1 安装Docker

配置Docker配置文件,使其允许从registry中拉取镜像。

设置开机自启动并开启服务

3.2 安装kubernets

3.3 配置并启动kubernetes

在kubernetes master上需要运行以下组件:

    Kubernets API Server

    Kubernets Controller Manager

    Kubernets Scheduler

相应的要更改以下几个配置中带颜色部分信息:

3.3.1 /etc/kubernetes/apiserver

3.3.2 /etc/kubernetes/config

启动服务并设置开机自启动

4、部署node

4.1 安装docker

  参见3.1

4.2 安装kubernets

  参见3.2

4.3 配置并启动kubernetes

  在kubernetes node上需要运行以下组件:

    Kubelet

    Kubernets Proxy

相应的要更改以下几个配置文中带颜色部分信息:

4.3.1 /etc/kubernetes/config

4.3.2 /etc/kubernetes/kubelet

启动服务并设置开机自启动

4.4 查看状态

  在master上查看集群中节点及节点状态

至此,已经搭建了一个kubernetes集群,但目前该集群还不能很好的工作,请继续后续的步骤。

5、创建覆盖网络——Flannel

5.1 安装Flannel

  在master、node上均执行如下命令,进行安装

版本为0.0.5

5.2 配置Flannel

  master、node上均编辑/etc/sysconfig/flanneld,修改红色部分

5.3 配置etcd中关于flannel的key

  Flannel使用Etcd进行配置,来保证多个Flannel实例之间的配置一致性,所以需要在etcd上进行如下配置:(‘/atomic.io/network/config’这个key与上文/etc/sysconfig/flannel中的配置项FLANNEL_ETCD_PREFIX是相对应的,错误的话启动就会出错)

5.4 启动

  启动Flannel之后,需要依次重启docker、kubernete。

  在master执行:

  在node上执行:

本文分享自微信公众号 - IT技术精选文摘(ITHK01)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

Linux内核本地提权漏洞预警分析(CVE-2019-8912)

近日,Linux git中发布一个commit补丁,该补丁对应的漏洞是一个本地提权漏洞CVE-2019-8912,漏洞影响范围较广。根据git中的commit信...

28120
来自专栏EAWorld

Kubernetes中Pod间共享内存方案

一些公共服务组件在追求性能过程中,与业务耦合太紧,造成在制作基础镜像时,都会把这些基础组件都打包进去,因此当业务镜像启动后,容器里面一大堆进程,这让Kubern...

16120
来自专栏Golang语言社区

【语言实践】Go语言文档自动化之go-swagger

go-swagger中在github.com的仓库下的依赖包如下,主要包含可以对语法进行校验的govalidator,文档化的标准specification的g...

19220
来自专栏Fundebug

掌握 Async/Await

前端工程师肯定都经历过 JS 回调链狱的痛苦过程,我们在使用 Promise 的时候总是不尽人意。这时候 Async/Await 应运而生,它到底有什么魔力,我...

15450
来自专栏生信宝典

用R在地图上绘制网络图的三种方法

作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源

30720
来自专栏Leetcode名企之路

【Leetcode】116. 填充同一层的兄弟节点

给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:

12730
来自专栏CSDN技术头条

前端开发人员的桌面应用神器 Electron

曾经的 JavaScript 脆弱、简陋、甚至有被边缘化的危险,不过 JavaScript 在经过了两次飞跃后(以 V8 为首的 JavaScript 引擎和 ...

25130
来自专栏hadoop学习笔记

Spark中分布式使用HanLP(1.7.0)分词示例

HanLP分词,如README中所说,如果没有特殊需求,可以通过maven配置,如果要添加自定义词典,需要下载“依赖jar包和用户字典".

12520
来自专栏最新优惠活动整理

腾讯云部署nginx静态项目

部署静态页面归纳为2点:①:项目相关的文件上传到云服务上;②:可以通过IP或者域名打开页面

57540
来自专栏A周立SpringCloud

有关 Spring 异步的有效建议

根据目前的趋势,我发现初级到高级的开发者都使用 Spring Boot 作为他们构建软件的首选务器。事实上,它对开发人员友好,它“约定优于配置”的风格有助于开发...

10910

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励