創(chuàng)建無(wú)狀態(tài)工作負(fù)載Deployment
容器計(jì)算服務(wù) ACS(Container Compute Service)支持通過(guò)容器鏡像、編排YAML模板和kubectl命令行的方式創(chuàng)建無(wú)狀態(tài)應(yīng)用。本文以Nginx應(yīng)用為例,介紹如何在ACS集群中創(chuàng)建無(wú)狀態(tài)應(yīng)用。
控制臺(tái)
使用鏡像創(chuàng)建
步驟一:配置應(yīng)用基本信息
登錄容器計(jì)算服務(wù)控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群。
在集群頁(yè)面,單擊目標(biāo)集群ID,然后在左側(cè)導(dǎo)航欄,選擇
。在無(wú)狀態(tài)頁(yè)面,單擊使用鏡像創(chuàng)建。
在應(yīng)用基本信息配置向?qū)е?,設(shè)置應(yīng)用的基本信息。
配置項(xiàng)
說(shuō)明
應(yīng)用名稱
輸入應(yīng)用的名稱。
副本數(shù)量
應(yīng)用包含的Pod數(shù)量,默認(rèn)數(shù)量為2。
工作負(fù)載
選擇無(wú)狀態(tài)(Deployment)。
標(biāo)簽
為該應(yīng)用添加一個(gè)標(biāo)簽,標(biāo)識(shí)該應(yīng)用。
注解
為該應(yīng)用添加一個(gè)注解(Annotation)。
實(shí)例類型
選擇實(shí)例類型。關(guān)于實(shí)例類型的說(shuō)明,請(qǐng)參見(jiàn)ACS Pod實(shí)例概述。
QoS類型
選擇QoS類型。更多信息,請(qǐng)參見(jiàn)算力質(zhì)量定義。
通用型實(shí)例支持default和best-effort。
性能型實(shí)例僅支持default。
單擊下一步,進(jìn)入容器配置向?qū)ы?yè)面。
步驟二:配置容器
在容器配置向?qū)ы?yè)面中,配置容器的鏡像、資源、端口、環(huán)境變量、健康檢查、生命周期、數(shù)據(jù)卷和日志等信息。
在容器1頁(yè)簽右側(cè),單擊添加容器,可以為應(yīng)用的Pod設(shè)置多個(gè)容器。
在基本配置區(qū)域,完成容器的基本配置。
配置項(xiàng)
說(shuō)明
鏡像名稱
選擇鏡像
單擊選擇鏡像,選擇所需的鏡像。
容器鏡像服務(wù)企業(yè)版:可以選擇托管在容器鏡像服務(wù)ACR中的企業(yè)版鏡像。需要選擇鏡像所屬地域,以及鏡像服務(wù)實(shí)例。關(guān)于ACR的更多信息,請(qǐng)參見(jiàn)什么是容器鏡像服務(wù)ACR。
容器鏡像服務(wù)個(gè)人版(需要提前開(kāi)通):可以選擇托管在容器鏡像服務(wù)ACR中的個(gè)人版鏡像。需要選擇鏡像所屬地域,以及鏡像服務(wù)實(shí)例。
制品中心:包含應(yīng)用容器化基礎(chǔ)OS鏡像、基礎(chǔ)語(yǔ)言鏡像、AI/大數(shù)據(jù)相關(guān)鏡像,本示例以制品中心的Nginx鏡像為例說(shuō)明。關(guān)于制品中心的更多信息,請(qǐng)參見(jiàn)制品中心。
(可選)設(shè)置鏡像拉取策略
在鏡像拉取策略的下拉列表中選擇鏡像拉取策略。默認(rèn)情況下不設(shè)置,采用Kubernetes默認(rèn)的IfNotPresent。
優(yōu)先使用本地鏡像(IfNotPresent):如果本地已經(jīng)存在該鏡像(之前拉取過(guò)該鏡像至宿主機(jī)中),則不會(huì)再次拉取,如果本地不存在該鏡像,則會(huì)拉取該鏡像。
總是拉取鏡像(Always):表示每次部署或擴(kuò)容都會(huì)重新拉取鏡像,而不會(huì)使用本地鏡像。
僅使用本地鏡像(Never):僅使用本地鏡像。
(可選)設(shè)置鏡像密鑰
單擊設(shè)置鏡像密鑰,為私有鏡像設(shè)置密鑰以確保安全。
所需資源
為容器設(shè)置資源額度。
容器啟動(dòng)項(xiàng)
(可選)設(shè)置容器啟動(dòng)項(xiàng)。
stdin:將控制臺(tái)輸入發(fā)送到容器。
tty:將標(biāo)準(zhǔn)輸入控制臺(tái)作為容器的控制臺(tái)輸入。
說(shuō)明通常會(huì)同時(shí)選中stdin和tty,表示將終端(tty)綁定到容器的標(biāo)準(zhǔn)輸入(stdin)上。例如,一個(gè)交互式的程序從用戶獲取標(biāo)準(zhǔn)輸入,并顯示到終端中。
初始化容器
(可選)選擇該選項(xiàng),表示創(chuàng)建一個(gè)初始化容器。
初始化容器提供了一種機(jī)制來(lái)阻塞或延遲應(yīng)用容器的啟動(dòng),初始化容器執(zhí)行成功后,Pod內(nèi)的應(yīng)用容器會(huì)并行啟動(dòng)。例如,檢測(cè)依賴服務(wù)的可用性。初始化容器可以包括一些應(yīng)用鏡像中不存在的實(shí)用工具和安裝腳本,用來(lái)初始化應(yīng)用容器的運(yùn)行環(huán)境,例如設(shè)置內(nèi)核參數(shù)、生成配置文件。更多信息,請(qǐng)參見(jiàn)Init Container。
(可選)在端口設(shè)置區(qū)域,單擊新增設(shè)置容器的端口。
配置項(xiàng)
說(shuō)明
名稱
設(shè)置容器端口名稱。
容器端口
設(shè)置暴露的容器訪問(wèn)端口,端口號(hào)必須介于1~65535。
協(xié)議
支持TCP和UDP。
(可選)在環(huán)境變量區(qū)域,單擊新增設(shè)置環(huán)境變量。
支持通過(guò)鍵值對(duì)的形式為Pod配置環(huán)境變量,用于給Pod添加環(huán)境標(biāo)志或傳遞配置等。更多信息,請(qǐng)參見(jiàn)Pod Environment Variables。
配置項(xiàng)
說(shuō)明
類型
設(shè)置環(huán)境變量的類型:
自定義
配置項(xiàng)
保密字典
變量/變量引用
資源引用
配置項(xiàng)、保密字典支持全部文件的引用。
本示例以保密字典為例。選擇保密字典類型,只選擇目標(biāo)保密字典,則默認(rèn)引用全部文件。
對(duì)應(yīng)的YAML,也引用了整個(gè)密鑰(Secret)。
變量名稱
設(shè)置環(huán)境變量名稱。
變量/變量引用
設(shè)置變量引用的值。
(可選)在健康檢查區(qū)域,根據(jù)需要開(kāi)啟存活檢查、就緒檢查及啟動(dòng)探測(cè)。
存活檢查(Liveness):用于檢測(cè)何時(shí)重啟容器。
就緒檢查(Readiness):確定容器是否已經(jīng)就緒,且可以接受流量。
啟動(dòng)探測(cè)(Startup Probes):用于檢測(cè)何時(shí)啟動(dòng)容器。
更多信息,請(qǐng)參見(jiàn)配置存活、就緒和啟動(dòng)探測(cè)器。
配置項(xiàng)
配置說(shuō)明
Http請(qǐng)求
向容器發(fā)送一個(gè)HTTP GET請(qǐng)求,支持的參數(shù)包括:
協(xié)議:HTTP/HTTPS。
路徑:訪問(wèn)HTTP Server的路徑。
端口:容器暴露的訪問(wèn)端口或端口名,端口號(hào)必須介于1~65535之間。
Http頭:即HTTP Headers,HTTP請(qǐng)求中自定義的請(qǐng)求頭,HTTP允許重復(fù)的Header。支持鍵值對(duì)的配置方式。
延遲探測(cè)時(shí)間(秒):即initialDelaySeconds,容器啟動(dòng)后第一次執(zhí)行探測(cè)時(shí)需要等待多少秒,默認(rèn)值為3秒。
執(zhí)行探測(cè)頻率(秒):即periodSeconds,指執(zhí)行探測(cè)的時(shí)間間隔,默認(rèn)值為10秒,最小值為1秒。
超時(shí)時(shí)間(秒):即timeoutSeconds,探測(cè)超時(shí)時(shí)間。默認(rèn)值為1秒,最小值為1秒。
健康閾值:探測(cè)失敗后,最少連續(xù)探測(cè)成功多少次才被認(rèn)定為成功。默認(rèn)值為1,最小值為1。對(duì)于存活檢查(liveness)必須是1。
不健康閾值:探測(cè)成功后,最少連續(xù)探測(cè)失敗多少次才被認(rèn)定為失敗。默認(rèn)值為3,最小值為1。
TCP連接
向容器發(fā)送一個(gè)TCP Socket,Kubelet將嘗試在指定端口上打開(kāi)容器的套接字。 如果可以建立連接,容器被認(rèn)為是健康的,如果不能就認(rèn)為是失敗的。支持的參數(shù)包括:
端口:容器暴露的訪問(wèn)端口或端口名,端口號(hào)必須介于1~65535之間。
延遲探測(cè)時(shí)間(秒):即initialDelaySeconds,容器啟動(dòng)后第一次執(zhí)行探測(cè)時(shí)需要等待多少秒,默認(rèn)為15秒。
執(zhí)行探測(cè)頻率(秒):即periodSeconds,指執(zhí)行探測(cè)的時(shí)間間隔,默認(rèn)值為10秒,最小值為1秒。
超時(shí)時(shí)間(秒):即timeoutSeconds,探測(cè)超時(shí)時(shí)間。默認(rèn)值為1秒,最小值為1秒。
健康閾值:探測(cè)失敗后,最少連續(xù)探測(cè)成功多少次才被認(rèn)定為成功。默認(rèn)值為1,最小值為1。對(duì)于存活檢查(liveness)必須是1。
不健康閾值:探測(cè)成功后,最少連續(xù)探測(cè)失敗多少次才被認(rèn)定為失敗。默認(rèn)值為3,最小值為1。
命令行
通過(guò)在容器中執(zhí)行探針檢測(cè)命令,來(lái)檢測(cè)容器的健康情況。支持的參數(shù)包括:
命令行:用于檢測(cè)容器健康情況的探測(cè)命令。
延遲探測(cè)時(shí)間(秒):即initialDelaySeconds,容器啟動(dòng)后第一次執(zhí)行探測(cè)時(shí)需要等待多少秒,默認(rèn)值為5秒。
執(zhí)行探測(cè)頻率(秒):即periodSeconds,指執(zhí)行探測(cè)的時(shí)間間隔,默認(rèn)值為10秒,最小值為1秒。
超時(shí)時(shí)間(秒):即timeoutSeconds,探測(cè)超時(shí)時(shí)間。默認(rèn)值為1秒,最小值為1秒。
健康閾值:探測(cè)失敗后,最少連續(xù)探測(cè)成功多少次才被認(rèn)定為成功。默認(rèn)值為1,最小值為1。對(duì)于存活檢查(liveness)必須是1。
不健康閾值:探測(cè)成功后,最少連續(xù)探測(cè)失敗多少次才被認(rèn)定為失敗。默認(rèn)值為3,最小值為1。
(可選)在生命周期區(qū)域,設(shè)置容器的生命周期。
您可以為容器的生命周期配置啟動(dòng)執(zhí)行、啟動(dòng)后處理和停止前處理。具體操作,請(qǐng)參見(jiàn)配置生命周期。
配置項(xiàng)
說(shuō)明
啟動(dòng)執(zhí)行
為容器設(shè)置預(yù)啟動(dòng)命令和參數(shù)。
啟動(dòng)后處理
為容器設(shè)置啟動(dòng)后的命令。
停止前處理
為容器設(shè)置預(yù)終止命令。
(可選)在數(shù)據(jù)卷區(qū)域,為容器掛載數(shù)據(jù)卷。
(可選)在日志配置區(qū)域,進(jìn)行采集配置和自定義Tag設(shè)置。
配置項(xiàng)
說(shuō)明
采集配置
日志庫(kù):即在日志服務(wù)中生成一個(gè)對(duì)應(yīng)的Logstore,用于存儲(chǔ)采集日志。
容器內(nèi)日志路徑:支持Stdout和文本日志。
Stdout:表示采集容器的標(biāo)準(zhǔn)輸出日志。
文本日志:表示收集容器內(nèi)指定路徑的日志本例中表示
/var/log/nginx
下所有的文本日志,也支持通配符的方式。
自定義Tag
您還可以設(shè)置自定義Tag,設(shè)置Tag后,會(huì)將該Tag一起采集到容器的日志輸出中。自定義Tag可以幫助您給容器日志打上Tag,方便進(jìn)行日志統(tǒng)計(jì)和過(guò)濾等分析操作。
單擊下一步,進(jìn)入高級(jí)配置配置向?qū)ы?yè)面。
步驟三:完成高級(jí)配置
在高級(jí)配置向?qū)ы?yè)面中設(shè)置訪問(wèn)、伸縮、調(diào)度和標(biāo)簽注解。
在訪問(wèn)設(shè)置區(qū)域,設(shè)置暴露后端Pod的方式。
您可以設(shè)置暴露后端Pod的方式。本例中選擇虛擬集群IP和路由(Ingress),構(gòu)建一個(gè)公網(wǎng)可訪問(wèn)的Nginx應(yīng)用。
配置服務(wù)(Service):在服務(wù)(Service)右側(cè),單擊創(chuàng)建,設(shè)置創(chuàng)建服務(wù)配置項(xiàng)。
配置項(xiàng)
說(shuō)明
名稱
輸入服務(wù)的名稱,本例為nginx-svc。
類型
選擇服務(wù)類型,即服務(wù)訪問(wèn)的方式。本例中選擇虛擬集群IP。
虛擬集群IP:即ClusterIP,指通過(guò)集群的內(nèi)部IP暴露服務(wù),選擇該值,服務(wù)只能夠在集群內(nèi)部訪問(wèn),這也是默認(rèn)的ServiceType。
說(shuō)明您的服務(wù)類型為虛擬集群IP時(shí),方可設(shè)置實(shí)例間發(fā)現(xiàn)服務(wù)(Headless Service)。
負(fù)載均衡:即LoadBalancer,指阿里云提供的負(fù)載均衡服務(wù)(SLB),可選擇公網(wǎng)訪問(wèn)或私網(wǎng)訪問(wèn)。阿里云負(fù)載均衡服務(wù)可以路由到ClusterIP服務(wù)。
新建SLB:您可以通過(guò)單擊修改,修改SLB規(guī)格。
使用已有SLB:您可以在現(xiàn)有的列表中選擇SLB規(guī)格。
說(shuō)明負(fù)載均衡類型支持新建SLB和使用已有SLB,并且多個(gè)Kubernetes Service可以復(fù)用同一個(gè)SLB,但存在以下限制:
使用已有的負(fù)載均衡實(shí)例會(huì)強(qiáng)制覆蓋已有的監(jiān)聽(tīng)。
Kubernetes通過(guò)Service創(chuàng)建的SLB不能復(fù)用(會(huì)導(dǎo)致SLB被意外刪除)。只能復(fù)用您手動(dòng)在控制臺(tái)(或調(diào)用OpenAPI)創(chuàng)建的SLB。
復(fù)用同一個(gè)SLB的多個(gè)Service不能有相同的前端監(jiān)聽(tīng)端口,否則會(huì)造成端口沖突。
復(fù)用SLB時(shí),監(jiān)聽(tīng)的名字以及虛擬服務(wù)器組的名字被Kubernetes作為唯一標(biāo)識(shí)符。請(qǐng)勿修改監(jiān)聽(tīng)和虛擬服務(wù)器組的名字。
不支持跨集群復(fù)用SLB。
端口映射
添加服務(wù)端口和容器端口。容器端口需要與后端的Pod中暴露的容器端口一致。
外部流量策略
Local:流量只發(fā)給本機(jī)的Pod。
Cluster:流量可以轉(zhuǎn)發(fā)到其他節(jié)點(diǎn)上的Pod。
說(shuō)明當(dāng)您的服務(wù)類型為負(fù)載均衡時(shí),才能設(shè)置外部流量策略。
注解
為該服務(wù)添加一個(gè)注解(Annotation),配置負(fù)載均衡的參數(shù)。例如設(shè)置
service.beta.kubernetes.io/alicloud-loadbalancer-bandwidth:20
表示將該服務(wù)的帶寬峰值設(shè)置為20Mbit/s,從而控制服務(wù)的流量。標(biāo)簽
為該服務(wù)添加一個(gè)標(biāo)簽,標(biāo)識(shí)該服務(wù)。
配置路由(Ingress):在路由(Ingress)右側(cè),單擊創(chuàng)建設(shè)置后端Pod的路由規(guī)則。
說(shuō)明通過(guò)鏡像創(chuàng)建應(yīng)用時(shí),您僅能為一個(gè)服務(wù)創(chuàng)建路由(Ingress)。本例中使用一個(gè)虛擬主機(jī)名稱作為測(cè)試域名,您需要在Hosts文件中添加一條域名映射(Ingress外部端點(diǎn) + Ingress域名)。在實(shí)際工作場(chǎng)景中,請(qǐng)使用備案域名。
101.37.XX.XX foo.bar.com #即Ingress的IP。
配置項(xiàng)
說(shuō)明
名稱
輸入路由的名稱,本例為alb-ingress。
規(guī)則
路由規(guī)則是指授權(quán)入站到達(dá)集群服務(wù)的規(guī)則。更多信息,請(qǐng)參見(jiàn)ALB Ingress快速入門。
域名:輸入Ingress域名。
路徑:指定服務(wù)訪問(wèn)的URL路徑,默認(rèn)為根路徑
/
,本例中不做配置。每個(gè)路徑(path)都關(guān)聯(lián)一個(gè)backend(服務(wù)),在阿里云SLB將流量轉(zhuǎn)發(fā)到backend之前,所有的入站請(qǐng)求都要先匹配域名和路徑。服務(wù):選擇服務(wù)的名稱和對(duì)應(yīng)端口。
開(kāi)啟TLS:配置安全的路由服務(wù)。
本例中使用測(cè)試域名
foo.bar.com
,設(shè)置服務(wù)為nginx-svc。灰度發(fā)布
開(kāi)啟灰度發(fā)布開(kāi)關(guān)。此處建議選擇社區(qū)版,阿里云版灰度發(fā)布已不再維護(hù)更新。
Ingress Class
自定義Ingress的類。
注解
您可以自定義注解名稱和值,也可以根據(jù)名稱選擇或搜索需要配置的注解。單擊添加按鈕,輸入注解名稱和值,即Ingress的Annotation鍵值對(duì)。關(guān)于Ingress的注解,請(qǐng)參見(jiàn)Annotations。
標(biāo)簽
單擊+添加,輸入標(biāo)簽的名稱和值,為Ingress添加對(duì)應(yīng)的標(biāo)簽,標(biāo)識(shí)該Ingress的特點(diǎn)。
(可選)在伸縮配置區(qū)域,配置是否開(kāi)啟指標(biāo)伸縮,從而滿足應(yīng)用在不同負(fù)載下的需求。
容器計(jì)算服務(wù)支持容器組的指標(biāo)伸縮,即根據(jù)容器的CPU和內(nèi)存資源的占用情況自動(dòng)調(diào)整容器組的數(shù)量。
說(shuō)明若要啟用自動(dòng)伸縮,您必須為容器設(shè)置所需資源,否則容器自動(dòng)伸縮無(wú)法生效。
配置項(xiàng)
說(shuō)明
指標(biāo)
支持CPU和內(nèi)存,需要和設(shè)置的所需資源類型相同。
觸發(fā)條件
資源使用率的百分比,超過(guò)該使用量,容器開(kāi)始擴(kuò)容。
最大副本數(shù)
該負(fù)載類型可擴(kuò)容的容器數(shù)量上限。
最小副本數(shù)
該負(fù)載類型可縮容的容器數(shù)量下限。
容器計(jì)算服務(wù)支持容器組的定時(shí)伸縮,即定時(shí)地對(duì)容器計(jì)算服務(wù)Kubernetes集群進(jìn)行擴(kuò)/縮容。開(kāi)啟定時(shí)伸縮前,需要先安裝ack-kubernetes-cronhpa-controller組件。關(guān)于定時(shí)伸縮的詳細(xì)說(shuō)明,請(qǐng)參見(jiàn)容器定時(shí)伸縮(CronHPA)。
(可選)在標(biāo)簽和注解區(qū)域,單擊添加設(shè)置容器組的標(biāo)簽和注解。
單擊創(chuàng)建。
步驟四:查看應(yīng)用信息
創(chuàng)建成功后,默認(rèn)進(jìn)入創(chuàng)建完成頁(yè)面,單擊查看應(yīng)用詳情可以跳轉(zhuǎn)到該Deployment的詳情頁(yè)面。
您也可以在無(wú)狀態(tài)頁(yè)面查看該Deployment的信息,單擊目標(biāo)Deployment的名稱或?qū)?yīng)操作列下的詳情可以進(jìn)入應(yīng)用詳情頁(yè)面。
使用YAML創(chuàng)建
在ACS模板編排中,您需要自己定義一個(gè)應(yīng)用運(yùn)行所需的資源對(duì)象,通過(guò)標(biāo)簽選擇器等機(jī)制,將資源對(duì)象組合成一個(gè)完整的應(yīng)用。
本例演示如何通過(guò)一個(gè)編排模板創(chuàng)建Nginx應(yīng)用,包含一個(gè)Deployment和Service,后端Deployment會(huì)創(chuàng)建Pod資源對(duì)象,Service會(huì)綁定到后端Pod上,形成一個(gè)完整的Nginx應(yīng)用。
登錄容器計(jì)算服務(wù)控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群。
在集群頁(yè)面,單擊目標(biāo)集群ID,然后在左側(cè)導(dǎo)航欄,選擇
。在無(wú)狀態(tài)頁(yè)面,單擊右上角的使用YAML創(chuàng)建資源。
在創(chuàng)建頁(yè)面,對(duì)模板進(jìn)行相關(guān)配置,然后單擊創(chuàng)建。
示例模板:ACS提供了多種資源類型的Kubernetes YAML示例模板,讓您快速部署資源對(duì)象。您可以根據(jù)Kubernetes YAML編排的格式要求自主編寫(xiě),來(lái)描述您想定義的資源類型。
添加工作負(fù)載:您可以通過(guò)此功能快速定義一個(gè)YAML模板。
使用已有模板:您可以將已有編排模板導(dǎo)入到模板配置頁(yè)面。
保存模板:您可以保存設(shè)置好的編排模板。
下面是一個(gè)Nginx應(yīng)用的示例YAML。通過(guò)此示例,可快速創(chuàng)建一個(gè)屬于Nginx應(yīng)用的Deployment。默認(rèn)創(chuàng)建CLB類型負(fù)載均衡。
說(shuō)明ACS支持Kubernetes YAML編排,支持通過(guò)
---
符號(hào)將資源對(duì)象分隔,以便通過(guò)一個(gè)模板創(chuàng)建多個(gè)資源對(duì)象。(可選)在應(yīng)用中通過(guò)Volume方式掛載存儲(chǔ)卷時(shí),默認(rèn)情況下掛載目錄下的文件在掛載后將會(huì)被覆蓋。若要不影響掛載目錄下的其他文件,您可以配置
subPath
參數(shù)。
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment-basic labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx alibabacloud.com/compute-class: general-purpose alibabacloud.com/compute-qos: default spec: containers: - name: nginx image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest #replace it with your exactly <image_name:tags> ports: - containerPort: 80 volumeMounts: - name: nginx-config mountPath: /etc/nginx/nginx.conf subPath: nginx.conf #設(shè)置subPath。 volumes: - name: nginx-config configMap: name: nginx-conf --- apiVersion: v1 kind: Service metadata: name: my-service1 #to specify your service name labels: app: nginx spec: selector: app: nginx #change label selector to match your backend pod ports: - protocol: TCP name: http port: 30080 targetPort: 80 type: LoadBalancer --- #存儲(chǔ)卷的配置項(xiàng) apiVersion: v1 kind: ConfigMap metadata: name: nginx-conf namespace: default data: nginx.conf: |- user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
單擊創(chuàng)建后。會(huì)提示部署狀態(tài)信息。
kubectl
您可以通過(guò)kubectl命令創(chuàng)建和查看應(yīng)用。
連接集群。具體操作,請(qǐng)參見(jiàn)獲取集群KubeConfig并通過(guò)kubectl工具連接集群或在CloudShell上通過(guò)kubectl管理Kubernetes集群。
執(zhí)行以下命令,啟動(dòng)容器(本示例中為Nginx Web服務(wù)器)。
kubectl create deployment nginx --image=registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
執(zhí)行以下命令,為該容器創(chuàng)建一個(gè)服務(wù)入口,指定
--type=LoadBalancer
將會(huì)為您創(chuàng)建一個(gè)阿里云負(fù)載均衡路由到該Nginx容器。kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer
執(zhí)行以下命令,列出正在運(yùn)行的nginx容器。
kubectl get pod |grep nginx
預(yù)期輸出:
NAME READY STATUS RESTARTS AGE nginx-2721357637-d**** 1/1 Running 1 9h