【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 ...
随机推荐
- 解决gitlab关闭登录选项问题
1.连接资料库 mysql -uroot -p 2.use gitlabhq_production; 3.进入后,输入下面语句UPDATE application_settings se ...
- Python遍历文件夹和读写文件的方法
需 求 分 析 1.读取指定目录下的所有文件2.读取指定文件,输出文件内容3.创建一个文件并保存到指定目录 实 现 过 程 Python写代码简洁高效,实现以上功能仅用了40行左右的代码~ 昨天用Ja ...
- windows下用时间戳创建文件名
英文环境下: echo Archive_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.zip 中文: ...
- 【HDU】2222 Keywords Search
[算法]AC自动机 [题解]本题注意题意是多少关键字能匹配而不是能匹配多少次,以及可能有重复单词. 询问时AC自动机与KMP最大的区别是因为建立了trie,所以对于目标串T与自动机串是否匹配只需要直接 ...
- 【BZOJ】1666 [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏
[算法]贪心&&堆 [题解]反过来看就是合并任意两块木板,花费为木板长度之和. 显然从最小的两块开始合并即可,用堆(优先队列)维护. 经典DP问题石子归并是只能合并相邻两堆石子,所以不 ...
- 20、redis和memcached比较?
1.Redis和Memcache都是将数据存放在内存中,都是内存数据库.不过memcache还可用于缓存其他东西,例如图片.视频等等: 2.Redis不仅仅支持简单的k/v类型的数据,同时还提供lis ...
- bzoj 3028 母函数
首先我们可以求出来所有食物的母函数: 汉堡:f(x)=1/(1-x^2). 可乐:f(x)=1+x. 鸡腿:f(x)=1+x+x^2. 蜜桃多:f(x)=x/(1-x^2). 鸡块:f(x)=1/(1 ...
- bzoj 2730 割点
首先我们知道,对于这张图,我们可以枚举坍塌的是哪个点,对于每个坍塌的点,最多可以将图分成若干个不连通的块,这样每个块我们可能需要一个出口才能满足题目的要求,枚举每个坍塌的点显然是没有意义的,我们只需要 ...
- Runas replacement tool
1. RunAsSpc Runas 无法在脚本中输入密码,可以使用RunAsSpc替代. RunAsSpc = runas + password + encryption https://robotr ...
- ifa_local 和 ifa_address
ifa_local 和 ifa_address区别联系: 1. 在配置了支持广播的接口上,与IFA_LOCAL一样,同样表示本地ip地址: 2. 对于点对点链路,IFA_ADDRESS表示的是对端的地 ...