Kubernetes单机部署手册

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011641865/article/details/73845460

一、 系统环境

本次部署的为单机Kubernetes环境,全程在Vmware Workstation中Ubuntu14.04系统的root权限下执行:

  • 操作系统:Ubuntu 14.04
  • Kubernetes curl https://get.docker.com | sh: 1.4.12
  • Docker Version: 17.05.0-ce
  • Vim Version:7.4.52
  • IP地址:10.30.5.213

二、安装依赖

**安装Docker、bridge-utils、openssh-server** 
    curl https://get.docker.com | sh
    sudo apt-get install bridge-utils
    sudo apt-get install openssh-server

三、配置免密登录

因为本文只安装单机Kubernetes,所以只配置免密登录本机:
    mkdir ~/.ssh
    cd ~/.ssh
    ~/.ssh# ssh-keygen -t rsa (会有提示输入密码,直接回车即可)
之后会在家目录下建立 .ssh 文件夹,内有id_rsa(私钥)和id_rsa.pub(公钥)两个文件。

三、安装Kubernetes

3.1 下载Kubernetes源码包
wget https://github.com/kubernetes/kubernetes/archive/v1.4.12.tar.gz
tar -xvzf v1.4.12.tar.gz

3.2 修改配置文件
编辑配置文件:

vim /usr/local/kubernetes-1.4.12/cluster/ubuntu/config-default.sh
##node信息,默认配置文件由三个物理node组成,其中第一个node既是master,也是minion,后两个是minion
export nodes=${nodes:-"vcap@10.10.103.250 vcap@10.10.103.162 vcap@10.10.103.223"}
# a表示Master,i表示minion
roles=${roles:-"ai i i"}

# minion node个数
export NUM_NODES=${NUM_NODES:-3}

##根据实际情况修改,其中export nodes是待安装Kubernetes的机器地址和无密码登录的用户。因为本文只有一个节点node,既是Master 又是 minion:

# 10.30.5.213为本机ip地址
export nodes=${nodes:-"root@10.30.5.213"}
roles=${roles:-"ai"}
export NUM_NODES=${NUM_NODES:-1}

3.3 下载etcd、flannel、Kubernetes
编辑 /usr/local/kubernetes-1.4.12/cluster/ubuntu/ download-release.sh文件,
因为Kubernetes会默认下载github上最新发布的Kubernetes版本,现在我们直接下载v1.4.12版本,所以,将文件内内容修改为如下图所示:
这里写图片描述

运行download-release.sh文件,
这一步是下载安装时需要的etcd、flannel以及Kubernetes:
这里写图片描述
3.4 注释download-release.sh 内容
步骤3.3 确认执行成功,etcd、flannel、Kubernetes确认下载完毕之后,打开download-release.sh 文件,将文件内所有内容注释掉(或者执行cp download-release.sh download-release.sh.BASE ,然后将download-release.sh 文件清空)。这一步的目的是因为 kube-up.sh 会调用download-release.sh 文件并执行下载,注释掉有助于将步骤进行分解。
3.5 启动集群
执行./kube-up.sh文件,启动Kubernetes:

export KUBERNETES_PROVIDER=ubuntu
./kube-up.sh

启动过程中需要多次输入密码!

这里写图片描述
这里写图片描述

到这里表示你已成功启动Kubernetes集群!
3.6 打开集群运行的网址
通过上面的图我们可以看到,Kubernetes master 正运行在http://10.30.5.213:8080上:
在浏览器输入http://10.30.5.213:8080
这里写图片描述

证明你已经启动成功!

四、测试

执行kubectl相关命令测试:

Kubectl version

这里写图片描述

Kubectl get nodes

这里写图片描述

3.8 复制二进制命令到/usr/bin 目录下
Kubernetes 的二进制文件存在位置为:

/usr/local/kubernetes-1.4.12/cluster/ubuntu/binaries

这里写图片描述
这里写图片描述
3.9 运行实例:

kubectl run my-nginx --image=nginx --replicas=2 --port=80

这里写图片描述

kubectl命令会穿件两个监听80端口的nginx pod. 还会创建一名为my-nginx个replication controller,用来保证始终会有两个pod在运行。
一旦这些pod被创建好了, 你可以列出他们并查看他们的启动和运行。
这里写图片描述

你也能够看见replication controller被创建了。
3.10 使用Docker查看

    docker ps

这里写图片描述

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试