搭建私有云Leanote笔记(二)

上一篇我们已经安装好一个Leanote的镜像,下面我们把它部署到K8s上。

6.打包镜像

  • 将我们配置好的容器打包成镜像

  docker commit -a “leanote" -m “leanote" a404c6c174a2 zt/leanote:v2

  • 将打包好的镜像推送到DockerHub,推送成功后就可以在github里搜到我们的镜像啦。

  docker tagzt/leanote smilezt/leanote

  docker pushsmilezt/leanote

下面我们开始开启Kubernetes,小编是在Win10专业版中安装的。

7.Docker for Windows开启Kubernetes

  •   下载并安装Docker  for Windows,github上直接下载指定版本kubectl

    

  •  下载完成后解压,将kubectl.exe文件存放至C:\Windows\System32

  • 手动拉取Kubernetes需要的镜像。利用阿里云的同步镜像组件,而不用翻到kubernetes官网去下载。

> git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git

> cd k8s-for-docker-desktop

                      > git checkout v1.14.6      //切换至v1.14.6版本对应分支

下面是拉取成功后的目录结构

  • Windows PowerShell下执行脚本安装镜像:

              .\load_images.ps1

  • 安装镜像完成后,系统中镜像列表:

  • DokcerDesktop中,启动单节点kubernetes集群:

  • 查看kubectl安装结果:kubectlversion

  • 在集群中部署kubernetes-dashboard.yaml , 在控制台输入:kubectlproxy

8.部署Leanote镜像至Kubernetes

  • 创建镜像对应的RC配置文件,内容如下:

  • 通过kubectlcreate命令完成RC的创建和验证工作:

>kubectlcreate -fmyweb-rc.yaml

>kubectlgetrc

>kubectlget pods

  • 创建对应的Service,编写配置文件,内容如下:

运行kubectlcreate命令进行创建:kubectlcreate  -fleanote_service.yaml type=NodePortnodePort=30001的两个属性,表明此Service开启了NodePort方式的外网访问模式。在k8s集群之外,比如在本机的浏览器里,可以通过30002这个端口访问zxleanote,(对应到9000的虚端口上)。所以前面要关闭防火墙。

  • 使用kubectl查看前面创建的Service

kubectlget services

验证结果

   方法一:在本机浏览器输入本机ip地址+30002端口号。

   

方法二:在PowerShell中使用curl命令验证。

总结

  1. 在配置Leanote时,应注意保证其app.conf文件中 http.addr=0.0.0.0,否则启动后无法访问Leanote
  2. Kubernetes在安装时,为了加速事先拉取了国内镜像源,在拉取时一定要注意与自己Docker Desktopkubernetes的版本一致,否则无法安装成功。
  3. 编写部署相关的yaml文件使应注意每个文件之间参数的对应的关系,否则这些文件将无法建立关联关系。

版权声明:本文为weixin_38307489原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。