在Kubernetes集群上部署和管理JFrog Artifactory

JFrog Artifactory是一個artifacts倉庫管理平臺,它支持所有的主流打包格式、構建工具和持續集成(CI)服務器。它將所有二進制內容保存在一個單一位置并提供一個接口,這使得用戶在整個應用程序開發和交付過程中,能更易于上傳、查找和使用二進制文件。

在本文中我們將介紹如何使用Rancher在Kubernetes集群上部署和管理JFrog Artifactory。在看完本文后,你將會系統地了解JFrog Artifactory OSS的安裝設置,并且能夠按照同樣的步驟在任何Kubernetes集群中安裝Artifactory OSS或者它的商業版本。當然,我們還將向你展示如何在Artifactory中創建通用倉庫并且向其中上傳工件。

除了文章中所展示的之外,Artifactory還有更多特性,在以后的文章中我們會更詳細地介紹它們。

好了,那么我們開始吧!

使用的軟件

本文使用了下列的軟件工具:

  • Rancher v2.0.8

  • 運行在Google Kubernetes Engine version 1.10.7-gke.2上的Kubernetes集群

  • Artifactory helm chart version 7.4.2

  • Artifactory OSS version 6.3.2

如果以后本文更新了,請使用到時候的最新版本。

和Kubernetes中的其他工具一樣,我們有多種方法來安裝Artifactory。這里我們將使用Helm chart,Helm提供了一種給應用程序安裝命令打包及分享給他人的方式。你可以把它想象成服務于Kubernetes的包管理者。在Rancher Catalog(應用服務目錄)中,Rancher集成了Helm,在Catalog中你只需要點擊幾下就可以部署任何Helm支持的應用程序。除此之外Rancher還有其他特點,包括:

  • 一個簡單直觀的Web界面

  • 統一納管所有云上、所有發行版、所有Kubernetes集群

  • 一個單一視圖展示所有托管的集群

  • 開箱即用的集群監控

  • 工作負載、基于角色的訪問控制(RBAC)、策略和項目管理

  • 所有Kubernetes的功能都不需要在本地安裝任何軟件

安裝Rancher

注意:如果你已經有了Rancher v2 Server和Kubernetes集群,直接可以跳過這部分,直接進入安裝JFrog Artifactory的教程部分。

Rancher非常強大,它能夠在任何地方管理Kubernetes集群,因此我們將在GCE實例上以獨立模式啟動Rancher Server,使用它在GKE中部署Kubernetes集群。

在獨立模式下啟動Rancher Server非常容易——因為它是Docker容器,在啟動容器之前,我們需要一個計算實例來運行它,那么我們用下面的命令啟動:

在Kubernetes集群上部署和管理JFrog Artifactory

請你根據自己的部署修改project以及zone參數。

幾分鐘之后你應該能看到實例已經準備好了。

在Kubernetes集群上部署和管理JFrog Artifactory

記錄下來EXTERNAL_IP地址,稍后連接Rancher Server的時候你可能會用到。

計算節點啟動并運行之后,我們通過GCE的CLI(命令行接口)SSH到它。

在Kubernetes集群上部署和管理JFrog Artifactory

同樣,注意調整project和zone參數,在你用不同的name或者在不同的zone啟動節點時它們會變化。

連接之后,運行下面的命令安裝一些依賴包并且安裝Docker CE。Rancher Server是一個Docker容器,如果想要繼續安裝的話我們就需要用到Docker了。

在Kubernetes集群上部署和管理JFrog Artifactory

有了這些之后,我們就可以部署Rancher服務器了。在第一次啟動容器時,Docker Engine會從Docker Hub中獲取容器鏡像,在啟動容器之前先將其保存在本地。以后容器要啟動時,就直接使用本地的鏡像,這樣速度會更快。

使用下面的命令控制Docker啟動Rancher Server容器,并監聽主機上的80和443端口

在Kubernetes集群上部署和管理JFrog Artifactory

如果一切正常,在返回提示符之前Docker會打印出下載的狀態,接著是新的容器ID。

在Kubernetes集群上部署和管理JFrog Artifactory

恭喜你!你已經成功啟動了一個Rancher Server實例。

在瀏覽器中輸入剛剛你記錄下來的EXTERNAL_IP地址,你需要接受Rancher默認安裝的self-signed證書。這之后,會彈出歡迎界面,設置密碼(記住它!)接著繼續下一頁。

在Kubernetes集群上部署和管理JFrog Artifactory

在這一頁面上你需要設置Rancher Server的URL。在生產部署中這可能是一個主機名,比如rancher.yourcompany.com,但是如果你使用的是demo server,可以直接使用上面的EXTERNAL_IP地址。

在Kubernetes集群上部署和管理JFrog Artifactory

點擊Save URL之后,會進入到Clusters頁面,從這里開始我們就可以開始部署自己的Kubernetes集群了。

使用Rancher來部署一個GKE集群

Rancher可以部署、管理來自任何地方的Kubernetes集群。這些集群可以來自Google、Amazon、Azure、阿里云、華為云、騰訊云等等,可以在云節點上、數據中心里,甚至是運行在你筆記本上的VM中。這是Rancher最出色的一點。這次我們會使用到GKE。在點擊Add Cluster之后,選擇Google Container Engine。

針對本demo,將name設置成jfrog-artifactory。

要創建集群,Rancher需要訪問Google Cloud Platform的權限。這些權限可以通過Service Account的私鑰JSON文件獲得。如何產生它呢,首先找到service account的name(根據你的情況修改project的name):

在Kubernetes集群上部署和管理JFrog Artifactory

輸出的service account會代替<SA>。復制整個地址并把它用到下面的命令:

在Kubernetes集群上部署和管理JFrog Artifactory

這樣會在當前文件夾下創建一個名為key.json的文件。這就是Service Account私鑰,Rancher將用它來創建集群:

在Kubernetes集群上部署和管理JFrog Artifactory

你可以把文件的內容粘貼到文本框中,也可以點擊Read from a file,選擇key.json文件。Rancher將使用該信息生成一個頁面,在頁面中配置你的新集群:

在Kubernetes集群上部署和管理JFrog Artifactory

設置你想要的Zone、Machine Type、Node Count以及Root Disk Size。當然你可以參考上圖demo中使用的默認值。

點擊Create,集群就會部署到GKE上,一切ok后你可以在UI界面上看到它已經是活躍狀態的了。

在Kubernetes集群上部署和管理JFrog Artifactory

安裝JFrog Artifactory

接下來我們將通過JFrog的Helm chart倉庫來安裝Artifactory。Helm charts,就像OS包管理系統一樣,在Kubernetes環境中提供給你穩定的部署容器應用程序的方式,并且讓你可以更新或者回滾應用程序。chart保證你給容器安裝了特定的版本或者標記,在應用程度有多個組件的情況下,Helm chart能夠確保你的全部組件都安裝了正確的版本。

安裝JFrog Helm倉庫

Rancher在其應用程序目錄中附帶了一個Helm charts庫,不過為了滿足Rancher用戶對靈活性的要求,你還可以安裝任何第三方的Helm倉庫來部署這些應用程序到集群中。我們今天將使用JFrog倉庫。

在Rancher的Global Cluster視圖中,單擊Catalogs,接著點擊Add Catalog,在彈出的窗口中,輸入一個名稱,比如jfrog-artifactory,然后輸入官方JFrog倉庫的位置。

在Kubernetes集群上部署和管理JFrog Artifactory

點擊Create,JFrog倉庫就會出現在自定義目錄的列表中了。

在Kubernetes集群上部署和管理JFrog Artifactory

部署Artifactory

我們接著部署Artifactory。在Global視圖中,選擇jfrog-artifactory集群下的默認項目:

在Kubernetes集群上部署和管理JFrog Artifactory

進入默認項目后,選擇Catalog Apps,點擊Launch。Rancher將從Application Catalogs中顯示可用于安裝的應用程序。這里你可能發現artifactory-ha出現了兩次,一次是作為合作伙伴提供的chart出現在Rancher附帶的默認應用程序庫中,另一次是來自JFrog倉庫本身。我們安裝Helm倉庫是因為我們想安裝常規的、非HA的Artifactory,我們就喊它artifactory。所有目錄下的應用程序都指明了它們來自哪個庫,所有在多個庫中都有chart的情況下,你仍然可以選擇安裝哪個庫

在Kubernetes集群上部署和管理JFrog Artifactory

當你選擇View Details時,你可以更改有關如何安裝應用程序的選項。在默認情況下,此目錄項將部署已授權的Artifactory商業版本,為此你需要證書。如果你已經擁有證書,那么可以保留默認選項;但是,我們想安裝OSS版本,所以我們將更改chart安裝的鏡像。

我們在Configuration Options界面進行操作,選擇Add Answer,設置好artifactory.image.repository的變量名以及docker.bintray.io/jfrog/artifactory-oss的值。

在Kubernetes集群上部署和管理JFrog Artifactory

現在,當你點擊Launch,Rancher就會把Artifactory部署到你的集群上。

在Kubernetes集群上部署和管理JFrog Artifactory

當安裝完成后,紅色的進度條會變更為綠色。這時如果你點到artifactory上,它會展示Rancher給你創建好的資源。在本例中,它在Kubernetes中創建了三個工作負載,三個服務,一個卷以及一個加密。

選擇Workloads,你可以看到它們都在運行:

在Kubernetes集群上部署和管理JFrog Artifactory

解決Pending Ingress

在本文發布時,出現了一個bug導致Ingress一直是Pendding狀態。如果你在單擊Load Balancing時看到這一點,請你閱讀解決方案。

在Kubernetes集群上部署和管理JFrog Artifactory

想要解決pendding Ingress問題,我們需要創建Ingress能發送流量的服務。點擊右上角的Import YAML,在打開的窗口中,粘貼下面的信息,然后單擊Import。

在Kubernetes集群上部署和管理JFrog Artifactory

訪問Artifactory

現在在WordLoads界面,artifactory-artifactory-nginx工作負載下會顯示出用于查看443/tcp和80/tcp端口的可點擊鏈接:

在Kubernetes集群上部署和管理JFrog Artifactory

當你選擇443/tcp時,它會在瀏覽器的新標簽頁中打開Artifactory UI。因為默認情況下它使用了self-signed證書,你的瀏覽器可能會彈出一個警告,要求在執行之前接受證書。

在Kubernetes集群上部署和管理JFrog Artifactory

讓Artifactory工作起來

現在你已經有了一個功能齊全的二進制工件倉庫可供差遣。過程不是很復雜不是嗎!接下來在開始使用它之前,還需要進行一些配置。

首先,需要設置管理密碼。當它詢問有關代理服務器的信息時,除非你已經將它部署到需要代理配置的位置上了,否則就選擇skip。創建一個通用倉庫,選擇Finish。

現在,我們來快速過一下一些基本用法。

首先,我們上傳之前用于創建Artifactory安裝的helm chart。

在左側菜單中選擇Artifacts,可以看到剛剛創建的通用倉庫。選擇它,然后在右上角選擇Deploy,將Helm chart的zipfile(或任何其他文件)上傳到倉庫中。

在Kubernetes集群上部署和管理JFrog Artifactory

等部署完畢之后,你就能在倉庫中的Tree選項下看到它了。

在Kubernetes集群上部署和管理JFrog Artifactory

雖然這只是對Artifactory的一個簡單測試,但它已經是完全能使用的了。

你可以將Artifactory用于二進制工件存儲和分發,并使用Rancher輕松地管理工作負載、集群以及與部署本身相關的內容。

清 理

如果你已經完成了本文中的demo,那么就可以從Rancher的Global Cluster視圖中刪除Kubernetes集群。這步操作將會從GKE中把它移除掉。這之后,你就可以直接從GCE中刪除Rancher Server的實例了。

關 閉

JFrog Artifactory非常的強大。每天都有大量的組織使用它,掌握快速且安全地將它部署到Kubernetes集群中的能力是非常有用的。

根據他們的文獻所述,Artifactory讓用戶可以“快速發布或快速清除”。同樣的,Rancher讓你能快速部署,同時控制資源和周圍環境的安全性。你可以在世界任何地方構建、部署、拆卸、加密、監控Kubernetes集群以及與之交互,而所有的這些都只來自于一個簡單的、方便的、安全的接口。

沒什么比這更容易的了!

轉載于:https://blog.51cto.com/12462495/2335475

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281019.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281019.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281019.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

已知思科ASA設備漏洞仍在其新版本中存在

近日&#xff0c;名為“Shadow Brokers(影子經紀人)”的黑客組織聲稱成功入侵了跟NSA相關的Equation Group(方程式組織)的計算機系統&#xff0c;并成功竊取到了大量的機密信息以及黑客工具。隨后&#xff0c;“Shadow Brokers”黑客組織將60%的泄漏文件在網上進行了公布&#…

Yii Listview

轉載于:https://www.cnblogs.com/xiong63/p/8546376.html

Git 操作筆記/pip換源

pip換源 阿里云的源,在cmd命令行中輸入上述命令即可 pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ 還原commit 不可逆 1.git log2.選擇某次提交的commit ID3.使用git reset --hard commit ID 遠程查看與斷開 git remote -vgit remote rem…

.NET 7 的 AOT 到底能不能杠反編譯?

一&#xff1a;背景 1.講故事在B站&#xff0c;公眾號上發了一篇 AOT 的文章后&#xff0c;沒想到反響還是挺大的&#xff0c;都稱贊這個東西能抗反編譯&#xff0c;可以讓破解難度極大提高&#xff0c;可能有很多朋友對逆向不了解&#xff0c;以為用 ILSpy,Reflector,DnSpy 這…

google hdr+_更好的隱私權控制使Google+死了

google hdrEarlier this year, Google started a project to review third-party developer access to Google accounts through the use of APIs. It found a security breach surrounding Google, and is now shutting the service down, at least for consumers. 今年年初&a…

新0-Day漏洞或將給Linux桌面發行版帶來浩劫

Linux 的各個發行版都一直強調安全及其相關元素&#xff0c;比如防火墻、滲透測試、沙盒、無痕上網和隱私等等&#xff0c;但事實上可能并沒有想象中的那么安全。安全研究員 Chris Evans 公開了其發現的針對 Linux 桌面發行版的 0day 漏洞&#xff0c;利用特制的音頻文件入侵 L…

php中把美國時間轉為北京時間的自定義

我的服務器北京時間&#xff0c;php調用的時間&#xff1a; date.timezone "America/Chicago" 這是美國這邊的一個時間&#xff0c;有的時候跟北京相差13個小時&#xff0c;有的時候跟北京時間相差14個小時&#xff0c;所以很不好處理&#xff0c;現在php函數就能處…

C# DataTable筆記

文章轉載自http://www.cnblogs.com/Sandon/p/5175829.html 感謝博主Sandon。 為了方便以后編程查看&#xff0c;特把文章復制過來。 創建表 //創建一個空表 DataTable dt new DataTable(); //創建一個名為"Table_New"的空表 DataTable dt new DataTable("Tabl…

一份詳盡的利用 Kubeadm部署 Kubernetes 1.13.1 集群指北

2019獨角獸企業重金招聘Python工程師標準>>> 概 述 Kubernetes集群的搭建方法其實有多種&#xff0c;比如我在之前的文章《利用K8S技術棧打造個人私有云&#xff08;連載之&#xff1a;K8S集群搭建&#xff09;》中使用的就是二進制的安裝方法。雖然這種方法有利于我…

.NET性能優化-使用內存+磁盤混合緩存

我們回顧一下上一篇文章中的內容&#xff0c;有一個朋友問我這樣一個問題&#xff1a;我的業務依賴一些數據&#xff0c;因為數據庫訪問慢&#xff0c;我把它放在 Redis 里面&#xff0c;不過還是太慢了&#xff0c;有什么其它的方案嗎&#xff1f;其實這個問題比較簡單的是吧&…

最小生成樹詳解

注&#xff1a;本文算法使用鏈式前向星數據結構實現。學習鏈接&#xff1a;鏈式前向星-學習筆記 一、Prim算法 普通prim算法模板&#xff1a; //用前向星錄數據的時候記得把head初始化為-1 fill(dist,distLEN,MAX); memset(vis,0,sizeof vis); int ans0; dist[1]0; //如…

dropbox文件_Dropbox即將發布的擴展程序更新將添加更多文件編輯支持,包括Pixlr照片...

dropbox文件Dropbox is perhaps the best-known cloud storage platform for consumers, but it’s hoping to become something more. With an upcoming overhaul to its user tools, Dropbox will add more complex editing tools, in addition to what it already provides …

黑客竊取思科、IBM與甲骨文認證管理系統內的敏感數據

目前一套被思科、F5、IBM以及甲骨文等企業所廣泛使用的認證管理系統(即Credential Manager System)正面臨著數據泄露風險&#xff0c;其中的敏感數據也許已經被黑客們所獲取。 根據Pearson VUE(主營計算機測試方案開發與交付)發布的一項公告&#xff0c;某惡意軟件已經藏身于該…

Spring下載地址

下載地址&#xff1a;https://repo.spring.io/libs-release-local/org/springframework/spring/ 進入后可選擇下載版本&#xff0c;選擇版本后&#xff0c;進入目錄結構。其中dist是最終發布版本&#xff0c;包含開發所需lib和源碼。docs是開發文檔。schema是一些約束文件。 Do…

C#字符串:轉數組、數字

1.List<string> 轉數組&#xff0c;字符串 string[] strs list.ToArray();string s string.Join(",", list.ToArray());//數組轉list string[] strArr new string[3] { "1", "2", "3" }; List<string> strList strArr…

.NET7發布,一大批優秀.NET6項目沒人看了嗎...(都是好項目)

恍惚間都已經.NET7.0了&#xff0c;不能再呆在舊版本了&#xff01;這里分享一套Vue3 Axios TS Vite Element Plus .NET 6 WebAPI JWT SqlSugar的通用管理后臺&#xff0c;各種最新框架組件&#xff0c;學習必備&#xff01;這里把源碼、腳本以及專門錄制的視頻教程都打…

Python的日志記錄-logging模塊的使用

一、日志 1.1什么是日志 日志是跟蹤軟件運行時所發生的事件的一種方法&#xff0c;軟件開發者在代碼中調用日志函數&#xff0c;表明發生了特定的事件&#xff0c;事件由描述性消息描述&#xff0c;同時還包含事件的重要性&#xff0c;重要性也稱為級別或嚴重性。 1.2何時使用日…

詢問HTG:白噪聲屏幕保護程序,有效的文件命名以及從密碼泄露中恢復

Once a week we share three of the questions we’ve answered from the Ask HTG inbox with the greater readership; this week we’re looking at white noise screen savers, efficient file naming systems, and recovering from a password compromise. 每周一次&#…

專家預測第二波WannaCry勒索病毒攻擊即將到來!

WannaCry的傳播腳步今晨戛然而止 今天一大早&#xff0c;全網的WannaCry蠕蟲病毒攻擊突然減弱消退了!所有這一切功勞來自于英國研究人員malwaretech&#xff0c;他通過逆向發現WannaCry代碼中有一個特殊域名地址&#xff1a; www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.co…

01.HTML基礎命令筆記

目錄 HTML結構 body內常用標簽 常用 div與span img a標簽 超鏈接標簽 其他格式標簽 列表 表格 表單 select標簽 label標簽 textarea多行文本 HTML結構 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"&…