国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

這篇具有很好參考價(jià)值的文章主要介紹了應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


一、docker run 運(yùn)行測試

小唐的項(xiàng)目主要是(mysql+jar+vue),然后所有項(xiàng)目都是打包好了的,然后現(xiàn)在我們用docker run 來測試一下

1.數(shù)據(jù)庫測試

1.存儲(chǔ)文件夾

mkdir -p mysql/data mysql/init mysql/conf

data 文件夾是數(shù)據(jù)存儲(chǔ)目錄  (如果mysql初始化錯(cuò)誤  需要將文件夾內(nèi)部全部刪除)
init 文件夾可以放置 .sh .sql 文件 在初始化容器時(shí)會(huì)執(zhí)行
conf 文件夾 放置 my.cnf 配置文件

并將我們的sql文件轉(zhuǎn)移至init
在編寫mysql文件之前,我們可以先使用docker鏡像的方式去看看我們的sql文件是否可以正確導(dǎo)入至我們的容器

2.準(zhǔn)備好對于位置
應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

3.運(yùn)行docker中鏡像

docker run -d --name mysql-container \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=bilibili \
-v /home/xiaotang0711/Desktop/docker/sql:/docker-entrypoint-initdb.d \
mysql:8.0

MYSQL_DATABASE#你數(shù)據(jù)庫名
-V 本機(jī)地址:/docker-entrypoint-initdb.d #這個(gè)位置會(huì)在mysql啟動(dòng)時(shí)自動(dòng)執(zhí)行
docker exec -it <容器id> mysql -u root -p

檢查是否執(zhí)行成功

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

2.接口測試

docker run -d -p 8081:8081  \
-v /home/xiaotang0711/Desktop/docker/hadoop.jar:/usr/hadoop.jar \
--name springboot java:8u111  \
java -jar /usr/hadoop.jar

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)
應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

3.前端界面測試

docker run  -d  -p 80:80 \
--name nginx \
-v /home/xiaotang0711/Desktop/docker/dist:/usr/share/nginx/html:ro \
nginx

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

在上訴運(yùn)行沒有問題之后,我們?nèi)ゾ帉懳覀兯鶎?yīng)的dockekfile

二、編寫dockerfile

由于本應(yīng)用主要有前端和后端組成,將它們分別打包為不同的鏡像,并在部署時(shí)進(jìn)行組合使用。這樣可以更加靈活地管理和升級(jí)應(yīng)用,同時(shí)也方便擴(kuò)展和維護(hù)。根據(jù)上訴打包過程中的dockerfile 進(jìn)行如下編寫【依據(jù)我們docker run中代碼進(jìn)行編寫,會(huì)用chatgpt的可以把docker run的代碼給他,讓他幫你寫dockerfile】

1.前端

# 基于官方 nginx 鏡像創(chuàng)建新的鏡像
FROM nginx
# 將主機(jī)的 dist 目錄映射到容器內(nèi)的 /usr/share/nginx/html 目錄,并且使用只讀模式
VOLUME /usr/share/nginx/html
COPY dist /usr/share/nginx/html
RUN chmod -R a+r /usr/share/nginx/html
# 暴露容器的默認(rèn)端口 80
EXPOSE 80
docker build -t qianduan .
docker run -d -p 80:80 --name qianduanqianduan

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)
應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

2.后端

# 基于mysql:8.0鏡像創(chuàng)建新的鏡像
FROM mysql:8.0

# 設(shè)置環(huán)境變量
ENV MYSQL_ROOT_PASSWORD=root
ENV MYSQL_DATABASE=bilibili
ENV MYSQL_USER=nacos
ENV MYSQL_PASSWORD=nacos
# 將sql文件夾中的文件復(fù)制到容器中的初始化腳本目錄下
COPY ./mysql/init /docker-entrypoint-initdb.d/
# 將配置文件復(fù)制到容器內(nèi)
COPY ./mysql/conf/my.cnf /etc/mysql/my.cnf
# 掛載數(shù)據(jù)卷
VOLUME /var/lib/mysql/
# 暴露端口
EXPOSE 3306
# 修改默認(rèn)密碼策略
CMD ["mysqld", "--default-authentication-plugin=mysql_native_password", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_general_ci", "--explicit_defaults_for_timestamp=true", "--lower_case_table_names=1"]

# 基于java:8u111鏡像創(chuàng)建新的鏡像
FROM java:8u111
# 復(fù)制應(yīng)用程序jar包到容器內(nèi)
COPY ./hadoop.jar /usr/hadoop.jar
# 暴露端口
EXPOSE 8081
# 啟動(dòng)springboot應(yīng)用
CMD ["java", "-jar", "/usr/hadoop.jar"]
docker build -t houduan .
docker run -d -p 3306:3306 -p 8081:8081 houduan 

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)
應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

三、推送鏡像(后面k8s就從這里獲取鏡像了)

【官網(wǎng)倉庫參考】Ubantu docker學(xué)習(xí)筆記(三)docker賬號(hào)push及Dockerfile優(yōu)化
【私有倉庫參考】Ubantu docker學(xué)習(xí)筆記(八)私有倉庫

登錄
應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

Push鏡像

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)
應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

四.編寫 docker-compose.yml

這個(gè)是為了可以一鍵啟動(dòng)和終止我們的鏡像
根據(jù)上訴dockfile打包的命令,我們進(jìn)行dockers-compose.yml的編寫【也可以用chatgpt來寫】,不用部署K8S的做到這一步就ok了

version: '3'
services:
  houduan:
    image: xiaotang0711/houduan
    ports:
      - '3306:3306'
      - '8081:8081'

  qianduan:
    image: xiaotang0711/qianduan
    ports:
      - '80:80'
    container_name: qianduan
docker compose up -d
docker compose down

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

五.K8s部署

1.yaml文件編寫及部署

主要分為service和deployment兩個(gè)文件的編寫,deployment指明的是我們pod里面的內(nèi)容,service指明的是我們一個(gè)pod集合的類容【包括總的端口和ip地址】

houduan-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: houduan-deployment
spec:
  selector:
    matchLabels:
      app: houduan
  replicas: 1
  template:
    metadata:
      labels:
        app: houduan
    spec:
      containers:
      - name: houduan
        image: xiaotang0711/houduan
        ports:
        - containerPort: 3306
        - containerPort: 8081

houduan-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: houduan-service
spec:
  selector:
    app: houduan
  ports:
  - name: mysql
    port: 3306
    targetPort: 3306
  - name: http
    port: 8081
    targetPort: 8081

qianduan-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: qianduan-deployment
spec:
  selector:
    matchLabels:
      app: qianduan
  replicas: 1
  template:
    metadata:
      labels:
        app: qianduan
    spec:
      containers:
      - name: qianduan
        image: xiaotang0711/qianduan
        ports:
        - containerPort: 80

qianduan-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: qianduan-service
spec:
  selector:
    app: qianduan
  ports:
  - name: http
    port: 80
    targetPort: 80

然后去運(yùn)行我們的ymal文件就可以啦

kubectl create namespace app
kubectl apply -f houduan-deployment.yaml
kubectl apply -f houduan-service.yaml
kubectl apply -f qianduan-deployment.yaml
kubectl apply -f qianduan-service.yaml

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

kubectl get pods -n app
kubectl get services -n app

2. 應(yīng)用的伸縮與不停機(jī)升級(jí)

kubectl get deployments -n app
kubectl get rs -n app
kubectl scale deployments/houduan-deployment --replicas=4-n app

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)
也可以使用自動(dòng)擴(kuò)縮

autoscaler.yaml

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: example-autoscaler
  namespace: houduan
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: houduan-deployment
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      targetAverageUtilization: 50
kubectl apply  -f  autoscaler.yaml
kubectl get hpa -n app #查看

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

滾動(dòng)更新

kubectl rollout undo deployments/houduan-deployment

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

六.K8s容器監(jiān)控

大家可以參考
Kubernetes集群資源監(jiān)控
我是按照他來的
K8S版本:1.27.1

需要保證我們節(jié)點(diǎn)都啟動(dòng)起來
應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)
先去看我們普羅米修斯的服務(wù)器
應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)

應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)文章來源地址http://www.zghlxwxcb.cn/news/detail-506365.html

到了這里,關(guān)于應(yīng)用打包部署k8s (包括dockerfile打包及倉庫上傳)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • K8s集群Harbor私有倉庫部署+ssl證書申請

    K8s集群Harbor私有倉庫部署+ssl證書申請

    首先打開ssl證書服務(wù)控制臺(tái) 然后點(diǎn)擊SSL證書—免費(fèi)證書—立即購買 注意此證書只支持單域名,最多可免費(fèi)申請20個(gè),而且一個(gè)賬號(hào)只有一次免費(fèi)機(jī)會(huì),證書有效期為一年 購買完免費(fèi)證書后,然后創(chuàng)建自己域名的證書即可 下載(下載類型選擇其他)我們申請的證書 上傳到harbor所

    2024年01月15日
    瀏覽(45)
  • k8s使用helm部署Harbor鏡像倉庫并啟用SSL

    k8s使用helm部署Harbor鏡像倉庫并啟用SSL

    參照:https://zhaoll.blog.csdn.net/article/details/128155767 有多種安裝方式,根據(jù)自己的k8s版本選擇合適的helm版本 參考:https://blog.csdn.net/qq_30614345/article/details/131669319 我們這里使用helm安裝harbor,項(xiàng)目地址:https://github.com/goharbor/harbor-helm (1)拉取項(xiàng)目文件 (2)解壓并修改配置 tar -z

    2024年02月16日
    瀏覽(30)
  • k8s系列-kuboard創(chuàng)建工作負(fù)載 docker上傳java微服務(wù)jar包到倉庫的過程

    1.查看環(huán)境中是否存在docker環(huán)境 docker version 2.不存在的話需要?jiǎng)?chuàng)建docker 1.環(huán)境說明 1.開發(fā)人員將java微服務(wù)打包成在linux中可運(yùn)行的jar包,將其傳送給運(yùn)維人員 2.外網(wǎng)和內(nèi)網(wǎng)可以傳送文件 3.內(nèi)網(wǎng)需要有l(wèi)inux服務(wù)器,并且配置了docker環(huán)境和命名空間 這里過程是基于k8s的集群kuoard控

    2024年02月05日
    瀏覽(16)
  • k8s 入門到實(shí)戰(zhàn)--部署應(yīng)用到 k8s

    k8s 入門到實(shí)戰(zhàn)--部署應(yīng)用到 k8s

    k8s 入門到實(shí)戰(zhàn) 01.png 本文提供視頻版: 最近這這段時(shí)間更新了一些 k8s 相關(guān)的博客和視頻,也收到了一些反饋;大概分為這幾類: 公司已經(jīng)經(jīng)歷過服務(wù)化改造了,但還未接觸過云原生。 公司部分應(yīng)用進(jìn)行了云原生改造,但大部分工作是由基礎(chǔ)架構(gòu)和運(yùn)維部門推動(dòng)的,自己只

    2024年02月09日
    瀏覽(20)
  • 使用k8s helm離線部署spark-operator(私有倉庫)

    使用k8s helm離線部署spark-operator(私有倉庫)

    將制作的鏡像上傳到目的機(jī)器中,加載鏡像 打標(biāo)簽其中xxxx.xxx/xx/為私有倉庫的地址 將制作好的鏡像推到私有倉庫中 Github地址: 下載上傳到機(jī)器中 解壓spark-operator-1.1.27.tgz,修改values.yaml內(nèi)容,修改副本數(shù)量為3、鏡像源、利用偽親和性使得三個(gè)副本在三臺(tái)機(jī)器上。 修改Chart

    2024年02月09日
    瀏覽(52)
  • K8S1.23.6版本詳細(xì)安裝教程以及錯(cuò)誤解決方案(包括前置環(huán)境,使用部署工具kubeadm來引導(dǎo)集群)

    K8S1.23.6版本詳細(xì)安裝教程以及錯(cuò)誤解決方案(包括前置環(huán)境,使用部署工具kubeadm來引導(dǎo)集群)

    一臺(tái)兼容的 Linux 主機(jī)。Kubernetes 項(xiàng)目為基于 Debian 和 Red Hat 的 Linux 發(fā)行版以及一些不提供包管理器的發(fā)行版提供通用的指令。 每臺(tái)機(jī)器 2 GB 或更多的 RAM(如果少于這個(gè)數(shù)字將會(huì)影響你應(yīng)用的運(yùn)行內(nèi)存)。 CPU 2 核心及以上。 集群中的所有機(jī)器的網(wǎng)絡(luò)彼此均能相互連接(公網(wǎng)和

    2024年03月14日
    瀏覽(29)
  • jenkins部署K8S應(yīng)用

    jenkins部署K8S應(yīng)用

    ? PS:這種方式是jenkins獨(dú)立,然后slave已容器方式運(yùn)行,master是獨(dú)立出來的,減少運(yùn)維成本,還能提高效率。 如果使用master部署需要把master加入k8s集群 jenkins安裝不贅述 在k8s-master節(jié)點(diǎn)上生成對應(yīng)的證書 在jenkins里添加憑據(jù) 憑據(jù)類型選Certificate 上傳cert.pfx,輸入剛才設(shè)置的密碼

    2024年02月04日
    瀏覽(24)
  • K8S搭建自動(dòng)化部署環(huán)境(五)Harbor私有倉庫的搭建全過程

    K8S搭建自動(dòng)化部署環(huán)境(五)Harbor私有倉庫的搭建全過程

    各位大佬,前文如下: K8S搭建自動(dòng)化部署環(huán)境(一)安裝Kubernetes K8S搭建自動(dòng)化部署環(huán)境(二)安裝K8S管理工具Kuboard V3 K8S搭建自動(dòng)化部署環(huán)境(三)Jenkins下載、安裝和啟動(dòng) K8S搭建自動(dòng)化部署環(huán)境(四)Jenkins多分支流水線Blue Ocean的安裝和使用 本文正文: 首先,下載harbor包,

    2024年02月05日
    瀏覽(21)
  • Jenkins使用k8s部署應(yīng)用

    Jenkins使用k8s部署應(yīng)用

    1、jenkins在k8s內(nèi)部署(請參考其他人的文章) 2、jenkins安裝kubenents相關(guān)插件 3、配置k8s云 ????????非常重要,目的是實(shí)現(xiàn)jenkins可以遠(yuǎn)程調(diào)用k8s進(jìn)行部署,并可實(shí)現(xiàn)安裝jenkins-slave進(jìn)行構(gòu)建。使得不再依賴jenkins單機(jī)能力進(jìn)行構(gòu)建,比較適合一定規(guī)模的公司。 ?插件安裝后,打開

    2024年02月15日
    瀏覽(46)
  • 通過docker+cri-dockerd部署k8s集群環(huán)境(含harbor鏡像倉庫)

    通過docker+cri-dockerd部署k8s集群環(huán)境(含harbor鏡像倉庫)

    目錄 一.虛擬機(jī)準(zhǔn)備 二.基礎(chǔ)環(huán)境配置(各個(gè)節(jié)點(diǎn)都做) 1.IP和hosts解析 2.防火墻和selinux 3.安裝基本軟件 4.配置時(shí)間同步 5.禁用swap分區(qū) 6.修改內(nèi)核參數(shù)并重載 7.配置ipvs 三.docker環(huán)境(各個(gè)節(jié)點(diǎn)都做) 1.配置軟件源并安裝docker-ce 2.配置docker加速 四.cri環(huán)境配置(各個(gè)節(jié)點(diǎn)都做)

    2024年02月05日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包