当前位置: 首页 > 科技观察

如何在Mac上配置Kubernetes

时间:2023-03-14 14:35:13 科技观察

Mac用户可以使用MicroK8s运行Kubernetes环境来开发和测试应用。可以按照以下步骤轻松设置此环境。MicroK8s是Ubuntu推出的Kubernetes本地版本。它是一个轻量级的snap应用程序,可以作为单节点集群安装在PC上。虽然MicroK8s只为Linux构建,但也可以通过在Mac上启动UbuntuVM来实现。MicroK8s可以在Ubuntu和任何支持snap的操作系统上运行所有原生K8s服务。这对于开发应用、创建简单的K8s集群和本地微服务开发非常有帮助,所有的开发工作最终都需要部署。MicroK8s提供了另一个级别的可靠性,因为它提供了与当前版本的Kubernetes(以下简称KubernetesforK8s)一致的开发环境。在最新的上游K8s发布后一周内可在Ubuntu上使用。在Mac上配置KubernetesK8s和MicroK8s需要Linux内核才能工作,因此两者都需要Ubuntu环境。Mac用户可以使用Multipass,这是一款旨在方便用户在Mac、Windows和Linux上打开UbuntuVM(虚拟)环境的工具。以下教程将介绍在Mac上配置Multipass和运行K8s。第1步:使用Multipass为Mac安装VM***可以在GitHub上找到Multipass包,双击.pkg进行安装。使用MicroK8s启动VM:multipasslaunch--namemicrok8s-vm--mem4G--disk40Gmultipassexecmicrok8s-vm--sudosnapinstallmicrok8s--classicmultipassexecmicrok8s-vm--sudoiptables-PFORWARDACCEPT确保为主机保留足够的资源。上面的命令意味着我们已经创建了一个名为microk8s-vm的VM,分配了4GB内存和40GB硬盘。使用如下命令查看VM分配的IP地址:(注意下面的IP,我们从这里开始)multipasslistNameStateIPv4Releasemicrok8s-vmRUNNING192.168.64.1Ubuntu18.04LTS第二步:与VM上的MicroK8s交互有3种方式:commandline,使用Multipass的shell提示符:multipassshellmicrok8s-vm用multipassexec执行命令(输入后无提示):multipassexecmicrok8s-vm--/snap/bin/microk8s.status调用VM上运行的K8sAPI服务器,这里使用MicroK8s的kubeconfig文件和本地安装的kubectl在VM中访问K8s,运行如下命令:multipassexecmicrok8s-vm--/snap/bin/microk8s.config>kubeconfig接下来,在本地主机上安装kubectl,然后使用kubeconfig:kubectl--kubeconfig=kubeconfiggetall--all-namespacesNAMESPACENAMETYPECLUSTER-IPEXTERNAL-IPPORT(S)AGEDefaultservice/kubernetesClusterIP10.152.183.1443/TCP3m12s第三步:使用Mutlpass服务访问VM,启动MicroK8s组件配置rationMicroK8s的基本组件是启动GrafanaInstrumentation,下面我们将展示一步启动Grafana,监控和分析一个MicroK8s实例。可执行以下命令:multipassexecmicrok8s-vm--/snap/bin/microk8s.enablednsdashboardEnablingDNSApplyingmanifestservice/kube-dnscreatedserviceaccount/kube-dnscreatedconfigmap/kube-dnscreateddeployment.extensions/kube-dnscreatedRestartingkubeletDNSisenabledEnablingdashboardsecret/kubernetes-dashboard-certscreatedserviceaccount/kubernetes-dashboardcreateddeployment.apps/kubernetes-dashboardcreatedservice/kubernetes-dashboardcreatedservice/monitoring-grafanacreatedservice/monitoring-influxdbcreatedservice/heapstercreateddeployment.extensions/monitoring-influxdb-grafana-v4createdserviceaccount/heapstercreatedconfigmap/heapster-configcreatedconfigmap/eventer-ashconfigcreateddeployment.extesions/heapster2-created.5,然后使用下面的命令检查部署过程:multipassexecmicrok8s-vm--/snap/bin/microk8s.kubectlgetall--all-namespaces返回以下信息:启用所有必要的服务后,使用下面的链接访问工具。命令如下:multipassexecmicrok8s-vm--/snap/bin/microk8s.kubectlcluster-infoKubernetesmasterisrunningathttps://127.0.0.1:16443Heapsterisrunningathttps://127.0.0.1:16443/api/v1/namespaces/kube-system/services/heapster/proxyKubeDNS在https://127.0.0.1:16443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxyGrafana运行在https://127.0.0.1:16443/api/v1/namespaces/kube-system/services/monitoring-grafana/proxyInfluxDB运行在https://127.0.0.1:16443/api/v1/namespaces/kube-system/services/monitoring-influxdb:http/proxy为了进一步调试和诊断集群问题,使用'kubectlcluster-infodump'。如果我们在VM内,我们可以使用此链接访问Grafana工具。但是,我们可以通过代理在主机上访问它。multipassexecmicrok8s-vm--/snap/bin/microk8s.kubectlproxy--address='0.0.0.0'--accept-hosts='.*'Startingtoserveon[::][::]:8001保持终端运行,记住端口号(8001),我们将在下一步中需要它。要访问Grafana仪表,我们需要修改VM内仪表的链接:将127.0.0.1替换为VM的IP(multipassinfomicrok8s-vm)将端口(16443)替换为代理端口8001。在浏览器中输入这个链接地址:https://127.0.0.1:8001/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy,就会看到Grafana工具,如下图:SummaryusingMicroK8s在本地开发和测试应用程序将使团队能够更快地部署,这对于开发人员和DevOp团队来说非常有价值和意义。