阿里雲伺服器使用minikube構建開發服務
服務程式碼
main.go
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
服務程式碼檔案:在/root/hello資料夾下
main.go go.mod go.sum
Dockerfile
FROM golang:latest
WORKDIR /root/hello
COPY ./hello /root/hello
RUN ls
RUN go env -w GO111MODULE=on && \
go env -w GOPROXY=https://goproxy.cn,direct
RUN CGO_ENABLED=0 GOOS=linux go build -o hello .
FROM alpine:latest
WORKDIR /root/
COPY --from=0 /root/hello/hello .
ENTRYPOINT ["./hello"]
程式碼在Dockerfile並列目錄hello下
Dockerfile hello(main.go)
wzzz是我在dockerhub的使用者
docker build -t hellowz:latest .
docker tag hellowz:latest wzzz/hellowz:latest
docker pull wzzz/hellowz"latest
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: wzhi
spec:
replicas: 3
selector:
matchLabels:
app: wzhi
template:
metadata:
labels:
app: wzhi
spec:
containers:
- name: wzhi
image: wzzz/hellowz:latest
ports:
- containerPort: 8080
kubectl create -f deployment.yaml
kubectl get pod -o wide
kubectl describe pod xxx 如果pod一致在建立中,執行該命令檢視構建過程
service.yaml
apiVersion: v1
kind: Service
metadata:
name: wzhi
spec:
type: NodePort
ports:
- port: 8080
targetPort: 8080
selector:
app: wzhi
kubectl create -f service.yaml
kubectl get service -o wide
minikube service wzhi
//代理k8s內部服務被外部9999埠訪問
nohup kubectl proxy --port=9999 --address='172.31.185.142' --accept-hosts='^.*' &
並且暴漏外面埠 33567, 代理地址到xxxx(阿里雲內網ip) 自動轉發到我阿里雲外網ip,我就可以通過外網開啟 dashboard了
訪問暴露的服務
curl http://[k8s-master]:9999/api/v1/namespaces/[namespace-name]/services/[service-name]/proxy/[youruri]
//大多數的Kubernetes中的叢集預設會有一個叫default的namespace。
http://阿里雲外網ip:9999/api/v1/namespaces/default/services/wzhi/proxy/ping
相關文章
- 使用java開發阿里雲OSS開放雲端儲存服務Java阿里
- hyperf從零開始構建微服務(一)——構建服務提供者微服務
- hyperf從零開始構建微服務(二)——構建服務消費者微服務
- 使用SpringBoot構建REST服務-什麼是REST服務Spring BootREST
- 使用 TiKV 構建分散式類 Redis 服務分散式Redis
- Java微服務開發指南 -- 使用Spring Boot構建微服務Java微服務Spring Boot
- PHP開發阿里雲簡訊服務介面PHP阿里
- 構建Web API服務WebAPI
- 阿里雲伺服器部署Mongodb服務阿里伺服器MongoDB
- 使用CXF開發RESTFul服務REST
- 使用Spring Boot 2.0快速構建服務元件Spring Boot元件
- 使用 Nginx 構建前端日誌統計服務Nginx前端
- 使用Docker構建你的第一個服務Docker
- 構建應用層服務
- [譯] 使用 Go 和 AWS Lambda 構建無服務 APIGoAPI
- 使用 Jersey 和 Apache Tomcat 構建 RESTful Web 服務ApacheTomcatRESTWeb
- Minikube:使用 Kubernetes 進行本地開發
- spring boot構建restful服務Spring BootREST
- 用 Golang 構建 gRPC 服務GolangRPC
- swoole 服務的建構函式函式
- 負載均衡-構建CDN服務負載
- 用 Hystrix 構建高可用服務架構架構
- 阿里雲訊息服務使用教程阿里
- GraphQL介紹&使用nestjs構建GraphQL查詢服務JS
- SpringCloud構建微服務架構-Hystrix服務降級SpringGCCloud微服務架構
- GreatSQL 構建高效 HTAP 服務架構指南(MGR)SQL架構
- Spring Cloud構建微服務架構—服務容錯保護(Hystrix服務降級)SpringCloud微服務架構
- 用 GIN 構建一個 WEB 服務Web
- Nginx網站服務與LNMP構建Nginx網站LNMP
- 構建SpringCloud閘道器服務SpringGCCloud
- Spring Cloud構建微服務架構-服務閘道器SpringCloud微服務架構
- Spring Cloud構建微服務架構-Hystrix服務降級SpringCloud微服務架構
- 面向服務的整車E/E架構(SOA)開發諮詢服務架構
- 阿里雲ECS伺服器部署Dart服務端程式阿里伺服器Dart服務端
- Topshelf一個用於使用.NET構建Windows服務框架Windows框架
- 使用Spring Boot和GraphQL構建靈活的API服務Spring BootAPI
- 使用 Docker 開發 - 使用多階段構建映象Docker
- go基於grpc構建微服務框架-服務註冊與發現GoRPC微服務框架