北京白癜风怎么治 http://m.39.net/pf/bdfyy/ 对于初学者而言,配置完整的Kubernetes集群是一个比较繁琐和复杂的过程,需要耗费大量的时间成本。 今天我们来教大家轻松几步,通过新推出的K3s应用镜像,完成以往相对复杂的工作。 1.背景概述 作为目前最主流的容器编排平台,Kubernetes已作为基础设施,承接并管理着众多的应用服务,相对于传统基于VM镜像部署应用,其具有更丰富、完善的服务编排及托管能力。不过,对于仅有少量应用需要部署或者仅需要开发、测试环境的用户而言,搭建、配置完整的Kubernetes集群是一个比较繁琐和复杂的过程,初学者很容易耗费大量的时间、资源,且收益有限。最近Lighthouse推出了K3s应用镜像,为用户提供了开箱即用的Kubernetes环境。作为轻量的Kubernetes发行版,K3s通过了CNCF一致性认证,并针对多个场景进行了高度优化,此外Lighthouse还在应用镜像中集成了Kubernetes-dashboard,方便用户通过浏览器进行集群、应用的管理。本文为大家介绍一下,如何使用LighthouseK3s部署、管理您的应用。 2.K3s简介 K3s是由RancherLabs发布的一款开源、极轻量的Kubernetes发行版。在Kubernetes基础上,删除了一些feature: Legacyandnon-defaultfeatures Alphafeatures In-treecloudproviders In-treeStorage Docker() 在功能层面删除了非必要的服务/功能,其中包括kubernetes部分未稳定以及非正式的开发版本功能,进行如此剪裁,不仅可以降低出故障的机率,也可以降低整体kubernetes管控面的资源消耗。以上共5个feature,所以也因此得名K3s。此外,针对资源有限的应用场景,K3s增加了: Simplifiedinstallation SQLite3supportinadditiontoetcd TLSmanagement AutomaticManifestandHelmChartmanagement containerd、CoreDNS、Flannel K3s中包含了我们所熟悉的kubernetes的各个组件,为了能做到"Simplifiedinstallation”,K3S将所有组件都集成在一个二进制包中(MB),此外默认安装Flannel作为CNIplugin,替换docker使用更为轻量级、底层的containerd,以及使用SQLite3替换etcd作为元数据的存储等。 通过上述裁剪以及优化,K3s不仅免去了kubernetes安装环节的复杂、繁琐步骤,为用户提供了开箱即用的部署体验,还可以在资源有限环境下,仍能为用户提供良好运行的kubernetes集群,保持了与kubernetes一致的使用体验。 3.环境准备 3.1准备Lighthouse轻量应用服务器 我们首先在腾讯云Lighthouse轻量应用服务器购买页面,购买一台服务器。如下图所示。 服务器的具体配置如下: 地域:中国香港 镜像:应用镜像K3s 实例套餐:CPU1核内存2GSSD50GB峰值带宽6Mbps每月流量GB 实例名称:输入K3s即可。 点击“立即购买”,付款之后服务器就开始创建了。当服务器状态为“运行中”时,我们就可以使用了。 3.2防火墙配置 默认Kubernetes-dashboard监听在端口,因此,我们需要在防火墙开通端口的访问。在"应用管理"页,Lighthouse也为用户提供了操作指引: 点击"确定“,至此,用户便可访问图中所示访问地址访问Kubernetes-dashboard了。 3.3输入dashboardtoken Kubernetes-dashboard的登录需要用户提供token,而token需要登录到服务器内部才能获取。点击下图中所示“登录”按钮,一键登录至服务器,点击复制"dashboard-token",在服务器中运行,输出即为所需的登录token,复制并粘贴至上图"Entertoken"输入框里。 点击SignIn按钮,登录成功! 至此用户便可以使用Kubernetes-dashboard部署及管理应用了。 4.部署应用 下面将展示如何在K3s上部署wordpress,访问Kubernetes-dashboard,点击右上角"+" 点击下图所示"+" 将下面的yaml复制至编辑框 apiVersion:v1kind:Servicemetadata: name:wordpress labels: app:wordpressspec: ports: -port:80 selector: app:wordpress tier:frontend---apiVersion:v1kind:PersistentVolumeClaimmetadata: name:wp-pv-claim labels: app:wordpress annotations: volume.beta.kubernetes.io/storage-provisioner:rancher.io/local-pathspec: accessModes: -ReadWriteOnce resources: requests: storage:20Gi---apiVersion:apps/v1kind:Deploymentmetadata: name:wordpress labels: app:wordpressspec: selector: matchLabels: app:wordpress tier:frontend strategy: type:Recreate template: metadata: labels: app:wordpress tier:frontend spec: containers: -image:wordpress:4.8-apache name:wordpress env: -name:WORDPRESS_DB_HOST value:wordpress-mysql -name:WORDPRESS_DB_PASSWORD valueFrom: secretKeyRef: name:mysql-pass key:password ports: -containerPort:80 name:wordpress volumeMounts: -name:wordpress-persistent-storage mountPath:/var/
|