赞
踩
简单体验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/
照着操作。。。
先删除这个跑不起来的任务。。。
点对号以后,看到默认的是滚动更新:
随便写一个。。。
当然是只能调度到这个节点。。。写不写都是这个节点。。。
此时自动写好了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
部署成功。
此时自动生成的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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。