iT邦幫忙

2021 iThome 鐵人賽

DAY 10
0
DevOps

GCP的雲端世界系列 第 10

GKE (二)

GKE 應用

經過昨天說的建立GKE想必應該已經有了自己的叢集了,那如何在GCP上去使用GKE呢?可以參考下圖:
https://ithelp.ithome.com.tw/upload/images/20210828/20129516PyPb7ad2vZ.png

以這張圖來說,可以透過Google上面的Container Registry儲存空間去儲存Image,使用Deployment部署使用服務,(至於關於詳細Container Registry後面會在心得分享),這邊會先說明如何將自己寫的服務讓他在GKE上運行首先可以寫一個簡單的golang Print "Hello World" 服務後再專案後寫一個簡單的Dockerfile 如下:

RUN mkdir -p /go/src/test

COPY ./ /go/src/test

WORKDIR /go/src/test

RUN cd /go/src/test && go build -o Test

ENTRYPOINT ["./Test"]

執行結果如下圖:
https://ithelp.ithome.com.tw/upload/images/20210828/20129516LJYcRfPuPg.png

建立起Image後可以將其Image推向Container Registry這邊設定成GCP私倉(這邊因為會使用docker指令推向指定GCP上的私倉所以在IAM上需要開權限才可以使用以下指令)

docker tag  gcr.io/PROJECT_ID/test:latest gcr.io/PROJECT_ID/test:latest

docker push gcr.io/PROJECT_ID/test:latest

這時就可以在GPC上的Container Registry中看到本機建立的Image,後續只需要撰寫Deployment Service即可apply上GKE大致如下(Deployment):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-deployment
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test
  template:
    metadata:
      labels:
        app: test
    spec:
      containers:
      - name: test
        image: test:latest

關於上述提到的部署方式可以說是就是k8s的部署方式,基本上可以完全的使用kubectl指令方式執行與查看:

kubectl apply -f test.yaml

kubectl get pod -n {namespace} |grep test-deployment

https://ithelp.ithome.com.tw/upload/images/20210828/201295169aewr7AlKw.png


上一篇
GKE (一)
下一篇
VM 執行個體 (一)
系列文
GCP的雲端世界30

尚未有邦友留言

立即登入留言