Kubernetes平台安装教程

1 概述

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。

在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

1.1 环境准备

Kubernetes安装在Ubuntu、CentOS这两个环境上较为稳定,本次安装将以Ubuntu环境为例(CentOS环境也类似),准备两台Ubuntu虚拟机或云服务器,版本为16.04即可。

2 安装Docker&Kubernetes

2.1 安装Docker

2.1.1 添加Docker官方源

1)更新包索引:apt-getupdate

2)下载docker官方源的公钥并添加到apt的公钥库中:curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg| apt-key add -


3)添加docker官方源的仓库:add-apt-repository"deb [arch=amd64]https://download.docker.com/linux/ubuntu$(lsb_release -cs) stable"


4)执行完以上命令之后,在/etc/apt/sources.list文件中将添加如下内容


5)再次更新包索引:apt-getupdate

2.1.2 安装Docker

这里以安装docker-ce-17.03.2版本为例:

1)执行:apt-get install docker-ce=17.03.2~ce-0~ubuntu-xenial,安装Docker;

2)验证Docker安装结果:dockerversion

3)查看docker后台服务运行的情况:systemctlstatus docker至此,Docker安装完成。

2.2 安装Kubernetes

2.2.1 Kubernetes相关组件介绍

需要下载kubeadm、kubelet、kubectl等组件

1)kubeadm:作为安装工具来引导启动集群,kubeadm将kubernetes核心组件以容器化的方式安装和引导启动运行;

2)kubelet:Node组件中的kubelet依旧以主机后端服务的形式运行kubernetes集群的所有节点上,是主节点与从节点交互的关键组件;

3)kubectl:是安装集群后的命令行工具,至少安装在master上,对集群进行管理。

2.2.2 添加Kubernetes的apt源(google官方源)

以下将直接添加google的官方源(如果你的服务器不能访问google官方源,请参考2.2.3)

1)添加kubernetes apt源的公钥文件:curl -shttps://packages.cloud.google.com/apt/doc/apt-key.gpg| apt-key add -

2)将官方源列表加入到本地源列表配置目录中:vi

/etc/apt/sources.list.d/kubernetes.list,在该文件中加入如下内容:


3)更新本地包缓存:apt-getupdate

2.2.3 添加Kubernetes的apt源(国内源)

1)apt-getupdate && apt-get install -y apt-transport-https

2)curlhttps://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg| apt-key add -

3)vi/etc/apt/sources.list.d/kubernetes.list,在该文件中加入:debhttps://mirrors.aliyun.com/kubernetes/apt/kubernetes-xenial main

4)更新本地包缓存:apt-getupdate

2.2.4 安装kubeadm、kubelet、kubectl工具

1)apt-getinstall -y kubelet kubeadm kubectl

2)apt-get install kubeadm=1.10.2-00 kubectl=1.10.2-00 kubelet=1.10.2-00(安装指定版本)

3)查看安装情况:

查看版本:kubeadmversion

查看版本:kubectlversion

查看运行状态:systemctl

status kubelet,此时看到的状态,不是running的状态,是激活状态,处于定期的重启状态,这是由于kubelet所需要的配置还没有提供,只有在master节点执行kubeadm init或者在work node节点执行kubeadm join的时候,kubelet所需要的配置才能被满足,kubelet才会正常运行起来。

2.2.5 下载核心组件镜像

默认情况下kubeadm在安装引导集群时,会自动从网络上下载kubernetes的核心组件,比如:apiserver,scheduler,controller,manager,kubeproxy等,但是默认是从k8s.gcr.io(google容器镜像平台)上下载,国内无法连接。Master节点需要现在如下核心组件:


1)先从国内源(可以从dockerhub上查找)将以上核心组件下载到本地,例如:dockerpull gcrxio/kube-apiserver-amd64:v1.14.1

2)重新打标签,例如:docker tag gcrxio/kube-apiserver-amd64:v1.14.1 k8s.gcr.io/kube-apiserver-amd64:v1.14.1

3)在Worker节点只需要下载pause和kube-proxy镜像即可。

2.2.6 初始化Master节点


1)执行kubeadm init命令初始化:kubeadm init --apiserver-advertise-address=172.16.154.177 --pod-network-cidr=192.168.16.0/20,如下图:


2)设置kubectl访问控制平面,设置环境变量:exportKUBECONFIG=/etc/kubernetes/admin.conf

3)查看安装情况:kubectlget pods -n kube-system


以上除了dns,其他的组件都是running状态,dns要等到安装了网络插件之后才正常。

2.2.7 安装网络插件


Kubernetes的网络插件很多,这里以安装Weave为例:

1)安装WeaveNet kubectlapply -fhttps://cloud.weave.works/k8s/net?k8s-version=$(kubectl

version | base64 | tr -d '\n')

2)创建weave.yaml文件,如下:


3)执行命令进行安装:Kubectlapply -f weave.yaml

4)验证安装结果:kubectl get pods -n kube-system


2.2.8 安装worker节点

1)按照前面的步骤,在worker节点上(比如是k8s2)安装docker环境

2)按照前面的步骤,在k8s2节点上安装kubeadm、kubelet

3)按照前面的步骤,在k8s2节点上下载pause和kube-proxy镜像

2.2.9 将worker节点加入集群

1)在k8s2节点上执行kubeadm join命令:kubeadm join 172.16.154.178:6443 --tokenab7j9d.rxopqtvyv7qf6488 --discovery-token-ca-cert-hash sha256:c0d784704724ea4be3b7bb31a61404aa05a591b596405699e7c36fe3a500bec9

自此,Kubernetes集群已经安装完成。

2.3 安装Dashboard

2.3.1 下载dashboard镜像文件

1)dockerpull gcrxio/kubernetes-dashboard-amd64:v1.10.1

2)dockertag gcrxio/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

2.3.2 安装dashboard

1)下载dashboard配置文件,执行如下命令:curl-Lhttps://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml> kubernetes-dashboard.yaml

2)修改dashboard配置文件kubernetes-dashboard.yaml,并在此文件中的Service部分下添加type:NodePort和nodePort:31233,这里的31233端口可以根据实际情况进行设置,如下图:


3)创建Pod,执行命令:kubectlcreate -f {path}/kubernetes-dashboard.yaml

2.3.3 访问dashboard

下载dashboard配置文件,执行如下命令:curl-L

1)访问地址:https://47.97.249.8:31233


3 写在最后

本人创业团队产品MadPecker,主要做BUG管理、测试管理、应用分发,网址: www.madpecker.com,有需要的朋友欢迎试用、体验!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,335评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,895评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,766评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,918评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,042评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,169评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,219评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,976评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,393评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,711评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,876评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,562评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,193评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,903评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,699评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,764评论 2 351

推荐阅读更多精彩内容

  • 出處:得到專欄 自我發展心理學27 關係的三角化,當心成為痛苦的"夾心人"。 Murray Bowen: 所有的精...
    威爾沈阅读 136评论 0 0
  • 现在榆次区长凝镇有个东见子村,村东北头有个修了没几年的门洞,门洞两面各有一副对仗诗句,其中一句是“霞光聚焦砚...
    知践行阅读 1,324评论 1 0
  • 20170712 很感恩今天看到这篇文章,看完后立马调整了我的计划,幸福微计划。幸福小确幸。满满正能量,(^ω^)...
    信时光阅读 93评论 0 0
  • 感觉我和婉君之间关系有缓和,而且觉得她有意注意我啦!当然,也可能是我自作多情吧! 今天大富说听刘宁说主任说马老师安...
    阳丽茗阅读 136评论 0 0
  • 我从没想过要把这个词用在自己身上,即使它是聪明的同义词,可是在感情色彩上却充满了鄙夷。可是,有一天我坐在公共汽...
    郝舒心阅读 479评论 0 0