在GCP上创建虚拟机实例
想要在GCP上使用kubeadm
搭建Kubernetes集群,用来平时使用,因此需要事先在GCP上创建几个虚拟机实例,用来部署集群。
创建虚拟机实例
首先登录GCP的控制台页面,如果没有项目,需要新建一个项目,这里项目示例为kubernetes-pytimer
。
新建项目后,选择该项目,进入信息中心
,在左侧的导航菜单中,选择Compute Engine
-> VM实例
,刚进入页面的时候,如果是新注册的用户,需要等待初始化Compute Engine,这个时候页面的创建
按钮是不可用的,等待初始化结束,按钮变亮后,即可创建虚拟机实例。
点击创建
按钮或者上方工具栏的创建实例
按钮。如图:
因为是要创建Kubernetes集群使用,而kubeadm
在部署集群之前是对机器有要求的,需要至少2核CPU和2GB内存,具体的要求可以参考官方文档说明,因此需要在创建虚拟机实例的时候选择合适规格。
选择虚拟机实例规格的操作比较简单,不进行描述,因为第一台机器需要作为集群的control plane节点,后续也会部署自己的组件,因此磁盘空间选择稍微大些。
这里创建了两台虚拟机实例,等待一会,可以看到两台虚拟机创建完成,并且已经有了内部IP和临时外部IP。如图:
本地Mac或者Linux连接虚拟机实例
自己开发电脑如果想要连接远程虚拟机,我们知道都是使用ssh
进行连接,默认GCP不允许直接使用root
进行远程连接,我们需要使用登录的GCP账号作为虚拟机的用户名进行登录才可以。关于如何登录虚拟机实例,官方有相关的文档,不过稍微有些麻烦,因此在这里进行简单的描述。
我们在本地使用ssh-keygen
生成ssh所需要的公钥和密钥,相关的操作,可以查阅。
ssh-keygen -t rsa -f ~/.ssh/k8smaster1 -C <USERNAME>
, USERNAME
是我们后面使用ssh登录机器的用户名,这样会生成两个文件,可以在~/.ssh
看到如下:
$ ll ~/.ssh
total 24
-rw------- 1 pytimer staff 1.8K 4 20 15:28 k8smaster1
-rw-r--r-- 1 pytimer staff 395B 4 20 15:28 k8smaster1.pub
-rw-r--r-- 1 pytimer staff 2.8K 4 20 13:19 known_hosts
查看k8smaster1.pub
文件内容格式为: ssh-rsa <content> <USERNAME>
,因为我们后面需要自己使用,因此当前制作密钥不设置过期时间。
接下来我们需要把ssh公钥在虚拟机实例上进行设置。具体的操作可以参考文档添加ssh-key到虚拟机实例。
设置完成后,使用ssh -i ~/.ssh/k8smaster1 <USERNAME>@<IP>
即可登录到虚拟机。
<IP>
是虚拟机的外部IP。