中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

幫助你駕馭 Kubernetes 的 4 個工具

2021-02-17    分類: 網站建設

在本系列的第三篇文章中, Kubernetes 基礎:首先學習如何使用 ,我強調你應該學會使用 Kubernetes,而不是建造它。我還解釋說,在 Kubernetes 中,你必須學習最小的一組原語來建模應用程序。我想強調這一點:你需要學習的這組原語是最簡單的原語集,你可以通過它們學習如何實現生產級的應用程序部署(即高可用性 [HA]、多容器、多應用程序)。換句話說,學習 Kubernetes 內置的原語集比學習集群軟件、集群文件系統、負載平衡器、讓人發瘋的 Apache 和 Nginx 的配置、路由器、交換機、防火墻和存儲后端更容易 —— 這些是你在傳統的 IT 環境(虛擬機或裸機)中建模簡單的 HA 應用程序所需要的東西。

1、Katacoda

無疑, Katacoda 是試駕 Kubernetes 集群的最簡單方法。只需單擊一下,五秒鐘后就可以將基于 Web 的終端直接連接到正在運行的 Kubernetes 集群中。這對于使用和學習來說非常棒。我甚至將它用于演示和測試新想法。Katacoda 提供了一個完整的臨時環境,在你使用完畢后可以回收利用。


Katacoda 提供了一個臨時的環境和更深入的實驗室環境。例如,我最近三四年主講的 Linux Container Internals Lab 是在 Katacoda 中構建的。

Katacoda 在其主站點上維護了若干 Kubernetes 和云教程 并與 Red Hat 合作以支持了一個 OpenShift 的專用學習門戶 。了解一下,它們是極好的學習資源。

當你第一次學習駕駛翻斗車時,最好先觀察一下其他人的駕駛方式。

2、Podman generate kube

podman generate kube 命令是一個很棒的子命令,可以幫助用戶自然地從運行簡單容器的簡單容器引擎轉換到運行許多容器的集群用例(正如我在 上篇文章 中所描述的那樣)。 Podman 通過讓你啟動一個新的容器,然后導出這個可工作的 Kube YAML,并在 Kubernetes 中啟動它來實現這一點??纯催@個(你可以在 Katacoda lab 中運行它,它已經有了 Podman 和 OpenShift)。

首先,請注意運行容器的語法與 Docker 非常相似:

  1. podman run -dtn two-pizza quay.io/fatherlinux/two-pizza 

不過這個是其它容器引擎所沒有的:

  1. podman generate kube two-pizza 

輸出:

  1. # Generation of Kubernetes YAML is still under development! 
  2. # Save the output of this file and use kubectl create -f to import 
  3. # it into Kubernetes. 
  4. # Created with podman-1.3.1 
  5. apiVersion: v1 
  6. kind: Pod 
  7. metadata: 
  8.  creationTimestamp: "2019-06-07T08:08:12Z" 
  9.  labels: 
  10.  app: two-pizza 
  11.  name: two-pizza 
  12. spec: 
  13.  containers: 
  14.  - command: 
  15.  - /bin/sh 
  16.  - -c 
  17.  - bash -c 'while true; do /usr/bin/nc -l -p 3306 < /srv/hello.txt; done' 
  18.  env: 
  19.  - name: PATH 
  20.  value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
  21.  - name: TERM 
  22.  value: xterm 
  23.  - name: HOSTNAME 
  24.  - name: container 
  25.  value: oci 
  26.  image: quay.io/fatherlinux/two-pizza:latest 
  27.  name: two-pizza 
  28.  resources: {} 
  29.  securityContext: 
  30.  allowPrivilegeEscalation: true 
  31.  capabilities: {} 
  32.  privileged: false 
  33.  readOnlyRootFilesystem: false 
  34.  tty: true 
  35.  workingDir: / 
  36. status: {} 
  37. --- 
  38. apiVersion: v1 
  39. kind: Service 
  40. metadata: 
  41.  creationTimestamp: "2019-06-07T08:08:12Z" 
  42.  labels: 
  43.  app: two-pizza 
  44.  name: two-pizza 
  45. spec: 
  46.  selector: 
  47.  app: two-pizza 
  48.  type: NodePort 
  49. status: 
  50.  loadBalancer: {} 

你現在有了一些可以的工作 Kubernetes YAML,你可以用它作為練習的起點來學習、調整等等。-s 標志可以為你創造一項服務。 Brent Baude 甚至致力于 添加卷/持久卷斷言 等新功能。如果想進一步深入,請在 Brent 的博客文章《 Podman 現在可以輕松過渡到 Kubernetes 和 CRI-O 》中了解他的工作。

3、oc new-app

oc new-app 命令非常強大。它是特定于 OpenShift 的,所以它在默認的 Kubernetes 中不可用,但是當你開始學習 Kubernetes 時它非常有用。讓我們從快速命令開始創建一個相當復雜的應用程序:

  1. oc new-project -n example 
  2. oc new-app -f https://raw.githubusercontent.com/openshift/origin/master/examples/quickstarts/cakephp-mysql.json 

使用 oc new-app,你可以從 OpenShift 開發人員那里偷取模板,并在開發原語來描述你自己的應用程序時擁有一個已知良好的起點。運行上述命令后,你的 Kubernetes 命名空間(在 OpenShift 中)將由若干新的已定義資源填充。

  1. oc get all 

輸出:

  1. NAME READY STATUS RESTARTS AGE 
  2. pod/cakephp-mysql-example-1-build 0/1 Completed 0 4m 
  3. pod/cakephp-mysql-example-1-gz65l 1/1 Running 0 1m 
  4. pod/mysql-1-nkhqn 1/1 Running 0 4m 
  5. NAME DESIRED CURRENT READY AGE 
  6. replicationcontroller/cakephp-mysql-example-1 1 1 1 1m 
  7. replicationcontroller/mysql-1 1 1 1 4m 
  8. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE 
  9. service/cakephp-mysql-example ClusterIP 172.30.234.135  8080/TCP 4m 
  10. service/mysql ClusterIP 172.30.13.195  3306/TCP 4m 
  11. NAME REVISION DESIRED CURRENT TRIGGERED BY 
  12. deploymentconfig.apps.openshift.io/cakephp-mysql-example 1 1 1 config,image(cakephp-mysql-example:latest) 
  13. deploymentconfig.apps.openshift.io/mysql 1 1 1 config,image(mysql:5.7) 
  14. NAME TYPE FROM LATEST 
  15. buildconfig.build.openshift.io/cakephp-mysql-example Source Git 1 
  16. NAME TYPE FROM STATUS STARTED DURATION 
  17. build.build.openshift.io/cakephp-mysql-example-1 Source Git@47a951e Complete 4 minutes ago 2m27s 
  18. NAME DOCKER REPO TAGS UPDATED 
  19. imagestream.image.openshift.io/cakephp-mysql-example docker-registry.default.svc:5000/example/cakephp-mysql-example latest About aminute ago 
  20. NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD 
  21. route.route.openshift.io/cakephp-mysql-example cakephp-mysql-example-example.2886795271-80-rhsummit1.environments.katacoda.com cakephp-mysql-example  None 

這樣做的好處是你可以刪除 Pod,觀察復制控制器如何重新創建它們,縮放 Pod 等等。你可以使用模板并將其更改為其他應用程序(這是我第一次啟動時所做的)。

4、Visual Studio Code

我把我最喜歡的放在最后。我的大部分工作都使用 vi ,但我從來沒有為 Kubernetes 找到一個好的語法高亮器和代碼補完插件(如果有的話,請告訴我)。相反,我發現微軟的 VS Code 有一套殺手級的插件,可以完成 Kubernetes 資源的創建并提供樣板。


首先,安裝上圖中顯示的 Kubernetes 和 YAML 插件。

然后,你可以從頭開始創建新的 YAML 文件,并自動補完 Kubernetes 資源。上面的示例顯示了一個服務。

當你使用自動補完并選擇服務資源時,它會填充該對象的一些模板。當你第一次學習使用 Kubernetes 時,這非常棒。你可以構建 Pod、服務、復制控制器、部署等。當你從頭開始構建這些文件甚至修改你使用 podman generate kube 創建的文件時,這是一個非常好的功能。

總結

這四個工具(如果算上兩個插件,則為六個)將幫助你學習駕馭 Kubernetes,而不是構造或裝備它。在本系列的最后一篇文章中,我將討論為什么 Kubernetes 如此適合運行這么多不同的工作負載。

標題名稱:幫助你駕馭 Kubernetes 的 4 個工具
轉載來源:http://m.2m8n56k.cn/news/101364.html

成都網站建設公司_創新互聯,為您提供網站排名網站維護、域名注冊、品牌網站制作、虛擬主機、外貿建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司
主站蜘蛛池模板: 美女视频永久黄网站免费观看韩国 | a一级毛片视频免费看 | 成年午夜性爽快免费视频不卡 | 欧美精品久久一区二区三区 | 一男一女搞黄 | 美女黄网站人色视频免费国产 | 加勒比日本 | 亚洲偷 | 日韩毛片在线免费观看 | 色www亚洲 | 日本国产欧美色综合 | 欧美日韩亚洲成色二本道三区 | 大量愉拍情侣在线视频 | 美美女下面被cao爽 美女131爽爽爽做爰中文视频 | 国产在线一区在线视频 | 国产日韩欧美一区二区 | 全部免费的毛片视频观看 | 亚洲小视频 | 成人免费观看国产高清 | 免费黄色欧美 | 国产精品久久影院 | 国产一区二区三区在线视频 | 三区在线视频 | 欧美一级毛片aaa片 欧美一级毛片不卡免费观看 | 成人亚洲欧美日韩中文字幕 | 精品成人免费一区二区在线播放 | 在线人成精品免费视频 | 亚洲精品视频免费在线观看 | 亚洲综合久久久久久中文字幕 | 男子操女子 | 亚洲一区二区三区免费 | 在线视频精品视频 | 嫩草影院在线观看网站成人 | 成年女人免费看 | 美女扒开腿让男人桶个爽 | 亚洲国产高清视频 | 日韩亚洲综合精品国产 | 久草视频福利在线 | 精品久久免费视频 | 波多野结衣一级 | 国产亚洲精品成人久久网站 |