时间:2022/8/17来源:本站原创作者:佚名
北京白癜风怎么治 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/
转载请注明原文网址:http://www.13801256026.com/pgst/pgst/1313.html

------分隔线----------------------------