中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Azure中如何部署Kubernetes

發布時間:2022-02-19 11:08:12 來源:億速云 閱讀:124 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關Azure中如何部署Kubernetes,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Azure 命令行接口 (CLI) 是用于管理 Azure 資源的 Microsoft 跨平臺命令行體驗。 Azure CLI 易于學習,是構建適用于 Azure 資源的自定義自動化功能的完美工具。

Azure中如何部署Kubernetes

所需的基礎設施

在本文中,我會使用新的 Azure CLI。安裝十分簡單,大多數情況下,只需要“pip install azure-cli”就可以了。 所以現在讓我們來預覽一下我們的集群。首先,你可能需要資源組來隔離你的基礎設施。

az group create -n my-very-own-k8s-cluster -l "West Europe"

接下來是規制集群

az acs create -n my-very-own-k8s-cluster \
-g my-very-own-k8s-cluster \
--dns-prefix my-very-own-k8s-cluster \
--orchestrator-type kubernetes

在等待命令完成的時候,我們來看一些評論。

1、如果你的命令出現了一些問題,比如這些命令出現一些無意義的錯誤,添加-debug 參數有點啰嗦,但是會出現一些錯誤。

2、-dnsprefix 是可選的,個人建議還是要添加上去,不然的話,就會按照“集群名字+組名字”使用,如果超過 90 個字符的長度,之后在操作過程中就會出現奇怪的錯誤。

默認設置下,ACS 用單個 master 和 3 個 agents 來設置集群。這些步驟默認設置下都是使用 D2 的,所以這個集群耗費比較高,當你不需要的時候記得清理資源。

以及,歡迎閱讀 Kubernetes 的 ACS 引擎之下的內容,鏈接:https://github.com/Azure/acs-engine/blob/master/docs/kubernetes.md。上述內容給了實施過程中的一些很棒的觀點。注意了,ACS 文檔沒有使用新的 Azure 工具,所以操作起來會有點復雜。

第一個有效負載

所有的基礎設施準備完成,現在開始部署 Kubernetes。要管理集群,那么就需要 kubectl。你可以通過以下代碼自動運行(可能需要自行添加到 PATH):

az acs kubernetes install-cli

接下來,你需要用集群來認證 kubectl。

az acs kubernetes get-credentials -n my-very-own-k8s-cluster \
-g my-very-k8s-cluster

檢查所有一切是否 OK。這個命令行會提供客戶端和服務器端的版本。

kubectl version

從這里開始,你已經擁有你所需要的東西來運行你的第一個有效負載。所以讓我們來創建第一個定義文件,并且嘗試運行。Kubernetes 內的定義文件可以使用很多文件格式,我用的是 YAML, 所以我們用以下內容來創建 hello.yml 文件:

apiVersion: extension/v1beta1
kind: Deployment
metadata:
name: hello # Name of the deployment, just for reference purposesspec:
replica: 1 # Number of instances for the given applicationtemplate:
metadata:
labels:
app: hello
spec:
containers:
- name: ner-uk-ms # Name of container, could be anything you likeimage: chaliy/ner-ms:uk # Docker image to runports:
-containerPort:8080

目前,理解一些 Kubernetes 術語十分重要。

Pod——容器實例——http://kubernetes.io/docs/user-guide/pods/

Deployment——確保 pods 能夠運行,扮演監督的角色——http://kubernetes.io/docs/user-guide/deployments/

Service——將 pod 組成一個系統——http://kubernetes.io/docs/user-guide/services/

所以,對于定義在模版中的單個 pod 來說,我們剛剛創建的定義文件是個 deployment。以下命令行會拉取Docker鏡像chaliy/ner-ms:uk,開啟它的實例并且設置監督員:

kubectl create -f ./hello.yml

現在可以使用的命令行很少:

# Retrieve logs associated with deploymentkubectl logs hello# List Podskubectl get pods# List deploymentskubectl get deployments# Details about concrete pod, for example in case of errorskubectl describe pods/podid

如果你想要重新配置應用程序,可以在定義文件中修改,比如設置replicas:10,然后運行:

kubectl apply -f ./hello.yml

技術上來說,這已經在運行有效負載了。我們來看看它的運行狀況。Kubernetes 的 UI 界面向用戶呈現集群運行狀況。它的運行方式跟應用程序的運行方式是一樣的。當然,如果你不希望這樣的 UI 出現在集群外面,那么默認設置下你可以只在集群內運行。但是,如果訪問又會如何?

方法很簡單,Kubernetes 實現 Basteon 模式,并且通過簡單的方法代理到你的本地電腦。所以首先你需要運行代理:

kubectl proxy --port=8000

然后,你需要立刻看到 Kubernetes Dashboard 的話。可以瀏覽:http://localhost:8000/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard 還有就是,你可能需要發布對集群外的服務。對于這個,你需要創建 service(對于 Kubernetes),然后使用 expose 命令,用新的 Loadbalancer。

kubectl expose deployment hello --type="LoadBalancer"--port=80 --
target-port=8080

這個命令行會開始設置新的 load balance,需要一點時間。要檢查它是否運行,要查詢關于 service 的信息:

kubectl get services/hello

之后你就會看到外部 IP 地址,意味著服務已處于 OK 狀態,你可以用來發送請求。類似于:

curlhttp://EXTERNAL-IP/

所有的腳本都可以在這個網址找到:https://github.com/chaliy/play-azure-kubernetes。在這里你可以找到使用 Nginx 代理作為路由器的一些真實例子。

結論

對于我來說,用戶體驗很棒,但是我也不確定我會不會繼續使用,因為有幾個問題還在困擾著我:

1、Kubernetes ACS 版本還在預發布階段,有些功能還沒有實現(比如,你還不能對你的集群進行縮容擴容)。

2、使用成本較高,至少需要 4D2 個節點,每月最高可能要花費 1000 美元。使用相對小一點的實例也是可以的,但是,我的負載類型還不知道如何利用它。

3、目前還沒有可以創建系統的設備。類似于 docker-compose 能夠提供相關服務。

關于“Azure中如何部署Kubernetes”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卫辉市| 和龙市| 光泽县| 芒康县| 资兴市| 秀山| 崇阳县| 揭阳市| 陆丰市| 马山县| 灵璧县| 阿拉善盟| 平湖市| 阿巴嘎旗| 荆州市| 湟源县| 海阳市| 英吉沙县| 四川省| 葫芦岛市| 凯里市| 东辽县| 七台河市| 蒙山县| 项城市| 阿克苏市| 温泉县| 张北县| 潍坊市| 双鸭山市| 岳西县| 华宁县| 西藏| 花莲县| 潮州市| 平陆县| 保山市| 庆安县| 汉川市| 池州市| 平南县|