SCE集群不需要用户管理维护节点,让您将精力放在具体应用的开发和维护上,而不是底层基础设施的管理。本文将介绍如何在SCE上实现在线Web应用的免运维托管。
前提条件
确保您已经成功创建了SCE集群。
背景信息
SCE兼容原生Kubernetes语义和API,您可以在SCE集群中轻松创建Deployment、StatefulSet、Service、Ingress、ConfigMap或Secret等资源。此外,您也可以使用Helm部部署和管理复杂的Kubernetes应用程序的生命周期。
操作步骤
1.通过kubectl工具连接SCE集群。
2.创建Nginx应用的YAML配置文件nginx.yaml,内容示例如下:
apiVersion: v1
kind: Service
metadata:
name: nginx-service
namespace: default
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 30003
targetPort: 80
type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: default
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: registry-huadong1.crs-internal.ctyun.cn/open-source/nginx:1.25-alpine
resources:
limits:
cpu: "1"
memory: "1Gi"
requests:
cpu: "0.5"
memory: "500Mi"
ports:
- containerPort: 80
3.通过该配置文件部署Nginx应用。
kubectl apply -f nginx.yaml
预期返回为:
service/nginx-service created
deployment.apps/nginx-deployment created
4.查看创建Pod和Serivce的状态,查看Pod的状态信息:
kubectl get pod
预期输出结果为:
NAME READY STATUS RESTARTS AGE
nginx-deployment-7d4df6ffc8-52dr8 1/1 Running 0 12m
nginx-deployment-7d4df6ffc8-gshq4 1/1 Running 0 12m
查看Service的状态信息:
kubectl get svc
预期输出结果为:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx-service ClusterIP 10.96.75.52 <none> 30003/TCP 28m
5.访问Nginx应用:
curl 10.96.75.52:30003
预期输出结果为:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
</body>
</html>