【kubernetes】ubuntu14.04 64位 搭建kubernetes过程
背景:
Kubernetes介绍:http://kubernetes.io/docs/getting-started-guides/
github地址:https://github.com/kubernetes/kubernetes
在ubuntu上安装文档官方地址:http://kubernetes.io/docs/getting-started-guides/ubuntu/
环境:
- Master:
- Ubunut14.04
- 192.168.27.135(NAT)
- Minion1:
- Ubuntu14.04
- 192.168.27.136(NAT)
- Minion2:
- Ubuntu14.04
- 192.168.27.137(NAT)
准备工作:
需要在三个节点上安装docker和ssh,安装ssh:
$ sudo apt-get install openssh-server
$ sudo service ssh start
安装docker:
sudo apt-get install docker-engine
安装Kubernetes:
1、在Master上,首先创建一个工作目录,执行:
$ git clone https://github.com/kubernetes/kubernetes.git
2、下载完后,进入kubernetes目录,修改kubernetes/cluster/ubuntu/config-default.sh文件:
root@192.168.127.135 root@192.168.27.136 root@192.168.27.137
3、安装kubernetes:
$ cd kubernetes/cluster
$ KUBERNETES_PROVIDER=ubuntu ./kube-up.sh
成功安装的截图如下:



访问页面:


遇到的各种坑:
1、重启master节点,如何恢复?
这个问题弄了我至少3小时才搞定,因为我是准备直接重新执行一遍上面步骤的第三步,也就是再执行一次kube-up.sh,然而我发现每次该脚本都会从github上下载etcd、flanneld和kubernetes包,这个包有1.4G大小,可想而知要耽误多少时间。然后我就只能慢慢找这段脚本在哪执行的,最后发现在kubernetes/cluster/ubuntu/下的download-release.sh,也就是下图中的文件。所以我就把文件的内容改了,改成下面代码中的样子,目的是不让它每次都下。随后呢,我的做法是把第一次成功安装的文件备份一下,也就是把kubernetes/cluster/ubuntu/binaries这个目录备份起来,然后直接拷到重启后的master的对应目录。然后再执行kube-up.sh,之后就OK啦!

#!/bin/bash # Copyright The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License. # Download the etcd, flannel, and K8s binaries automatically and stored in binaries directory
# Run as root only # author @resouer @WIZARD-CXY
set -e #function cleanup {
# cleanup work
#rm -rf flannel* kubernetes* etcd* binaries
#}
#trap cleanup SIGHUP SIGINT SIGTERM pushd $(dirname $)
mkdir -p binaries/master
mkdir -p binaries/minion # flannel
FLANNEL_VERSION=${FLANNEL_VERSION:-"0.5.5"}
echo "Prepare flannel ${FLANNEL_VERSION} release ..."
grep -q "^${FLANNEL_VERSION}\$" binaries/.flannel >/dev/null || {
# curl -L https://github.com/coreos/flannel/releases/download/v${FLANNEL_VERSION}/flannel-${FLANNEL_VERSION}-linux-amd64.tar.gz -o flannel.tar.gz
# tar xzf flannel.tar.gz
# cp flannel-${FLANNEL_VERSION}/flanneld binaries/master
# cp flannel-${FLANNEL_VERSION}/flanneld binaries/minion
echo ${FLANNEL_VERSION} > binaries/.flannel
} # ectd
ETCD_VERSION=${ETCD_VERSION:-"2.3.1"}
ETCD="etcd-v${ETCD_VERSION}-linux-amd64"
echo "Prepare etcd ${ETCD_VERSION} release ..."
grep -q "^${ETCD_VERSION}\$" binaries/.etcd >/dev/null || {
# curl -L https://github.com/coreos/etcd/releases/download/v${ETCD_VERSION}/${ETCD}.tar.gz -o etcd.tar.gz
# tar xzf etcd.tar.gz
# cp ${ETCD}/etcd ${ETCD}/etcdctl binaries/master
echo ${ETCD_VERSION} > binaries/.etcd
} function get_latest_version_number {
local -r latest_url="https://storage.googleapis.com/kubernetes-release/release/stable.txt"
if [[ $(which wget) ]]; then
wget -qO- ${latest_url}
elif [[ $(which curl) ]]; then
curl -Ss ${latest_url}
else
echo "Couldn't find curl or wget. Bailing out." >&
exit
fi
} KUBE_VERSION=$(get_latest_version_number | sed 's/^v//') # k8s
echo "Prepare kubernetes ${KUBE_VERSION} release ..."
grep -q "^${KUBE_VERSION}\$" binaries/.kubernetes >/dev/null || {
# curl -L https://github.com/kubernetes/kubernetes/releases/download/v${KUBE_VERSION}/kubernetes.tar.gz -o kubernetes.tar.gz
# tar xzf kubernetes.tar.gz
# pushd kubernetes/server
# tar xzf kubernetes-server-linux-amd64.tar.gz
# popd
# cp kubernetes/server/kubernetes/server/bin/kube-apiserver \
# kubernetes/server/kubernetes/server/bin/kube-controller-manager \
# kubernetes/server/kubernetes/server/bin/kube-scheduler binaries/master
# cp kubernetes/server/kubernetes/server/bin/kubelet \
# kubernetes/server/kubernetes/server/bin/kube-proxy binaries/minion
# cp kubernetes/server/kubernetes/server/bin/kubectl binaries/
echo ${KUBE_VERSION} > binaries/.kubernetes
} #rm -rf flannel* kubernetes* etcd* echo "Done! All your binaries locate in kubernetes/cluster/ubuntu/binaries directory"
popd
【kubernetes】ubuntu14.04 64位 搭建kubernetes过程的更多相关文章
- VisualBox ubuntu14.04 64位 android4.4.4源码编译总结
转载请保留出处:http://www.cnblogs.com/wi100sh/p/4337907.html 折腾了好几天,今天终于编译通过,用了4个多小时,太不容易了.如下图所示: 软件环境 虚拟机: ...
- Ubuntu14.04 64位机上安装cuda8.0 cudnn5.0操作步骤 - 网络资源是无限的
查看Ubuntu14.04 64位上显卡信息,执行: lspci | grep -i vga lspci -v -s 01:00.0 nvidia-smi 第一条此命令可以显示一些显卡的相关信息:如果 ...
- Ubuntu14.04(64位)安装ATI_Radeon_R7_M265显卡驱动
电脑型号:Dell inspiron 14-5447 笔记本 显卡配置:集成显卡Intel核心显卡,Cpu是i5-4210U;独立显卡ATI_Radeon_R7_M265 网上关于ATI/Intel双 ...
- ubuntu14.04 64位 安装Tomcat
ubuntu14.04 64位 安装Tomcat 1 下载Tomcat 在htt://www.tomcat.apache.org官网上下载apache-tomcat-7.0.57.tar.gz 2 解 ...
- ubuntu14.04 64位 安装eclipse
ubuntu14.04 64位 安装eclipse 1 在官网上下载eclipse http://www.eclipse.org/downloads/下载eclipse-jee-luna-SR1-li ...
- ubuntu14.04 64位 安装JDK1.7
ubuntu14.04 64位 安装JDK1.7 1 新建文件夹 youhaidong@youhaidong:~$ sudo mkdir /usr/lib/jvm 2 解压文件 youhaidong@ ...
- Ubuntu14.04 64位机上安装OpenCV2.4.13(CUDA8.0)版操作步骤
Ubuntu14.04 64位机上安装CUDA8.0的操作步骤可以参考http://blog.csdn.net/fengbingchun/article/details/53840684,这里是在已经 ...
- Ubuntu14.04 64位机上安装cuda8.0+cudnn5.0操作步骤
查看Ubuntu14.04 64位上显卡信息,执行: lspci | grep -i vga lspci -v -s 01:00.0 nvidia-smi 第一条此命令可以显示一些显卡的相关信息:如果 ...
- ubuntu14.04 64位安装H3C iNode客户端
环境: OS:ubuntu14.04LTS 64位 iNode: iNode2.40-R0162 for linux(iNode只有32位的,而且是很久以前的版本) 安装方法: 第一种: 检查本机是6 ...
随机推荐
- 耐心排序Patience Sorting
这个排序的关键在建桶和入桶规则上 建桶规则:如果没有桶,新建一个桶;如果不符合入桶规则那么新建一个桶 入桶规则:只要比桶里最上边的数字小即可入桶,如果有多个桶可入,那么按照从左到右的顺序入桶即可 举个 ...
- IntelliJ IDEA使用技巧 (类比pycharm)
第1章 课程介绍 1)下载及安装2)界面介绍 ... ①界面中左右最边上的小窗口(旋转了90度的字体)都自带了下标,win下快捷键alt+index切换窗口 ②演示效果:模拟时钟,快捷键如,0到10 ...
- javaScript 进阶篇
1.js 数组 创建数组的语法: a. var myarray= new Array(8); myarray[0]=1;等等 b.var myarray = new Array(66,8,47,59, ...
- 【POJ】1222 EXTENDED LIGHTS OUT(高斯消元)
http://poj.org/problem?id=1222 竟然我理解了两天..... 首先先来了解异或方程组(或者说mod2方程组,modk的话貌似可以这样拓展出来) 对于一些我们需要求出的变量a ...
- 【Codeforces】868C. Qualification Rounds
[题目]C. Qualification Rounds [题意]给定n个问题和K个人,给定每个人知道的问题列表,求能否找到一个非空问题集合,满足每个人知道的集合中问题数量都不超过集合总题数的一半.n& ...
- 【NOIP】2016 换教室
[算法]期望DP+floyd [题解]用floyd预处理最短距离. 注意重边与自环——图论双毒!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! QAQ 然后搞清楚方案和概率的问 ...
- 20155335俞昆《java程序设计》第十周总结
学号 2016-2017-2 <Java程序设计>第十周学习总结 ## 事实上网络编程,我们可以简单的理解为两台计算机相互通讯数据而已,对于程序员而言,掌握一种编程接口并使用一种编程模型相 ...
- Spring cookie 实战(山东数漫江湖)
Cookie是什么 简单来说,cookie就是浏览器储存在用户电脑上的一小段文本文件.cookie 是纯文本格式,不包含任何可执行的代码.一个web页面或服务器告知浏览器按照一定规范来储存这些信息,并 ...
- Python3.3.3 安装(Linux系统)
1.wget http://www.python.org/ftp/python/3.3.3/Python-3.3.3.tgz //检查http://www.python.org/ftp/python网 ...
- 广度优先算法(BFS)与深度优先算法(DFS)
一.广度优先算法BFS(Breadth First Search) 基本实现思想 (1)顶点v入队列. (2)当队列非空时则继续执行,否则算法结束. (3)出队列取得队头顶点v: (4)查找顶点v的所 ...