在Windows上使用的VirtualBox中的Kubernetes安装程序
这是什么?
由于CoreOS的Kubernetes安装程序项目不支持Windows的VirtualBox,所以我自己创建了一个。
可以创建以下配置的Kubernetes环境。
-------------------------------
| Kubernetes |
-------------------------------
| Core OS | Core OS | Core OS |
-------------------------------
| VirtualBox | <- Vagrantで操作
-------------------------------
| Windows |
-------------------------------
| H/W |
-------------------------------
使用方法
前提条件 tí
需要安装了VirtualBox,并且在Windows的命令提示符中有以下命令行工具可用的环境。
-
- 7-Zip
-
- Git
-
- Kubernetes CLI
-
- OpenSSH
-
- OpenSSL
- Vagrant
请在下一章中,我还会详细介绍安装上述命令行工具的步骤。请确保已经完成VirtualBox的安装,然后再继续进行后续的步骤。
安装命令行工具集
如果未安装前提条件中所述的命令行工具,请按照以下步骤进行安装。
1. 安装Chocolatey
使用适用于Windows的软件包管理器Chocolatey来安装命令行工具。
1-1. 使用管理员身份运行命令提示符。
1-2. 将以下内容粘贴并执行。
> @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
1-3. 确认安装
显示版本信息以确认安装是否正常完成
> choco
Chocolatey v0.10.8
Please run 'choco -?' or 'choco <command> -?' for help menu.
2. 安装各个命令行工具。
以管理员身份运行命令提示符,使用Chocolatey安装各个命令行工具。对于尚未安装的工具,执行以下命令。
・7-Zip:七-壓縮
> choco install 7zip.install
· Git (a version control system) – 代码托管平台
> choco install git --params="/NoAutoCrlf" -y
・Kubernetes 命令行界面
> choco install kubernetes-cli
打开SSH
> choco install openssh
・OpenSSL 可在中文环境中打开
> choco install openssl.light
・游民
> choco install vagrant
安装完成后,请先关闭命令提示符窗口,然后再用普通用户身份重新启动。
获取安装脚本
由於安裝腳本位於GitHub上,您可以選擇將其Clone到任意文件夾,或者下載它。
如果要将其克隆到主目录中,需要启动命令提示符并运行以下命令。
> cd %HOMEPATH%
> git clone https://github.com/hhiroshell/coreos-kubernetes.git
启动(虚拟机和)Kubernetes集群
使用Vagrant来启动虚拟机和Kubernetes集群。
如果要配置单节点集群
> cd %HOMEPATH%\coreos-kubernetes\single-node
> vagrant up
构建一个多节点的群集时,如果。
> cd %HOMEPATH%\coreos-kubernetes\multi-node\vagrant
> vagrant up
多节点集群默认会启动一台虚拟机用于控制器(controller)、工作节点(worker)和etcd。如果想增加这些数量,可以将config.rb.sample文件重命名为config.rb,并将要指定属性的行注释掉或更改其值。
如果你想要有两个工作人员,可以这样做。
#$update_channel="alpha"
#$controller_count=1
#$controller_vm_memory=512
$worker_count=2
#$worker_vm_memory=1024
#$etcd_count=1
#$etcd_vm_memory=512
注意:
第一次运行`vagrant up`时,将在虚拟机启动后进行Kubernetes各个组件的安装。
由于需要下载软件包,会产生相当大的通信量,建议在具有足够网络速度的环境中运行。据筆者的感受,在每秒数十MB的环境下,大约需要5-10分钟。
Kubernetes CLI的配置设置
为了操作已启动的集群,我们可以使用Kubernetes CLI。在这里,我们需要进行CLI配置,以便连接到目标集群。
单节点情况
> kubectl config set-cluster vagrant-single-cluster --server=https://172.17.4.99:443 --certificate-authority=%cd%/ssl/ca.pem
> kubectl config set-credentials vagrant-single-admin --certificate-authority=%cd%/ssl/ca.pem --client-key=%cd%/ssl/admin-key.pem --client-certificate=%cd%/ssl/admin.pem
> kubectl config set-context vagrant-single --cluster=vagrant-single-cluster --user=vagrant-single-admin
> kubectl config use-context vagrant-single
在有多个节点的情况下 duō gè de xià)
> kubectl config set-cluster vagrant-multi-cluster --server=https://172.17.4.101:443 --certificate-authority=%cd%\ssl\ca.pem
> kubectl config set-credentials vagrant-multi-admin --certificate-authority=%cd%\ssl\ca.pem --client-key=%cd%\ssl\admin-key.pem --client-certificate=%cd%\ssl\admin.pem
> kubectl config set-context vagrant-multi --cluster=vagrant-multi-cluster --user=vagrant-multi-admin
> kubectl config use-context vagrant-multi
注意:
Kubernetes CLI的配置信息默认会写入以下配置文件,并根据其进行操作。
- %HOMEPATH%.kube\config
如果你想要指定要引用的配置文件路径,可以通过环境变量KUBECONFIG来指定并引用。此外,要确认当前应用的配置信息,可以执行以下命令。
> kubectl config view
请确认连接。
展示组成集群的节点,并确认Kubernetes和Kubernetes CLI正在运行。
> kubectl get nodes
NAME STATUS AGE VERSION
172.17.4.99 Ready 3d v1.5.4+coreos.0
提供的信息
在撰写本文时,实际操作确认所使用的环境如下。
-
- プラットフォーム
Windows 10 Pro: Version 1607(Anniversary Update)
VirtualBox: 5.1.22 r115126 (Qt5.6.2)
コマンドラインツール
7-Zip (install): 16.4.0.20170506
Git for Windows: 2.14.1
Kubernetes CLI: v1.7.5
OpenSSH: OpenSSH_7.5p1, LibreSSL 2.5.3
OpenSSL: OpenSSL 1.1.0f 25 May 2017
Vagrant: 2.0.0