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

使用MicroK8s分分钟部署单节点Kubernetes实例

时间:2023-03-13 01:44:20 科技观察

【.com快译】有时候你可能想要创建一个单节点的Kubernetes实例,比如当你正在开发一个应用程序或服务并需要对其进行测试时。为什么不在将其发布到生产环境之前将其部署到Kubernetes测试台?也许您正在尝试提高您的Kubernetes开发技能。开发和测试的一个很好的例子是单个节点,而不是完整的Kubernetes集群。但是如何让这个单一节点启动并运行呢?有很多方法可以做到这一点。您可以走Minikube路线,或启动标准Kubernetes安装的完整单节点,或使用Microk8s(https://microk8s.io/)。Microk8s由Canonical管理,是一种无弹性的、基于rails的单节点Kubernetes工具,旨在离线开发、原型设计和测试。Microk8s包括以下功能:IstioGPGPUBindingsDailyBuildsLocalStorageLocalRegistryUpdatesDashboardMetricsUpgradesIngressDNSConformantMicrok8s已创建为一个snap包,因此为了安装和使用你需要有一个支持这种特定通用打包格式的包Linux发行版。我将演示如何在UbuntuDesktop19.04发行版上启动和运行Microk8s。安装Microk8s很简单。但在安装之前,请确保您的发行版已更新。该过程完成后,打开一个终端窗口并执行命令(图A):图A.从命令行安装Microk8ssudosnapistallmicrok8s--edge--classic命令完成后,您需要启动Microk8s。这是通过以下命令完成的:sudomicrok8s.start此命令应报告服务已启动且pod调度已启用。安装附加服务为了使Microk8有用,您需要安装几个附加服务。让我们安装基本服务:kube-dns和Microk8s仪表板。Dashboard是一个基于Web的仪表板,可让您与Kubernetes进行交互和管理。kube-dns在集群上调度DNSPod和服务,并配置kubelete(运行在每个节点上的主节点代理)来指示各个容器使用DNS服务IP地址作为DNS解析器。要安装这两项服务,请返回终端窗口并执行命令:sudomicrok8s.enablednsdashboard您还可以启用其他服务,例如:存储——允许您使用主机上的存储。Ingress—创建一个Ingress控制器。gpu——启用nvidia-docker运行时环境和nvidia-device-plugin-daemonset。istio—启用核心Istio服务。registry—部署私有Docker注册表。如果您决定需要额外的服务,您可以随时返回并在Microk8启动并运行后执行microk8s.enable命令(使用您要添加的服务)。安装仪表板后,您需要找到可以访问它的地址。为此,执行命令:sudomicrok8s.kubectlgetall--all-namespaces上面的命令会输出很多命名空间和相关地址。B.查找Microk8sdashboard的地址查找与service/kubernetes-dashboard关联的IP地址。访问仪表板您现在可以打开网络浏览器(在运行Microk8s的同一台计算机上)并将其指向https://IP_ADDRESS(IP_ADDRESS是kubernetes-dashboardIP地址)。此时,您会看到仪表板需要令牌才能获得访问权限。你如何找到那个令牌?首先,您必须使用以下命令告诉Microk8s列出所有可用的秘密:sudomicrok8s.kubectl-nkube-systemgetsecret这将列出所有服务名称,并附加秘密名称。如您所见(图C),Kubernetes仪表板包含在列表中。C.列出包含秘密的服务要检索相应服务的秘密令牌,请执行以下命令:sudomicrok8s.kubectl-nkube-systemdescribesecretkubernetes-dashboard-token-fv247确保修改fv247条目以匹配与关联的条目您安装的KubernetesDashboard实例密钥。上面的命令会显示一长串字符。复制该字符串,然后返回到您的网络浏览器。在DashboardToken窗口(图D)中,选择Token,并将复制的令牌粘贴到Entertoken文本字段中。图D.KubernetesDashboard令牌输入窗口点击“SIGNIN”,你会发现自己在KubernetesDashboard上(图E)。E.使用GIMP创建此时,您可以从基于Web的仪表板管理Kubernetes。创建作业、pod、副本、计划任务等。点击右上角的“创建”按钮,可以直接写入或粘贴YAML或JSON文件的内容。例如,假设您要创建NGINX部署。将以下内容复制到编辑器中(图F)并点击上传。apiVersion:v1kind:ReplicationControllermetadata:name:nginxspec:replicas:2selector:app:nginxtemplate:metadata:name:nginxlabels:app:nginxspec:containers:-name:nginximage:nginxports:-containerPort:80图F.上传NGINX部署YAML文件上传YAML文件后,单击Workloads>Pods,你会看到它被列为正在运行(图G)。图G.NGINX部署启动和运行这就是使用Microk8s启动和运行Kubernetes的单个节点实例(并部署一个简单的pod)的全部内容。该工具应该可以帮助您立即开发自己的Kubernetes应用程序和服务。原标题:DeployaSingleNodeKubernetesInstanceinSecondswithMicroK8s,作者:JackWallen