搭建kubernetes集群

        自己是个小白,因为实验原因需要搭设一个简单的kubernetes集群,实现分布式TensorFlow的运行。踩了不少的坑,下面说一下自己的一些总结。

        kubernetes集群分为master节点和n个node节点,master上运行的服务有kube-apiserver、kube-controllermanager、kube-scheduler,作用不作赘诉,node运行的服务是kubelet、kube-proxy。要安装kubernetes,首先要搭建etcd集群,而后在每个机器上安装完整的kubernetes或者相应的服务,修改配置文件使得kubernetes集群初步建成。然后利用flannel这个工具将集群内部网络打通,最后运行一个kube-dns的服务提供集群内部dns解析的工作。

        官方有搭建过程的资料,不过没什么可读性,网上有很多搭建教程博客,自己试过几个,出现bug是难免的,有时候真的挺难找到问题所在,尤其是运行dns的时候。主要原因是kubernetes版本,导入的镜像版本不尽相同。dns部分网上很多教程还是在装skydns,自从kubernetes1.4之后好像就变成了kubedns+dnsmasq的组合,而且网上的博客如果强行几个凑一起,会出现一些意料以外的错误。自己遇到很多坑,装了好几遍,在kubernetes中文社区找到了一个良心博客。网址:https://www.kubernetes.org.cn/4041.html下面说一下我的安装步骤,大致和这个社区帖相同(因为自己是个小萌新,会补上一点对萌新不友好的小疏漏):

1.  准备工具

        从百度云上下载压缩包(整体来说这个压缩包包含了搭建kubernetes集群的所有必须文件)之后,如果是搭建本地集群直接u盘拷就行了,如果是云端机器的话需要用到xshell+xftp整合版,软件装好可能会缺相应的dll和vc的两个库,https://www.portablesoft.org/xshell-xftp-integrated/。装好之后,通过ssh连接机器,利用xftp可以直接将本地文件夹复制到云端机器上。集群内的所有的机器都需要复制。

2. 安装

        也许很多博客上的第一步就是修改hosts文件,虽然这样是为了集群节点看起来比较清晰,但是相信我,没什么用,自己做实验集群小的时候没什么卵用,如果设置不当在你之后配置文件运行程序的时候会出现预料之外的bug。所以在安装过程中就按刚才说的那个博客上的步骤,所有地方都用ipv4的地址。以下是一些注意点。

        (1)tar -xzvf k8s_v1.10.0_install.tar.gz    #解压

        (2)cd /home/centos/k8s_v1.10.0_install/etcd   #进入etcd文件夹

        (3)编辑install_etcd.sh,将其中的CURRENT_HOST_IP=`ifconfig ens192 | grep 'inet ' | awk '{ print $2}'` 以及ETCD_LISTEN_IP 修改为每个机器对应的ip(源文件的最外层引号不能用的)保存。三个机器同时运行install_etcd.sh。

        (4)此时etcdctl member list是行不通的,因为bash没有这个命令,但是systemctl status etcd是active的,进入bin目录,执行./etcdctl member list 发现是没问题的,所以只是没加进环境变量而已。修改环境变量:vim /etc/profile     在结尾处加上export    PATH=$PATH:/home/centos/k8s_v1.10.0_install/etcd/bin  保存退出后source /etc/profile有效,这下就没问题了。

        (5)安装flannel和docker不需要修改install_xx.sh文件,如果机器特殊可能需要修改。直接运行即可,安装kubernetes时,node节点跟的参数也是主节点的ip,别搞错了。安装完了同样是找不到kubectl命令,这时同(4)一样将kubernetes/bin加入环境变量即可。

       (6)在node上,进入kubernetes/images文件夹,利用docker load -i xxx.tar命令将其所有镜像到本地。虽然我们的机器可以联网,但是人家配置文件上写的都是本地的镜像,改起来比较麻烦,就直接load本地就行了,方便。

         (7)   在master上,进入addons/kube-dns,修改yaml文件中的kube-master-url 为我们master的ip地址,cluster-ip没必要改。然后kubectl create -f kube-dns.yaml。利用kubectl get pods --all-namespces查看pod是否正常运行。如何status为running,可以建立一个test.yaml如下:

test.yaml

     (8)kubectl create -f test.yaml之后,kubectl get services查看mysql有自己的cluster_ip。为了验证我们的dns有解析功能,需要busybox工具,可以进入kubernetes/image文件夹,创建他给的pod,也可以自己网上查一个简单的busybox。

busybox.yaml

好了,接下来就是检测了,kubectl exec busybox -- nslookup mysql,如果解析出来,就代表成功了。

kube-dns检测

        因为我用的是亚马逊上的机器,所以dashboard没啥用就不装了。最后可以使用iptables -P FORWARD ACCEPT 将底层防火墙关掉,这个其实挺有用的,自行体会~每个人装的时候都会碰到不一样的问题,可以通过kubectl status/logs等命令查看错误原因,再多回顾一下是不是自己漏了什么。祝好~

附:给几个比较实用的链接:

https://blog.csdn.net/devopser/article/details/79953440

http://docs.kubernetes.org.cn/683.html

https://blog.csdn.net/hxpjava1/article/details/79270473

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

推荐阅读更多精彩内容

  • layout: posttitle: "Nginx虚拟主机配置"date: 2016-05-16 23:36:00...
    EwanRenton阅读 234评论 0 0
  • 卓麦阅读 113评论 1 1
  • 汲汲奔走,细数流年,不觉,又到了这一年夏天的大日子--入伏。在我们这里,入伏不得不算是夏季一个很重...
    幽兰悠兰阅读 366评论 1 3
  • 我不是文化人,却整天和文化人混在一起。两年前从某超市辞职回家后,经一番打听得知当地的一所私人办的幼儿园在招生活老师...
    灵丫头阅读 476评论 0 1
  • 2017年3月11日上午飘着雪花似悠闲似慵懒只是到了第二天我们才知道它们是大雪暴雪的前奏 隍庙位于甘肃省甘南藏族自...
    阳光草堂记阅读 385评论 1 4