国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端需要了解的 Docker 與 Kubernetes 知識

孫吉亮 / 639人閱讀

摘要:打開終端執(zhí)行,再開一個(gè)終端輸入輸出,則表示該服務(wù)沒有問題。將服務(wù)打包成鏡像,然后將鏡像實(shí)例化并運(yùn)行,方便部署。此處以我的賬號為例,需要推送到你自己的賬號。是一種自動化運(yùn)維工具,本文主要需要了解,,三個(gè)概念。至此成功使用部署應(yīng)用。

本文將以一個(gè)簡單的示例演示如何使用 Docker 與 Kubernetes 部署應(yīng)用上線。

Http Service

首先使用 Go 語言搭建一個(gè)簡單的 Http 服務(wù),監(jiān)聽 8080 端口。

main.go
package main

import (
  "fmt"
  "net/http"
)

func main() {
  http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, World")
  })

  http.ListenAndServe(":8080", nil)
}

打開終端執(zhí)行 go run main.go,再開一個(gè)終端輸入 curl http://127.0.0.1:8080 輸出 Hello,World 則表示該 Http 服務(wù)沒有問題。

Docker

將 Http 服務(wù)打包成 Docker 鏡像,然后將鏡像實(shí)例化并運(yùn)行,方便部署。

構(gòu)建
Dockerfile
# 拉取 golang 鏡像,提供程序運(yùn)行環(huán)境
FROM golang:1.11
# 創(chuàng)建 code 目錄,存放 golang 代碼
RUN mkdir /code
# 將當(dāng)前目錄下的文件拷貝到 docker 中的 code 目錄
COPY . /code/
# 將 code 目錄設(shè)為工作區(qū)
WORKDIR /code
# 編譯 go 文件,輸入名字為 main 的二進(jìn)制文件
RUN go build -o main .
# 執(zhí)行 code 目錄下 main 的二進(jìn)制文件
ENTRYPOINT ["/code/main"]

執(zhí)行 docker build -f ./Dockerfile -t go . 構(gòu)建名字為 go 的鏡像。本地從 DockerHub 上拉取鏡像慢,推薦使Play with Docker構(gòu)建。

由上圖可以看出除了我們拉取的 golang 鏡像還多出了我們自己構(gòu)建的 go 鏡像。

驗(yàn)證

創(chuàng)建一個(gè) go 鏡像的實(shí)例看下我們的 Http 服務(wù)是否已經(jīng)啟動,執(zhí)行 docker run -dt --name go go 基于 go 鏡像創(chuàng)建一個(gè) go 的實(shí)例,執(zhí)行 docker exec -it go sh 進(jìn)入到 go 實(shí)例,執(zhí)行 curl http://127.0.0.1:8080 查看是否輸入 Hello,World

推送

執(zhí)行 docker tag 43f7215dd448 pldaily/go:helloworld 給我們的 go 鏡像打一個(gè) tag,執(zhí)行 docker push pldaily/go 將你的 go 鏡像推到 DockerHub。此處以我的賬號為例,需要推送到你自己的賬號。

部署

執(zhí)行 docker rm -f go 刪除之前生成的 go 實(shí)例,執(zhí)行 docker run -d -p 80:8080 --name go go 將服務(wù)器 80 端口映射到 docker 內(nèi)部 8080 端口,如果需要可再通過 nginx 反向代理實(shí)現(xiàn)部署。

雖然這樣也能達(dá)到部署的目的,但是 docker 實(shí)例進(jìn)程與 nginx 均需要自己維護(hù),讓我們看下 Kubernetes 能幫我們做些什么。

Kubernetes

Kubernetes 是一種自動化運(yùn)維工具,本文主要需要了解 Pod,Deloyment,Service 三個(gè)概念。

Pod 是Kubernetes 最基本的操作單元

Deployment 用于管理Pod

Service 提供 Pod 的對外訪問接口

Minikube

Minikube 是一個(gè)輕量級的 Kubernetes 實(shí)現(xiàn),會在本機(jī)創(chuàng)建一臺虛擬機(jī),并部署一個(gè)只包含一個(gè)節(jié)點(diǎn)的簡單集群。由于國內(nèi)網(wǎng)絡(luò)問題,推薦使用阿里云鏡像的 Minikube。本地如果搭建有問題,可以使用Play with Kubernetes。

Deployment
go-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: go-deployment
  labels:
    app: go
spec:
  # 起 3 個(gè)replicated Pods
  replicas: 3
  # 哪個(gè) pod 被管理
  selector:
    matchLabels:
      app: go
  # 運(yùn)行的容器
  template:
    metadata:
      labels:
        app: go
    spec:
      containers:
      - name: go
        # 要拉取的鏡像
        image: pldaily/go:helloworld
        ports:
        # 暴露的端口
        - containerPort: 8080

執(zhí)行 kubctl create -f go-deployment.yaml 創(chuàng)建 Deployment,該 Deployment 會啟 3個(gè) replicated Pods。

Service
go-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: go-service
spec:
  type: NodePort
  sessionAffinity: ClientIP
  selector:
    app: go
  ports:
    # svc 暴露的端口
    - port: 8080
      # 對外暴露的端口
      nodePort: 30081

執(zhí)行 kubctl create -f go-service.yaml 啟一個(gè) service 將端口暴露出來。

至此成功使用 Kubernetes 部署應(yīng)用。

參考

https://my.oschina.net/u/2306127/blog/1647246
https://github.com/PLDaily/docker

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/32956.html

相關(guān)文章

  • 前端需要了解 Docker Kubernetes 知識

    摘要:打開終端執(zhí)行,再開一個(gè)終端輸入輸出,則表示該服務(wù)沒有問題。將服務(wù)打包成鏡像,然后將鏡像實(shí)例化并運(yùn)行,方便部署。此處以我的賬號為例,需要推送到你自己的賬號。是一種自動化運(yùn)維工具,本文主要需要了解,,三個(gè)概念。至此成功使用部署應(yīng)用。 本文將以一個(gè)簡單的示例演示如何使用 Docker 與 Kubernetes 部署應(yīng)用上線。 Http Service 首先使用 Go 語言搭建一個(gè)簡單的 Ht...

    ChristmasBoy 評論0 收藏0
  • Kubernetes從上手到實(shí)踐》正式上線

    摘要:有很大一部分的休息時(shí)間都用來完成了我的第一本掘金小冊從上手到實(shí)踐小冊已經(jīng)正式上線,特意送上各位小伙伴一份禮物,小冊折優(yōu)惠。 時(shí)間飛逝,轉(zhuǎn)眼今年又要結(jié)束了。感謝還在關(guān)注的小伙伴,今年確實(shí)更新很少,能不取關(guān)的都是真愛... 今年發(fā)生了很多事情,留著過幾天年終總結(jié)的時(shí)候再說。有很大一部分的休息時(shí)間都用來完成了我的第一本掘金小冊 《Kubernetes 從上手到實(shí)踐》 showImg(http...

    CarterLi 評論0 收藏0
  • Kubernetes從上手到實(shí)踐》正式上線

    摘要:有很大一部分的休息時(shí)間都用來完成了我的第一本掘金小冊從上手到實(shí)踐小冊已經(jīng)正式上線,特意送上各位小伙伴一份禮物,小冊折優(yōu)惠。 時(shí)間飛逝,轉(zhuǎn)眼今年又要結(jié)束了。感謝還在關(guān)注的小伙伴,今年確實(shí)更新很少,能不取關(guān)的都是真愛... 今年發(fā)生了很多事情,留著過幾天年終總結(jié)的時(shí)候再說。有很大一部分的休息時(shí)間都用來完成了我的第一本掘金小冊 《Kubernetes 從上手到實(shí)踐》 showImg(http...

    andot 評論0 收藏0
  • Kubernetes從上手到實(shí)踐》正式上線

    摘要:有很大一部分的休息時(shí)間都用來完成了我的第一本掘金小冊從上手到實(shí)踐小冊已經(jīng)正式上線,特意送上各位小伙伴一份禮物,小冊折優(yōu)惠。 時(shí)間飛逝,轉(zhuǎn)眼今年又要結(jié)束了。感謝還在關(guān)注的小伙伴,今年確實(shí)更新很少,能不取關(guān)的都是真愛... 今年發(fā)生了很多事情,留著過幾天年終總結(jié)的時(shí)候再說。有很大一部分的休息時(shí)間都用來完成了我的第一本掘金小冊 《Kubernetes 從上手到實(shí)踐》 showImg(http...

    leon 評論0 收藏0
  • 數(shù)人云|當(dāng)K8S遇上微服務(wù)-京東金融PaaS平臺思考實(shí)踐

    摘要:平臺上的微服務(wù)架構(gòu)應(yīng)用再來看一下我眼中的基于當(dāng)前最流行的微服務(wù)架構(gòu)的設(shè)計(jì)是什么樣的,即我們平臺上要運(yùn)行的典型應(yīng)用是什么樣的。 showImg(https://segmentfault.com/img/remote/1460000010900878); 8月19日的數(shù)人云Container Meetup上,張龍老師做了《基于Kubernetes的PaaS平臺的設(shè)計(jì)和思考》的精彩分享,分別...

    Imfan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<