亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

如何創(chuàng)建高效、經(jīng)濟的Kubernetes集群

BaronZhang / 2832人閱讀

摘要:本文是介紹關(guān)于如何創(chuàng)建一個高效的集群,用于在上使用和的開發(fā)目的。單擊左下角的按鈕,忽略警告并強制訪問頁面。取而代之的,我們將在這里使用,在上創(chuàng)建代理,自動設(shè)置這些由服務(wù)器管理的集群。

Kubernetes是我主要學習的主題之一。我知道不光是我,還有一定數(shù)量的人愿意在工作之余進一步使用和研究它。

本文是介紹關(guān)于如何創(chuàng)建一個高效的Kubernetes集群,用于在Scaleway上使用Terraform和Rancher 2.x的開發(fā)目的。我假設(shè)你已經(jīng)知道了(或者至少聽過):

Kubernetes

Terraform

Rancher

Scaleway

Cloudflare

概 述

下圖的概要描述了本文嘗試實現(xiàn)的內(nèi)容:

部署工作大部分將由Terraform自動完成。我們將創(chuàng)建一個Rancher服務(wù)器,在上面添加Rancher代理來創(chuàng)建和管理Kubernetes集群。域解析也將由Terraform自動配置到Cloudflare。所有的服務(wù)器都將部署到Scaleway上,而且它們非常的便宜(在撰寫本文時Start1-S服務(wù)器只花費€3.99/mo和€0.008/小時?。?/p>

為什么選擇Rancher?

如果你想從頭開始學習Kubernetes成為一名kubectl魔術(shù)師,這個出發(fā)點不錯,我不反對。不過在我看來,僅僅是學習Kuberenetes是不夠的,更重要的是你想用它做什么,你想實現(xiàn)什么。比如,我經(jīng)常開發(fā)微服務(wù)和功能來進行測試(特別是webhook集成),并在Kubernetes上運行它。當然,在管理Kubernetes方面kubectl起到了很大的幫助,但是當我想檢查某些服務(wù)的日志或創(chuàng)建一些secrets時,我不得不使用kubectl輸入大量命令創(chuàng)建出大量的清單,這些常讓我感到疲憊。有時候我只是想簡單地部署一下資源,并不使用清單。我知道有很多工具(如stern、ksonnet等等)可以幫助實現(xiàn)這些工作流,但是我從Rancher 1.x開始就是忠實用戶了,知道他們的UI可以讓工作變得更簡單直觀。這也是我為什么在這個工具集中包含Rancher的原因。

讓我們開始吧!

話不多說,我們開始部署一些資源吧。這兒有一些準備工作:

準備一個Scaleway賬號

準備一個Cloudflare賬號

在Cloudflare中設(shè)置至少1個zone(你可以得到一個免費的服務(wù)域比如Freenom)

克隆kenfdev/rancher-scaleway倉庫

安裝terraform

安裝kubectl

我不會詳細解釋這些內(nèi)容,因為如果都寫的話這篇文章得爆炸了。你可以自己搜索找到相關(guān)的資源。

在這里有一個重要的提示。我們將在Scaleway上部署服務(wù)器,這些都不是免費的。所以事先要確認這一點,它會花費一些錢(不過Scaleway非常便宜)。我不會對這些成本承擔任何責任,所以如果你完成了,一定要破壞掉它們。

從Scaleway獲取信息

我們將在Scaleway上自動部署服務(wù)器,為此,我們需要有一個token。在Scaleway中轉(zhuǎn)到Credentials頁面并點擊Create new token。把Secret key記錄下來,因為我們之后會用到這個。

同時,前往Account頁面找到ORGANIZATION ID做好記錄。到現(xiàn)在為止你已經(jīng)完成了Scaleway的部分,Terraform會處理好其他事情。

從Cloudflare獲取API token

我們需要為創(chuàng)建的Rancher服務(wù)器設(shè)置DNS,為了實現(xiàn)這一點,我們需要獲得Cloudflare的API token。前往Cloudflare下的My Profile,可以在這里找到API Keys。如下圖所示點擊Global API Key的View按鈕。

現(xiàn)在記錄下這個token,到這里收集信息的工作結(jié)束了。

為Rancher服務(wù)器準備Terraform資源

現(xiàn)在我們已經(jīng)有了需要收集的信息,那么下一步就是用Terraform來部署了。先去克隆kenfdev/rancher-scaleway倉庫。

首先,前往rancherserver目錄,按照terraform.tfvars.sample創(chuàng)建一個tfvars文件,打開它:

tfvars文件看起來像這樣:

需要對這些內(nèi)容做修改:

scw_token – 你的Scaleway Secret Token

scw_org – 你的Scaleway Organization ID

admin_password – 你將在Rancher服務(wù)器使用的密碼

rancher_server_url – Rancher服務(wù)器所使用的URL。Terraform會為你的cloudflare zone設(shè)置一個rancher子域名。所以如果你的zone名為example.com,那么terraform會創(chuàng)建一個記錄鏈接到rancher.example.com。

cloudflare_email – 你Cloudflare中的Email

cloudflare_token – 你Cloudflare的API token

cloudflare_zone – 你的Cloudflare zone

你也可以根據(jù)你自己的需求修改其他變量。

部署Rancher Server

現(xiàn)在我們準備好了,用Terraform來進行部署吧!點擊terraform apply你會看到像下面這樣的顯示:

5個資源?

“為什么是5個資源?我們剛剛不是只部署了1個服務(wù)器嗎?”你可能會這么問,其實我們確實部署了不止一個資源,我們部署了:

1個服務(wù)器(Rancher服務(wù)器)

1個為cloud-init進程引導(dǎo)Rancher服務(wù)器的用戶數(shù)據(jù)

1個安全組

1條附加到安全組來控制流量的規(guī)則

1條指向Rancher服務(wù)器的Cloudflare DNS記錄

這樣便添加了5個資源,現(xiàn)在點擊yes。如果一切進行順利,你應(yīng)該能看到這樣的信息:

如果檢查Scaleway的話:

看起來服務(wù)器是部署好了,那DNS如何呢?

它看起來也添加到了Cloudflare!現(xiàn)在我們用這個地址訪問Rancher服務(wù)器:

https://rancher.your.zone/

如果你使用的是Chrome的話應(yīng)該會看到警告提示

這是因為你還沒有給服務(wù)器設(shè)置合法的SSL證書。單擊左下角的按鈕,忽略警告并強制訪問頁面。

瞧!我們用1條命令部署了一個帶有DNS的Rancher服務(wù)器!很酷吧!輸入你保存在tfvars中設(shè)置的密碼,應(yīng)該能登陸了。

現(xiàn)在你有了一個正在工作的Rancher服務(wù)器!你可以在UI上開始為各個位置創(chuàng)建Kubernetes集群,不過本文不會介紹這些用例。取而代之的,我們將在這里使用Terraform,在Scaleway上創(chuàng)建Rancher代理,自動設(shè)置這些由Rancher服務(wù)器管理的集群。

為Rancher代理準備Terraform資源

返回kenfdev/rancher-scaleway倉庫?,F(xiàn)在,前往rancheragent目錄。同樣復(fù)制一份terraform.tfvars.sample給terraform.tfvars。

現(xiàn)在打開terraform.tfvars:

和Rancher服務(wù)器時一樣填入憑證信息,這里列出一些要記住的變量:

rancher_server_address – Rancher Serve的地址,它可能是一個IP或者域名,不過我建議你在之前的步驟中設(shè)置成域名

count_agent_all_nodes – 統(tǒng)計創(chuàng)建的擁有all roles(etcd, controlplane, worker)的節(jié)點數(shù)。如果你只是取體驗一下Kubernetes集群,那么有一個就足夠了。

count_agent_etcd_nodes – 統(tǒng)計創(chuàng)建的擁有etcd role的節(jié)點數(shù)

count_agent_controlplane – 統(tǒng)計創(chuàng)建的擁有controlplane role的節(jié)點數(shù)

count_agent_worker_nodes – 統(tǒng)計創(chuàng)建的擁有worker role的節(jié)點數(shù)

部署Rancher代理

現(xiàn)在再一次點擊terraform apply,將rancher代理部署到Scaleway上。

選擇yes,服務(wù)器就部署好了。幾分鐘后你可以看到資源部署完畢:

同時,在Rancher服務(wù)器的UI下,你可以看到一個新的集群注冊好了。

再過一會,你可以看到Kubernetes集群部署完畢(Active)!

這也很酷對吧?我們可以在Internet(Scaleway)上創(chuàng)建自己的Kubernetes集群,而這僅僅通過幾行命令!

測試Ingress控制器

現(xiàn)在我們可以使用Kubernetes集群了,讓我們看看Nginx Ingress控制器是否按照預(yù)期工作。在rancheragent目錄中,打開dns.tf 文件并添加下面的信息:

這將創(chuàng)建一個Cloudflare記錄來指向具有all roles的Rancher代理節(jié)點。點擊terraform apply,在Cloudflare設(shè)置DNS。

現(xiàn)在我們訪問http://default.your.zone ,我們還沒有在集群上配置任何Ingress,因此需要訪問默認后端。

嘿!我們可以看到Ingress控制器正按我們期望的運作著。

通過kubectl訪問集群

最后,我們來試試能不能通過kubectl訪問這個集群。拉取kubeconfig十分容易。只要在集群層找到按鈕即可:

把config文件復(fù)制或者下載到model上:

用kubectl和KUBECONFIG獲取一些信息

成功獲得了關(guān)于節(jié)點的信息,pods又是如何呢?

只用了簡單的kubectl就能輕松獲得信息,你也可以通過Rancher UI或者kubectl部署資源。

清 理

如果你想繼續(xù)使用集群,你可以從這時起繼續(xù)使用,不過我下面要介紹的是如果你已經(jīng)使用完畢,該如何把這一切清理掉。

破壞掉Rancher代理和Cloudflare資源

執(zhí)行下面的命令:

銷毀Rancher服務(wù)器和Cloudflare資源

確保Scaleway上沒有任何資源了(只有默認的安全組)。否則你還要為這些資源付費。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/32764.html

相關(guān)文章

  • 擁抱Kubernetes,為企業(yè)節(jié)約時間和成本

    摘要:目前,亞太地區(qū)的組織機構(gòu)每周會遭受起攻擊。實施必要的程序以防止和戰(zhàn)勝勒索軟件攻擊對任何企業(yè)而言都至關(guān)重要,中小企業(yè)尤為如此。鑒于市場對更完善的勒索軟件實踐簡化的業(yè)務(wù)流程以及業(yè)務(wù)敏捷性的需求不斷增長,中小企業(yè)及其人員越來越青睞。在僅僅一年多的時間里,新冠疫情給所有公司的經(jīng)營方式都帶來了以往數(shù)年才能發(fā)生的改變。據(jù)麥肯錫報道,各企業(yè)已提前三到四年開始部署客戶和供應(yīng)鏈互動以及內(nèi)部運營的數(shù)字化進程。但...

    z2xy 評論0 收藏0
  • GitOps:Kubernetes集群環(huán)境下高效CICD實踐

    摘要:在容器領(lǐng)域內(nèi),已經(jīng)成為了容器編排和管理的社區(qū)標準。就是的邏輯擴展,它的核心目標是為了更加高效和安全的應(yīng)用發(fā)布。第二個問題就是,生產(chǎn)環(huán)境的發(fā)布權(quán)限一般都是需要嚴格控制的,通常只有應(yīng)用管理員或者運維管理員才有生產(chǎn)發(fā)布權(quán)限。 為了解決傳統(tǒng)應(yīng)用升級緩慢、架構(gòu)臃腫、不能快速迭代、故障不能快速定位、問題無法快速解決等問題,云原生這一概念橫空出世。云原生可以改進應(yīng)用開發(fā)的效率,改變企業(yè)的組織結(jié)構(gòu),甚...

    wdzgege 評論0 收藏0
  • Kubernetes容器編排三大支柱

    摘要:在這種情況下,以防干擾其他集群租戶,調(diào)度器可能會考慮將作為驅(qū)逐的候選對象。其結(jié)果是負載均衡和調(diào)度之間交互作用。 每當談及Kubernetes,我們經(jīng)常聽到諸如資源管理、調(diào)度和負載均衡等術(shù)語。雖然Kubernetes提供了許多功能,但更關(guān)鍵的還是要了解這些概念,只有這樣才能更好地理解如何放置、管理并恢復(fù)工作負載。在這篇文章中,我提供了每個功能的概述,并解釋了它們是如何在Kubernete...

    劉厚水 評論0 收藏0
  • Kubernetes容器編排三大支柱

    摘要:在這種情況下,以防干擾其他集群租戶,調(diào)度器可能會考慮將作為驅(qū)逐的候選對象。其結(jié)果是負載均衡和調(diào)度之間交互作用。 每當談及Kubernetes,我們經(jīng)常聽到諸如資源管理、調(diào)度和負載均衡等術(shù)語。雖然Kubernetes提供了許多功能,但更關(guān)鍵的還是要了解這些概念,只有這樣才能更好地理解如何放置、管理并恢復(fù)工作負載。在這篇文章中,我提供了每個功能的概述,并解釋了它們是如何在Kubernete...

    warmcheng 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<