简单体验K8S的Saas服务-青云KubeSphereCloud轻量集群服务

背景

之前有写过几篇KubeSphere的使用笔记:

使用kubekey的all-in-one安装K8S1.24及KubeSphere3.3:https://lizhiyong.blog.csdn.net/article/details/126236516

在KubeSphere启动服务网格Istio并解决解决ContainerCreating问题:https://lizhiyong.blog.csdn.net/article/details/126380224

在KubeSphere启用基于Jenkins的DevOps:https://lizhiyong.blog.csdn.net/article/details/126396878

在K8S1.24使用Helm3部署Alluxio2.8.1:https://lizhiyong.blog.csdn.net/article/details/126815426

都是基于笔者的双路e5搭建的虚拟机【
配置单:https://lizhiyong.blog.csdn.net/article/details/123294308
】,在单节点操作的,但是众所周知,K8S的设计初衷就是Running Always,所以虚拟机挂起的方式还是有点不便。这还只是单节点,如果是多节点,那虚拟机玩起来更麻烦。

https://kubesphere.cloud/console/overview/

在这里插入图片描述

正好青云给了10h白piao的机会,特意试试Saas模式的KubeSphere。价格合适的话,租一个其实也还可以,毕竟双路e5光是300w功耗一个月电费也300r了。。。

在这里插入图片描述

青云对笔者这样的K8S学徒工还是相当的友好。

体验

实际操作来体验下。。。

新建集群

在这里插入图片描述

此时只能选最低配,否则:

在这里插入图片描述

就会督促缴费升级来获取更好的服务。。。

在这里插入图片描述

可以看到专业型支持1Master+3Worker的模式:

在这里插入图片描述

自己玩只能白piao基础型的1Master+1Worker。

点继续后:

在这里插入图片描述

集群就创建好了。。。

默认就有:

在这里插入图片描述

显然控制平面已经有了。

鼠标移到进入KubeSphere会显示密码。复制以后跳转:

在这里插入图片描述

登录改密码后就是熟悉的KubeSphere界面:

在这里插入图片描述

进入平台管理:

在这里插入图片描述

这2个服务吃了不少资源。。。

在这里插入图片描述

实际可以使用的资源就剩不到3G内存了。。。基本上也只能做点轻量的事情。。。

在这里插入图片描述

控制平面还打了污点。。。灰常机智。。。

在这里插入图片描述

同样可以敲kubectl的命令。。。

参照:https://kubernetes.io/zh-cn/docs/reference/kubectl/

和Shell的黑窗口敲命令行差不多。。。

集群巡检服务

在这里插入图片描述

接下来获取这4h免费时长。

在这里插入图片描述

点开启:

在这里插入图片描述

再确认:

在这里插入图片描述

白piao的配置低,当然开启会比较慢。。。

在这里插入图片描述

开启成功后2h到手。。。

执行一个巡检任务

点详情试试:

在这里插入图片描述

新集群当然是没什么告警和危险。。。

再点一次巡检:

在这里插入图片描述

此时2h到手。。。

容灾备份服务

在这里插入图片描述

接下来当然是先把19h拿到手。。。

导入一个自建集群

在这里插入图片描述

代理连接K8S集群,附带个shell:

kubectl apply -f https://kubesphere.cloud/cluster/v1/users/一串数字/clusters/一串数字/agentmanifest

若选择“代理连接 Kubernetes 集群”的方式导入集群,您只需在 kubectl 中运行下方命令,即可在 Kubernetes 集群中安装代理连接组件。。。

如果选直接连接K8S集群:

若选择“直接连接 Kubernetes 集群”的方式导入集群,您需要确保 KubeConfig 的 Server 地址可以通过公网进行访问。。。

在这里插入图片描述

右侧有个很友好的帮助文档:

自己玩,选代理连接的Demo模式试试水:

会失败。。。需要到自己的托管K8S集群敲这个命令:

在这里插入图片描述

然后5h到手。。。

在这里插入图片描述

说明这个轻量K8S也是可以像正常的公网K8S集群一样使用。。。

添加托管备份仓库

在这里插入图片描述

新建托管仓库即可。。。自建仓库比较麻烦,得先有S3对象存储:

在这里插入图片描述

托管仓库相当简单,确定后即可分分钟生成:

在这里插入图片描述

又拿到2h。。。

开启备份容灾组件

在这里插入图片描述

但是:

在这里插入图片描述

但是明明是同一个集群,zhiyong-k8s2却可以:

在这里插入图片描述

很迷的操作。。。

在这里插入图片描述

实际上配置太低,当然还是失败了。。。

创建一个备份计划

在这里插入图片描述

这一步也就无法继续了。。。5h拿不到了。。。

创建一个恢复计划

在这里插入图片描述

自然这5h也就拿不到了。。。

探索高阶功能

还有个任务可以白piao时长:

在这里插入图片描述

官方文档有帮助:https://kubesphere.cloud/docs/ks-lite/quickstart/use-lite-cluster/

照着操作。。。

创建deployment

在这里插入图片描述

先删除这个跑不起来的任务。。。

在这里插入图片描述

在这里插入图片描述

点对号以后,看到默认的是滚动更新:

在这里插入图片描述

随便写一个。。。

在这里插入图片描述

在这里插入图片描述

当然是只能调度到这个节点。。。写不写都是这个节点。。。

此时自动写好了yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: default
  labels:
    app: zhiyong-nginx
  name: zhiyong-nginx
  annotations:
    kubesphere.io/description: zhiyong的nginx部署
    kubesphere.io/alias-name: zhiyong-nginx1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: zhiyong-nginx
  template:
    metadata:
      labels:
        app: zhiyong-nginx
      annotations:
        kubesphere.io/imagepullsecrets: '{}'
        app: nginx
        logging.kubesphere.io/logsidecar-config: '{}'
    spec:
      containers:
        - name: container-x86i6v
          imagePullPolicy: IfNotPresent
          ports:
            - name: http-0
              protocol: TCP
              containerPort: 80
          image: nginx
          volumeMounts:
            - name: zhiyong-pv1
              readOnly: false
              mountPath: /data
              subPath: data1
      serviceAccount: default
      initContainers: []
      volumes:
        - hostPath:
            path: /k8s/data/nginx1
          name: zhiyong-pv1
      imagePullSecrets: null
      nodeSelector:
        kubernetes.io/hostname: ks-cloud-worker
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%

创建部署即可。。。遇到了一点问题。。。所以笔者删除了这个部署,重新创建了一个不挂载pv,不访问端口的部署:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: zhiyong-nginx
  namespace: default
  labels:
    app: zhiyong-nginx
  annotations:
    deployment.kubernetes.io/revision: '1'
    kubesphere.io/alias-name: zhiyong-nginx1
    kubesphere.io/creator: admin
    kubesphere.io/description: zhiyong的nginx1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: zhiyong-nginx
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: zhiyong-nginx
      annotations:
        app: nginx
        kubesphere.io/creator: admin
        kubesphere.io/imagepullsecrets: '{}'
    spec:
      containers:
        - name: container-97lo6b
          image: nginx
          ports:
            - name: tcp-80
              containerPort: 80
              protocol: TCP
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      serviceAccountName: default
      serviceAccount: default
      securityContext: {}
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600

在这里插入图片描述
部署成功。

创建service

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

此时自动生成的yaml:

apiVersion: v1
kind: Service
metadata:
  namespace: default
  labels:
    app: zhiyong-nginx-service
  name: zhiyong-nginx-service
  annotations:
    kubesphere.io/alias-name: zhiyong-nginx1
    kubesphere.io/description: zhiyong的nginx服务
spec:
  sessionAffinity: None
  selector:
    app: zhiyong-nginx
  ports:
    - name: http-1
      protocol: TCP
      targetPort: 80
      port: 8888
  type: NodePort

手残取消了,只好重新配置一遍,图凑合看吧。。。

这种轻量服务器和普通ECS的公网K8S不同,此时是无法直接对外访问的!!!在KubeSphere看到的IP其实并不是真实的公网IP,那么不在同一个网段当然也就不能直接访问:

在这里插入图片描述

kind: Service
apiVersion: v1
metadata:
  name: zhiyong-nginx-service
  namespace: default
  labels:
    app: zhiyong-nginx-service
  annotations:
    kubesphere.io/alias-name: zhiyong-nginx1
    kubesphere.io/creator: admin
    kubesphere.io/description: zhiyong的nginx服务
spec:
  ports:
    - name: http-1
      protocol: TCP
      port: 8888
      targetPort: 80
      nodePort: 31592
  selector:
    app: zhiyong-nginx
  clusterIP: 10.96.118.1
  clusterIPs:
    - 10.96.118.1
  type: NodePort
  sessionAffinity: None
  externalTrafficPolicy: Cluster
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  internalTrafficPolicy: Cluster

实际会自动变成这样。。。

对外暴露

所以还需要创建对外的LoadBalancer,将服务对外暴露出去:

在这里插入图片描述

此时才能对外访问:

在这里插入图片描述

删除集群

在这里插入图片描述

先删除对外暴露的网络服务,再删除集群。

在这里插入图片描述

过一会儿,可以看到剩余小时不变,显然是可以随用随开,不用就停!!!

租金

目前看到是这样,不知道后续是否会变化。。。

在这里插入图片描述

低配版是4C8G,200h需要138r。平均0.69r/h。和小学对面5r包夜的黑网吧有的一拼。

在这里插入图片描述

中配版1000h需要1200r。平均1.2r/h。比正规网吧3r/h冲3000送2000还便宜。。。

非专业运维的大数据平台开发攻城狮们可以考虑合租了。。。

转载请注明出处:https://lizhiyong.blog.csdn.net/article/details/129868719

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐