vmsnap3.exe(如何在 Mac 上配置 Kubernetes)

2023-08-24 05:21:26

Mac 用戶可使用 MicroK8s 運行 Kubernetes 環境,進而開發、測試應用。通過下面的步驟可輕松搭建此環境。


Mac 用戶可使用 MicroK8s 運行 Kubernetes 環境,進而開發、測試應用。通過下面的步驟可輕松搭建此環境。


MicroK8s 是一個 Ubuntu 推出的一個本地的 Kubernetes 版本。它是一個輕量級的 snap 應用,可安裝到 PC 上作為一個單節點集群使用。盡管 MicroK8s 僅針對 Linux 構建,但是也可以在 Mac 上啟動 Ubuntu VM 來實現。


MicroK8s 可在 Ubuntu 和任意支持 snap 的 OS 上運行全部 原生的 K8s 服務 。這對于開發應用,創建簡單的 K8s 集群和本地微服務開發非常有幫助,所有的開發工作最終都還是需要部署的。


MicroK8s 提供另一個級別的可靠性因為它提供了與當前 Kubernetes(以下簡稱 Kubernetes 為 K8s)版本一致的開發環境。 在 最新的上游 K8s 發布后的一周內,在 Ubuntu 上即可使用。


在 Mac 上配置 Kubernetes

K8s 和 MicroK8s 都需要一個 Linux 內核來工作,因此二者都需要 Ubuntu 環境。Mac 用戶可使用 Multipass,此工具被設計為方便用戶在 Mac、Windows、Linux 上開啟 Ubuntu VM(虛擬)環境。


下面的教程將介紹在 Mac 上配置 Multipass 和運行 K8s。


步驟1:使用 Multipass 為 Mac 安裝一個 VM

最新的 Multipass 的程序包可在 GitHub 上 找到,雙擊 .pkg 即可安裝。用 MicroK8s 來啟動一個 VM:


multipass launch --name microk8s-vm --mem 4G --disk 40Gmultipass exec microk8s-vm -- sudo snap install microk8s --classic multipass exec microk8s-vm -- sudo iptables -P FORWARD ACCEPT

確保為主機保留足夠的資源。上述命令表示我們創建了一個名字為 microk8s-vm 的 VM,分配了 4GB 內存和 40GB 硬盤。


使用以下命令來查看 VM 分配的 IP 地址:(記一下下面的 IP,我們將從此開始)


multipass listName State IPv4 Release microk8s-vm RUNNING 192.168.64.1 Ubuntu 18.04 LTS

步驟2:在 VM 上與 MicroK8s 互動

可使用以下 3 種方式:


命令行,用 Multipass 的 shell 提示符:


multipass shell microk8s-vm

用 multipass exec 來執行一個命令(輸入后無提示):


multipass exec microk8s-vm -- /snap/bin/microk8s.status

調用運行在 VM 的 K8s API 服務器,這里使用 MicroK8s 的 kubeconfig 文件和一個 本地的安裝的 kubectl 來訪問 VM 內的 K8s,運行以下命令:


multipass exec microk8s-vm -- /snap/bin/microk8s.config > kubeconfig

下一步,在本地主機安裝 kubectl,然后使用 kubeconfig:


kubectl --kubeconfig=kubeconfig get all --all-namespaces NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE Default service/kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 3m12s

步驟 3:用 Mutlpass 服務訪問 VM 并開啟 MicroK8s 組件

配置基礎的 MicroK8s 組件是開啟 Grafana 儀表,下面我們將展示一步開啟 Grafana,監視和分析一個 MicroK8s 實例??蓤绦幸韵旅睿?/p>

multipass exec microk8s-vm -- /snap/bin/microk8s.enable dns dashboardEnabling DNSApplying manifestservice/kube-dns createdserviceaccount/kube-dns createdconfigmap/kube-dns createddeployment.extensions/kube-dns createdRestarting kubeletDNS is enabledEnabling dashboardsecret/kubernetes-dashboard-certs createdserviceaccount/kubernetes-dashboard createddeployment.apps/kubernetes-dashboard createdservice/kubernetes-dashboard createdservice/monitoring-grafana createdservice/monitoring-influxdb createdservice/heapster createddeployment.extensions/monitoring-influxdb-grafana-v4 createdserviceaccount/heapster createdconfigmap/heapster-config createdconfigmap/eventer-config createddeployment.extesions/heapster-v1.5.2 createddashboard enabled

接下來,用下面命令檢查部署進程:


multipass exec microk8s-vm -- /snap/bin/microk8s.kubectl get all --all-namespaces

返回信息如下:






一旦所有的必要服務已開啟,接下來使用以下的鏈接訪問儀表。命令如下:


multipass exec microk8s-vm -- /snap/bin/microk8s.kubectl cluster-info Kubernetes master is running at https://127.0.0.1:16443Heapster is running at https://127.0.0.1:16443/api/v1/namespaces/kube-system/services/heapster/proxyKubeDNS is running at https://127.0.0.1:16443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxyGrafana is running at https://127.0.0.1:16443/api/v1/namespaces/kube-system/services/monitoring-grafana/proxyInfluxDB is running at https://127.0.0.1:16443/api/v1/namespaces/kube-system/services/monitoring-influxdb:http/proxyTo further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

如果我們在 VM 內,可以用此鏈接來訪問 Grafana 儀表。不過,我們可以通過代理在主機上訪問。


multipass exec microk8s-vm -- /snap/bin/microk8s.kubectl proxy --address='0.0.0.0' --accept-hosts='.*' Starting to serve on [::][::]:8001

保持終端運行狀態,記一下端口號(8001),我們在下一步需要用到。要訪問 Grafana 儀表,我們需要修改 VM 內儀表的鏈接:


使用 VM 的 IP 替換 127.0.0.1(multipass info microk8s-vm)將端口(16443)替換為代理端口 8001。在瀏覽器內輸入這個鏈接地址:https://127.0.0.1:8001/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy,你將看到 Grafana 儀表,如下圖:





總結

使用 MicroK8s 在本地開發和測試應用,將使得團隊在部署上更快,這對于開發者和 DevOp 團隊來說是非常有價值和意義的。






點擊“了解更多”可訪問文內鏈接

TAGS:
聲明

1.本站遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.本站的原創文章,請轉載時務必注明文章作者和來源,不尊重原創的行為我們將追究責任;
3.作者投稿可能會經我們編輯修改或補充。

搜索
排行榜
成人精品大片无码视频|亚洲大尺度无码专区|早榴无码高清在线观看|五月综合激情婷婷六月色窝