简单体验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/
![在这里插入图片描述](https://img-blog.csdnimg.cn/4b82ab919df44ade86e0c183828d7ac4.png#pic_center)
正好青云给了10h白piao的机会,特意试试Saas模式的KubeSphere。价格合适的话,租一个其实也还可以,毕竟双路e5光是300w功耗一个月电费也300r了。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/7704224773e0415ba291ef30d6e4f05e.png#pic_center)
青云对笔者这样的K8S学徒工还是相当的友好。
体验
实际操作来体验下。。。
新建集群
![在这里插入图片描述](https://img-blog.csdnimg.cn/0c6175a153204132873ef76076122074.png#pic_center)
此时只能选最低配,否则:
![在这里插入图片描述](https://img-blog.csdnimg.cn/f7c262b0c7664e46a52009722c347129.png#pic_center)
就会督促缴费升级来获取更好的服务。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/29a4766783714d3e87fb93a94798602a.png#pic_center)
可以看到专业型支持1Master+3Worker的模式:
![在这里插入图片描述](https://img-blog.csdnimg.cn/61b015366cc24f0ea05db596ba7a1a4d.png#pic_center)
自己玩只能白piao基础型的1Master+1Worker。
点继续后:
![在这里插入图片描述](https://img-blog.csdnimg.cn/c502026c9c034fa381857ccb272a26d7.png#pic_center)
集群就创建好了。。。
默认就有:
![在这里插入图片描述](https://img-blog.csdnimg.cn/3d4aa6dc3d42414488cf114cbc6757cd.png#pic_center)
显然控制平面已经有了。
鼠标移到进入KubeSphere会显示密码。复制以后跳转:
![在这里插入图片描述](https://img-blog.csdnimg.cn/c3977809d0f4447b91bb6d9713fb1905.png#pic_center)
登录改密码后就是熟悉的KubeSphere界面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/ad5d9cd0c2f8434eb005ea8a95dde256.png#pic_center)
进入平台管理:
![在这里插入图片描述](https://img-blog.csdnimg.cn/64d73c6225e740169cdfc84cc2f4864c.png#pic_center)
这2个服务吃了不少资源。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/a0cecb1fac9342419bb39d93a42ef609.png#pic_center)
实际可以使用的资源就剩不到3G内存了。。。基本上也只能做点轻量的事情。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9cbf0b3814304868bad64fab7431d246.png#pic_center)
控制平面还打了污点。。。灰常机智。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/c647b1615b23446295bb7cad130054f4.png#pic_center)
同样可以敲kubectl的命令。。。
参照:https://kubernetes.io/zh-cn/docs/reference/kubectl/
和Shell的黑窗口敲命令行差不多。。。
集群巡检服务
![在这里插入图片描述](https://img-blog.csdnimg.cn/4b9341b565c041cea5f2ee4242d96e82.png#pic_center)
接下来获取这4h免费时长。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2ff8ef56822443b695d54d97a0934e6e.png#pic_center)
点开启:
![在这里插入图片描述](https://img-blog.csdnimg.cn/c642dc7f3d1044de874b26fcd98e443c.png#pic_center)
再确认:
![在这里插入图片描述](https://img-blog.csdnimg.cn/45b2796095894b8d8bbc3f670a73d6a5.png#pic_center)
白piao的配置低,当然开启会比较慢。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/8ca1546c31bf430caa81b716bebc9c49.png#pic_center)
开启成功后2h到手。。。
执行一个巡检任务
点详情试试:
![在这里插入图片描述](https://img-blog.csdnimg.cn/cb23147a87cd4d3c9e94761c12e9ee57.png#pic_center)
新集群当然是没什么告警和危险。。。
再点一次巡检:
![在这里插入图片描述](https://img-blog.csdnimg.cn/a4a8fe7d97ac4f2e8a42bec4507a7f20.png#pic_center)
此时2h到手。。。
容灾备份服务
![在这里插入图片描述](https://img-blog.csdnimg.cn/6fd9ae8700694c7ebc8aa61349f3962e.png#pic_center)
接下来当然是先把19h拿到手。。。
导入一个自建集群
![在这里插入图片描述](https://img-blog.csdnimg.cn/cb974b679c254a989a53790d4fe15807.png#pic_center)
代理连接K8S集群,附带个shell:
kubectl apply -f https://kubesphere.cloud/cluster/v1/users/一串数字/clusters/一串数字/agentmanifest
若选择“代理连接 Kubernetes 集群”的方式导入集群,您只需在 kubectl 中运行下方命令,即可在 Kubernetes 集群中安装代理连接组件。。。
如果选直接连接K8S集群:
若选择“直接连接 Kubernetes 集群”的方式导入集群,您需要确保 KubeConfig 的 Server 地址可以通过公网进行访问。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/b7ef34788c444591a66612e535808e50.png#pic_center)
右侧有个很友好的帮助文档:
自己玩,选代理连接的Demo模式试试水:
会失败。。。需要到自己的托管K8S集群敲这个命令:
![在这里插入图片描述](https://img-blog.csdnimg.cn/a501d35be6724d098e84e3bb4cd9c8b4.png#pic_center)
然后5h到手。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/d17da2d0864a494c8290e6df0a62b01f.png#pic_center)
说明这个轻量K8S也是可以像正常的公网K8S集群一样使用。。。
添加托管备份仓库
![在这里插入图片描述](https://img-blog.csdnimg.cn/79470d8b7d32403f8871172557c96283.png#pic_center)
新建托管仓库即可。。。自建仓库比较麻烦,得先有S3对象存储:
![在这里插入图片描述](https://img-blog.csdnimg.cn/a1b2f1d7261b432b84324ea950bb1b40.png#pic_center)
托管仓库相当简单,确定后即可分分钟生成:
![在这里插入图片描述](https://img-blog.csdnimg.cn/1246aab9593543b6b5de94eb914b0bdb.png#pic_center)
又拿到2h。。。
开启备份容灾组件
![在这里插入图片描述](https://img-blog.csdnimg.cn/58579266208a4dcf99659a14a950e690.png#pic_center)
但是:
![在这里插入图片描述](https://img-blog.csdnimg.cn/19a201a43bf04776b92fd5b2fcd80d22.png#pic_center)
但是明明是同一个集群,zhiyong-k8s2却可以:
![在这里插入图片描述](https://img-blog.csdnimg.cn/daab27a835e8469285af72be7f4d29fb.png#pic_center)
很迷的操作。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/7b123592250443a6b84e2e8d6768588c.png#pic_center)
实际上配置太低,当然还是失败了。。。
创建一个备份计划
![在这里插入图片描述](https://img-blog.csdnimg.cn/6386aef6e8e24c1ba046d74fc06d236f.png#pic_center)
这一步也就无法继续了。。。5h拿不到了。。。
创建一个恢复计划
![在这里插入图片描述](https://img-blog.csdnimg.cn/489052cd37b74a83aea3f3c899546764.png#pic_center)
自然这5h也就拿不到了。。。
探索高阶功能
还有个任务可以白piao时长:
![在这里插入图片描述](https://img-blog.csdnimg.cn/f5963493b5354d1ba5f5d6381ff23596.png#pic_center)
官方文档有帮助:https://kubesphere.cloud/docs/ks-lite/quickstart/use-lite-cluster/
照着操作。。。
创建deployment
![在这里插入图片描述](https://img-blog.csdnimg.cn/ee5b4ba364a94c3d91ce2213dbaf760a.png#pic_center)
先删除这个跑不起来的任务。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/82ac7ba140d14167892094e30798e0f0.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/a59ddb019f7341358cdbd4a82ece17dc.png#pic_center)
点对号以后,看到默认的是滚动更新:
![在这里插入图片描述](https://img-blog.csdnimg.cn/c8b4b32398d14aac8a8b1a1511a6cb20.png#pic_center)
随便写一个。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/928f25d7e70a4ea39473f5e484413477.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/d147596582024b109b988fc55affb70f.png#pic_center)
当然是只能调度到这个节点。。。写不写都是这个节点。。。
此时自动写好了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
![在这里插入图片描述](https://img-blog.csdnimg.cn/9fd9326bf5fe4745beca851ff74c8e67.png#pic_center)
部署成功。
创建service
![在这里插入图片描述](https://img-blog.csdnimg.cn/edfeca1c4ff64877a1606f32675403a9.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/4d7494a9269f43658a3197e8b368e5fd.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/6fcd7d087cb04218bc0318bc451eb76f.png#pic_center)
此时自动生成的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,那么不在同一个网段当然也就不能直接访问:
![在这里插入图片描述](https://img-blog.csdnimg.cn/b79d283091d7442a851fa1fa5872c206.png#pic_center)
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,将服务对外暴露出去:
![在这里插入图片描述](https://img-blog.csdnimg.cn/30c5cf31c1734edfaa87bd21681b4c6a.png#pic_center)
此时才能对外访问:
![在这里插入图片描述](https://img-blog.csdnimg.cn/e9ffb100483341cf9071a8aab90b9074.png#pic_center)
删除集群
![在这里插入图片描述](https://img-blog.csdnimg.cn/8082e4bffc014632a3e594e6f0416c93.png#pic_center)
先删除对外暴露的网络服务,再删除集群。
![在这里插入图片描述](https://img-blog.csdnimg.cn/1b046b3bdac34ce3b843732614045142.png#pic_center)
过一会儿,可以看到剩余小时不变,显然是可以随用随开,不用就停!!!
租金
目前看到是这样,不知道后续是否会变化。。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/c248a70c301142ebb5d7d79c73c22809.png#pic_center)
低配版是4C8G,200h需要138r。平均0.69r/h。和小学对面5r包夜的黑网吧有的一拼。
![在这里插入图片描述](https://img-blog.csdnimg.cn/14a68beaf2ae43a5b832a64e9b06586f.png#pic_center)
中配版1000h需要1200r。平均1.2r/h。比正规网吧3r/h冲3000送2000还便宜。。。
非专业运维的大数据平台开发攻城狮们可以考虑合租了。。。
转载请注明出处:https://lizhiyong.blog.csdn.net/article/details/129868719
![在这里插入图片描述](https://img-blog.csdnimg.cn/759fcf848a8f4fa8942dbc688c38237d.jpeg#pic_center)