k8s:部署sentinel-dashboard

1、構(gòu)建鏡像(DockerFile)
2、本地測(cè)試鏡像(docker run)
3、上傳至harbor(192.168.100.204:80)
4、創(chuàng)建StatefulSet和service

StatefulSet
RC、Deployment、DaemonSet都是面向無(wú)狀態(tài)的服務(wù),它們所管理的Pod的IP、名字,啟停順序等都是隨機(jī)的,而StatefulSet是什么?顧名思義,有狀態(tài)的集合,管理所有有狀態(tài)的服務(wù),比如MySQL、MongoDB集群等。
StatefulSet本質(zhì)上是Deployment的一種變體,在v1.9版本中已成為GA版本,它為了解決有狀態(tài)服務(wù)的問(wèn)題,它所管理的Pod擁有固定的Pod名稱,啟停順序,在StatefulSet中,Pod名字稱為網(wǎng)絡(luò)標(biāo)識(shí)(hostname),還必須要用到共享存儲(chǔ)。
在Deployment中,與之對(duì)應(yīng)的服務(wù)是service,而在StatefulSet中與之對(duì)應(yīng)的headless service,headless service,即無(wú)頭服務(wù),與service的區(qū)別就是它沒(méi)有Cluster IP,解析它的名稱時(shí)將返回該Headless Service對(duì)應(yīng)的全部Pod的Endpoint列表。
除此之外,StatefulSet在Headless Service的基礎(chǔ)上又為StatefulSet控制的每個(gè)Pod副本創(chuàng)建了一個(gè)DNS域名,這個(gè)域名的格式為:
$(podname).(headless server name)
FQDN:$(podname).(headless server name).namespace.svc.cluster.local

https://blog.csdn.net/weixin_44729138/article/details/106054025
5、通過(guò)serviceIP訪問(wèn)

1、構(gòu)建鏡像(DockerFile)

# 基礎(chǔ)鏡像
FROM openjdk:8-jdk-alpine
# 作者(可選)
MAINTAINER fh
# 設(shè)置時(shí)區(qū)
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ENV LC_ALL "zh_CN.UTF-8"
# copy當(dāng)前工程jar包至容器內(nèi)
COPY sentinel-dashboard-1.8.1.jar /tmp/sentinel-dashboard-1.8.1.jar
# 運(yùn)行jar包,設(shè)置環(huán)境變量 JAVA_OPTS,通過(guò)docker run -e JAVA_OPTS='xxxxx'傳遞參數(shù),不能用 CMD [],讀取不到變量
CMD java ${JAVA_OPTS} -jar /tmp/sentinel-dashboard-1.8.1.jar

構(gòu)建:

docker build -t 192.168.100.204:80/sd/sentinel:v2 .

2、本地測(cè)試鏡像

docker run -d -p 81:8080 -e JAVA_OPTS='-Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=sentinel -Dserver.servlet.session.timeout=7200' 192.168.100.204:80/sd/sentinel:v2

瀏覽器訪問(wèn):localhost:81

3、上傳至harbor(192.168.100.204:80)

docker login 192.168.100.204:80
docker push 192.168.100.204:80/sd/sentinel:v2

4、創(chuàng)建StatefulSet和service

新增sentinel.yaml和sentinel-service.yaml

sentinel.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: sentinel
spec:
  serviceName: sentinel
  replicas: 1
  template:
    metadata:
      labels:
        app: sentinel
      annotations:
        pod.alpha.kubernetes.io/initialized: "true"
    spec:
      containers:
        - name: sentinel
          imagePullPolicy: IfNotPresent
          image: 192.168.100.204:80/sd/sentinel:v2
          ports:
            - containerPort: 8080
              name: client
          env:
            - name: TZ
              value: Asia/Shanghai
            - name: JAVA_OPTS
              value: "-Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=sentinel -Dserver.servlet.session.timeout=7200"
  selector:
    matchLabels:
      app: sentinel

sentinel-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: sentinel-svc
  labels:
    app: sentinel
spec:
  ports:
    - protocol: TCP
      name: http
      port: 8080
      targetPort: 8080
      nodePort: 31808
  type: NodePort
  selector:
    app: sentinel

k8s部署:

kubectl apply -f  sentinel.yaml
kubectl apply -f  sentinel-service.yaml

4、從外部通過(guò)serviceIP訪問(wèn)

192.168.100.202:31808

賬號(hào)sentinel 密碼sentinel

java 中的對(duì)應(yīng)配置去掉clientIp

sentinel:
  ip: 192.168.100.202:31808
spring:
  application:
    name: 66666666
  cloud:
    sentinel:
      transport:
        dashboard: ${sentinel.ip}
        port: 33000  #默認(rèn)為8719 ,
        
        heartbeatIntervalMs: 1000
      eager: true
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 今天青石的票圈出鏡率最高的,莫過(guò)于張藝謀的新片終于定檔了。 一張滿溢著水墨風(fēng)的海報(bào)一次次的出現(xiàn)在票圈里,也就是老謀...
    青石電影閱讀 10,983評(píng)論 1 2
  • 一、jQuery簡(jiǎn)介 JQ是JS的一個(gè)優(yōu)秀的庫(kù),大型開(kāi)發(fā)必備。在此,我想說(shuō)的是,JQ里面很多函數(shù)使用和JS類似,所...
    Welkin_qing閱讀 12,915評(píng)論 1 6
  • 字符串 1.什么是字符串 使用單引號(hào)或者雙引號(hào)括起來(lái)的字符集就是字符串。 引號(hào)中單獨(dú)的符號(hào)、數(shù)字、字母等叫字符。 ...
    mango_2e17閱讀 7,831評(píng)論 1 7
  • 一場(chǎng)說(shuō)走就走的旅行。 簡(jiǎn)單地整理幾件必備旅行用品,7.18日早上8.00準(zhǔn)時(shí)出發(fā)了,計(jì)劃一路南下然后繞西南一圈回恩...
    悠游魚(yú)閱讀 3,680評(píng)論 3 6
  • 原來(lái)看過(guò)一段話,第一厲害的人有能力沒(méi)脾氣,第二厲害的人有能力有脾氣,最差的是沒(méi)能力有脾氣的人。 以我最...
    涼風(fēng)豆豆閱讀 1,637評(píng)論 2 0

友情鏈接更多精彩內(nèi)容