介绍
前面的几篇文章从概念层面介绍了Kubernetes
是什么,它的内部架构是怎样的。并且也在电脑上安装了Minikube
--拥有一个单节点的Kubernetes
集群,让我们能够在自己的电脑上开始体验Kubernetes
。今天的文章我准备和大家一起一步步地尝试做一个Go
应用程序的Docker
镜像,把它部署到Minikuebe
上运行。今天的文章不需要什么基础,Kubernetes
的新手朋友们先一起上车学起来。
应用程序代码
我们用Go
写一个简单的HTTP Server
,Server
侦听3000端口包含"/"
和"/health_check"
两个路由,今天文章的关注点不在怎么用Go
开发程序所以都是Hello World
级别的代码,就不更多解释了,直接看代码吧。
package main
import (
"fmt"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "<h1>Hello World</h1>")
}
func check(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "<h1>Health check</h1>")
}
func main() {
http.HandleFunc("/", index)
http.HandleFunc("/health_check", check)
fmt.Println("Server starting...")
http.ListenAndServe(":3000", nil)
}
制作程序镜像
接下来开始制作包含应用程序代码的Docker
镜像。关于docker
相关的使用方法和如何编写Dockerfile
,可以在公众号里回复关键字docker获取完整的参考笔记。
dockerfile
在应用程序的根目录添加名为Dockerfile
的文件,在文件里添加如下指令:
FROM golang:alpine
RUN mkdir /app
COPY . /app
WORKDIR /app
RUN go build -o main .
CMD ["/app/main"]
build 镜像
在Dockerfile<