简单体验K8S的Saas服务-青云KubeSphereCloud轻量集群服务
简单体验K8S的Saas服务-青云KubeSphereCloud轻量集群服务
简单体验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
更多推荐
所有评论(0)