在Docker中,容器是最小的處理單元,增刪改查的對(duì)象是容器,容器是一種虛擬化技術(shù),容器之間是隔離的,隔離是基于Linux Namespace 實(shí)現(xiàn)的。而在Kubernetes中,Pod包含一個(gè)或者多個(gè)相關(guān)的容器,Pod可以認(rèn)為是容器的一種延伸擴(kuò)展,一個(gè)Pod也是一個(gè)隔離體,而Pod內(nèi)部包含的一組容器又是共享的(包括PID、Network、IPC、UTS)除此之外,Pod中的容器可以訪問(wèn)共同的數(shù)據(jù)卷來(lái)實(shí)現(xiàn)文件系統(tǒng)的共享。
apiVersion: v1 # 指定api版本,此值必須在kubectl apiversion中 kind: Pod # 指定創(chuàng)建資源的角色/類型 metadata: # 資源的元數(shù)據(jù)/屬性 name: web01-pod # 資源名字,在同一個(gè)namespace中必須唯一 labels: # 設(shè)定資源的標(biāo)簽 k8s-app: apache version: v1 kubernetes.io/cluster-service: "true" annotainons: # 自定義注解列表 - name: String # 自定義注解名字 spec: # specification of the resource content 指定該資源的內(nèi)容 restartPolicy: Always # 表明該容器一直運(yùn)行,默認(rèn)k8s策略,在此容器退出后,會(huì)立即創(chuàng)建一個(gè)相同的容器 nodeSelector: # 節(jié)點(diǎn)選擇 zone: node1 containers: - name: web01-pod # 容器的名字 image: web:apache # 容器使用的鏡像地址 imagePullPolicy: Never # 容器啟動(dòng)時(shí)檢查倉(cāng)庫(kù)的策略,Always每次都檢查,Never從不檢查(不管本地是否有),IfNotPresent,如果本地有就不檢查,沒(méi)有就拉取 command: ['sh'] # 啟動(dòng)容器的運(yùn)行命令,將覆蓋容器的Entrypoint,對(duì)應(yīng)Dockefile中的ENTRYPOINT args: ["$(str)"] # 啟動(dòng)容器的命令參數(shù),對(duì)應(yīng)Dockerfile中的CMD參數(shù) env: # 指定容器中的環(huán)境變量 - name: str # 變量的名字 value: "/etc/run.sh" # 變量的值 resources: # 資源管理 requests: # 容器運(yùn)行時(shí)的最低資源需求 cpu: 0.1 # CPU資源(核數(shù)),最少值為0.001核(1m) memory: 32Mi # 內(nèi)存資源 limits: # 資源限制 cpu: 0.5 memory: 32Mi ports: - containerPort: 80 # 容器開(kāi)放對(duì)外的端口 name: httpd # 名稱 protocol: TCP livenessProbe: # pod內(nèi)容器健康檢查的設(shè)置 httpGet: # 通過(guò)httpget檢查健康,200-399之間的容器正常 path: / # URI地址 port: 80 #host: 127.0.0.1 # 主機(jī)地址 scheme: HTTP initialDelaySeconds: 180 # 表明第一次檢測(cè)在容器啟動(dòng)后多次時(shí)間后開(kāi)始 timeoutSeconds: 5 # 檢測(cè)的超時(shí)時(shí)間 periodSeconds: 15 # 檢查間隔時(shí)間 #方法2 #exec: 執(zhí)行命令的發(fā)法進(jìn)行監(jiān)測(cè),如果其退出碼不為0,則認(rèn)為容器正常 #command: #- cat #- /tmp/health #方法3 #tcpSocket: //通過(guò)tcpSocket檢查健康 #port: number lifecycle: # 聲明周期管理 postStart: # 容器創(chuàng)建之后,運(yùn)行之前運(yùn)行的任務(wù) exec: command: - 'sh' - 'yum upgrade -y' preStop: # 容器關(guān)閉之前運(yùn)行的任務(wù) exec: command: ['service httpd stop'] volumeMounts: # 永久存儲(chǔ)掛載 - name: volume # 掛載設(shè)備名字,與volumes[*].name 需要對(duì)應(yīng) mountPath: /data # 掛載到容器的某個(gè)路徑下 readOnly: True volumes: # 定義一組掛載設(shè)備 - name: volume # 定義一個(gè)掛載設(shè)備的名字 #meptyDir:{} hostPath: path:/opt # 掛載設(shè)備類型為hostpath,路徑為宿主下的/opt
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/128143.html
摘要:前言我們一起回顧上一篇文章平臺(tái)的微服務(wù)架構(gòu)和,一共通過(guò)構(gòu)建了三個(gè)鏡像數(shù)據(jù)庫(kù),部署前端頁(yè)面的,和接口。最近阿里云產(chǎn)品春節(jié)大促銷,我一時(shí)沒(méi)忍住又買了一臺(tái)服務(wù)器,打完折扣還是很貴。是一個(gè)非常穩(wěn)定的,可移植的網(wǎng)絡(luò)文件系統(tǒng)。 前言 我們一起回顧上一篇文章《Bees平臺(tái)的微服務(wù)架構(gòu)(1)docker和docker-compose》,一共通過(guò)Dockerfile構(gòu)建了三個(gè)docker鏡像:mysql...
摘要:簡(jiǎn)稱,是在年發(fā)布的一個(gè)開(kāi)源項(xiàng)目。網(wǎng)絡(luò)要能夠通信,必須部署網(wǎng)絡(luò),是其中一個(gè)可選方案。最常使用,可以管理多個(gè)副本,并確保按照期望的狀態(tài)運(yùn)行,底層調(diào)用。用于每個(gè)最多只運(yùn)行一個(gè)副本的場(chǎng)景。 Kubernetes 簡(jiǎn)稱 k8s,是 google 在 2014 年發(fā)布的一個(gè)開(kāi)源項(xiàng)目。 Kubernetes 解決了哪些問(wèn)題? 真實(shí)的生產(chǎn)環(huán)境應(yīng)用會(huì)包含多個(gè)容器,而這些容器還很可能會(huì)跨越多個(gè)服務(wù)器主機(jī)部...
摘要:擴(kuò)展性好當(dāng)集群的資源嚴(yán)重不足而導(dǎo)致排隊(duì)等待時(shí),可以很容易的添加一個(gè)到集群中,從而實(shí)現(xiàn)擴(kuò)展。用法,選擇盡可能使用這個(gè)節(jié)點(diǎn)鏡像,填寫,這個(gè)容器鏡像是我們的運(yùn)行環(huán)境。更新文件,這里我們只是將中的鏡像更換成最新構(gòu)建出的鏡像。基于Jenkins的CI/CD實(shí)踐[TOC]一、概要提到K8S環(huán)境下的CI/CD,可以使用的工具有很多,比如Jenkins、Gitlab CI、新興的drone等,考慮到大多公司...
摘要:基于年底或年初沒(méi)有推廣的現(xiàn)狀,唯品會(huì)部門目前已經(jīng)做了兩年的時(shí)間。唯品會(huì)現(xiàn)狀唯品會(huì)目前線上有一千多個(gè)域,每個(gè)域之間相互的依賴比較復(fù)雜,每次的部署發(fā)布困難。這是唯品會(huì)的架構(gòu),主要包含持續(xù)集成和持續(xù)部署。 數(shù)人云上海&深圳兩地容器之Mesos/K8S/Swarm三國(guó)演義的嘉賓精彩實(shí)錄第三更來(lái)啦。唯品會(huì)是數(shù)人云Meetup的老朋友,去年曾做過(guò)RPC服務(wù)框架和Mesos容器化的分享。本次分享中,...
閱讀 1209·2023-02-24 11:21
閱讀 1405·2023-02-24 10:55
閱讀 2406·2023-02-24 10:47
閱讀 3099·2023-02-24 10:44
閱讀 885·2023-02-24 10:38
閱讀 610·2022-12-25 19:44
閱讀 752·2022-12-25 19:39
閱讀 865·2022-12-25 19:36