Kubernetes 系列:安装生产级的 K8s 集群
2018-07-19
概要
由于本地直接使用 minikube,屏蔽了很多操作细节,为了加深对 K8s 集群的理解,需要构造环境,安装一个生产级别的 K8s 集群。之前 minikube 的安装、使用:
目标:在 Mac 上,安装一个生产级别的 K8s 集群。
几个方面:
- 虚拟机:Mac 上,安装虚拟机,启动多个 CentOS 系统
- 构造 K8s 集群:基于上述的多个虚拟机,安装配置多节点的 K8s 集群
虚拟机
Mac 上,通过虚拟机,启动多个 CentOS 系统的虚拟节点,分为几个方面:
- 安装虚拟机
- 运行虚拟机
备注信息:当前安装环境的系统版本
- Mac:High Sierra 10.13.6
- VirtualBox:5.2.16 r123759 (Qt5.6.3)
- Linux:CentOS CentOS-7-x86_64-Everything-1804.iso
安装虚拟机
在 Mac 上,安装虚拟机,具体操作:
# 查询 virtualbox
brew search virtualbox
# 安装 virtualbox
brew cask install virtualbox
运行虚拟机
如何基于上述虚拟机,运行一个 CentOS 的实例呢?2 个步骤:
- 下载 CentOS 的镜像文件
- 运行虚拟机
从 CentOS Download,下载「Everything ISO」。
在 VirtualBox 中,创建并运行虚拟机。
网络配置
运行虚拟机之后,虚拟机正常情况下,是无法访问网络的,需要单独的配置。详细细节,可以参考:
我采用的也是「桥接网卡」模式:
- Mac 采用无线 wifi 接入外网
- 查询 Mac 接入 wifi 的网卡:
ifconfig
命令,查询到是网卡en0
- 为虚拟机配置一个网卡:
设置
-网络
-网卡2
- 连接方式:
桥接网卡
- 界面名称:
en0: Wi-Fi(AirPod)
- 连接方式:
- 启动虚拟机:在虚拟机内部
ping baidu.com
测试网络连通性
具体示意图:
SSH 免密登录
在本地 Mac 上,设置 3 个 Linux 虚拟机的免密登录,参考:
具体,配置 ssh 的快速登录方式:文件 ~/.ssh/config
中,增加如下配置
# local Mac kubernetes of virtualbox CentOS
Host master
User root
Port 22
HostName 172.17.18.29
Host node-1
User root
Port 22
HostName 172.17.18.173
Host node-2
User root
Port 22
HostName 172.17.18.174
通过下述方式,分发本地密钥,实现 SSH 免密登录:
// 上传公钥,配置免密码登录 (在 authorized_keys 后追加公钥)(有可能不需要执行 mkdir 命令)
cat ~/.ssh/id_rsa.pub | ssh master "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
// 上传公钥,配置免密码登录 (会覆盖 authorized_keys 中其他的公钥)
scp id_rsa.pub ssh master:/~/.ssh/authorized_keys
参考资料
原文地址:https://ningg.top/kubernetes-series-06-mac-general-kubernetes-installation/