确认!我已经创建了一个用于 Bluemix 的 Kubernetes 集群的跳板容器!

晚上好,我是@dz_,我叫大平香子。

引子 – 开头

在最近举办的「自习云学习室(带自习书!)#1」活动中,参加者展示了各自的专长和知识,我作为组织者也从中学到了很多!

尤其是从成员那里听说了”Bluemix的Kubernetes环境一个是免费的!”,我立马决定试试看!ヽ(☆’v`)★’v`)ノ

我先用 Docker 创建了一个能够通过 kubectl 访问 Bluemix Kubernetes 的跳板环境。

关于IBM Bluemix容器服务中的Kubernetes集群。

因为没有自己阅读文档,仅凭口头指导就继续推进,所以我完全没看过文件。接下来,我打算继续参考这些文档来进行工作。

    • Kubernetes クラスターと IBM Bluemix Container Service について | IBM Bluemix Container Service

Kubernetes クラスター作成 | IBM Bluemix Container Service

Lite: 2 CPU、4 GB メモリー、1 個のワーカー・ノードが付属する無料クラスター

然后,据说团队成员正在尝试的是这篇文章。

    Kubernetesを使ったスケーラブルなWordPress環境を構築してみた

尝试使用IBM Bluemix容器服务来测试Kubernetes集群。

创建一个 Kubernetes 集群

在Bluemix上登录,并打开”目录” > “容器” > “Kubernetes集群”。

请选择”Lite”以创建免费的集群,并继续进行。

因为创建集群需要一些时间,请继续向下进行。

创建一个包含Bluemix CLI和Kubectl的容器。

创建一个容器来连接已创建的Kubernetes集群。

我使用了以下的文件作为参考,来访问IBM Bluemix容器服务的集群界面。

    Setting up the CLI and API | IBM Bluemix Container Service

Dockerfile的释义

首先,我们准备一个 Dockerfile。

我以以下方式创建了一个基于Ubuntu的简单镜像,其中包含了Bluemix CLI和kubectl的安装。

8001端口是使用kubectl proxy启动的Kubernetes仪表板的默认端口。我们已经打开了它,以便从主机访问。

FROM ubuntu:16.04

RUN apt-get update -y && \
    apt-get install -y \
        curl \
        sudo

ENV BLCLI_INSTALLER blcli_installer

RUN curl -fsSL -o ${BLCLI_INSTALLER} https://clis.ng.bluemix.net/install/linux && \
    sh ./${BLCLI_INSTALLER} && \
    rm ./${BLCLI_INSTALLER}

RUN bx plugin install container-service -r Bluemix

RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && \
    chmod +x ./kubectl && \
    sudo mv ./kubectl /usr/local/bin/kubectl

EXPOSE 8001

顺便说一下,我安装了sudo,因为它在Bluemix CLI的安装脚本中使用。但是,在容器中我不太想安装它呢~。请确保只在试用环境中使用。

对于感兴趣的用户,似乎还有一种将tar.gz文件自行解压和安装为离线安装的方法。

    オフライン・インストール | Bluemix CLI 入門

使用创建的容器连接到IBM Bluemix容器服务。

一旦 Dockerfile 完成,我们将在该目录下继续操作。

# イメージをビルドする
docker build -t bl_kubectl .

# 8001 ポートを接続して、コンテナを起動し、bash にはいる
docker run -it -p 8001:8001 --rm=true bl_kubectl /bin/bash

在容器中,使用 bl_kubectl 命令登录到 Bluemix,并初始化 Container Service 插件。

# Bluemix にログインする
bx login -a https://api.ng.bluemix.net

# bx コマンドの Container Service プラグインの初期化を行う
bx cs init
bx cs cluster-config <your-cluster-name>

当被要求导出 KUBECONFIG 时,请立即执行。

将以下内容用中文进行释义,只需要一种选项:
例:
将KUBECONFIG导出为<配置文件路径>/kube-config-hou02-xxx.yml。

然后,使用 kubectl proxy 命令启动仪表板。在此期间,请指定 –address 参数为 0.0.0.0。如果没有指定此参数,将无法从容器外部连接,默认为 127.0.0.1。

kubectl proxy --address='0.0.0.0' &

如果没有错误,请在主机的浏览器中尝试访问 127.0.0.1:8001/ui ~

image.png

结语 – 最后

顺便说一下,最近网络命令貌似有所变化,听说现在可以用 ss 命令代替 netstat 呢!

在CentOS中,对于移动学习而言,似乎是这样替代的:
– 移动学习:CentOS6,CentOS7 系统命令兼容表

在Ubuntu上,ifconfig没有了,取而代之的是ip address show!

最后,在推进以上事项时,我在Mokumoku Cloud自习室遇见了大家,并从各位那里得到了很多教导。互惠互利,太棒了!ヽ(☆’v`)★’v`)ノ

广告
将在 10 秒后关闭
bannerAds