聚石塔支持的Yaml配置,均是K8S原生Yaml配置;基于聚石塔的应用模型,我们在原生yaml的基础上,限制了一些字段的设置。具体的限制参考如下。
注意:通过接口使用yaml的时候记得删除掉注释。
kindConfigMap # metadata下仅支持name和labels metadata namezookeeper-config apiVersionv1 data init.sh- #!/bin/bash set -e set -x -z "$ID_OFFSET" && ID_OFFSET=1 export ZOO_MY_ID=$(($HOSTNAME##*- + $ID_OFFSET)) echo "${ZOO_MY_ID:-1}" | tee $ZOO_DATA_DIR/myid cat $EXTERNAL_CONF_PATH/zookeeper.properties > $ZOO_CONF_DIR/zoo.cfg sed -i "s/server\.${ZOO_MY_ID}\=[a-z0-9.-]*/server.${ZOO_MY_ID}=0.0.0.0/" $ZOO_CONF_DIR/zoo.cfg zookeeper.properties- tickTime=2000 dataDir=/data dataLogDir=/datalog clientPort=2181 maxClientCnxns=1 initLimit=5 syncLimit=2 autopurge.snapRetainCount=3 autopurge.purgeInterval=1 server.1=zk-0.zk-hs:2888:3888 server.2=zk-1.zk-hs:2888:3888 server.3=zk-2.zk-hs:2888:3888
apiVersionapps/v1 kindDeployment # metadata下只支持设置labels和annotations # 不支持namespace和name metadata labels k1v1 annotations k1v1 # spc不支持paused和replicas,其他均支持 # 支持的字段如下 selector,minReadySeconds,template,progressDeadlineSeconds,revisionHistoryLimit,strategy spec # 支持matchLabels 和 matchExpressions selector matchLabels testhangyu template # podTemplate.metadata 只支持设置labels和annotations metadata labels testhangyu # 支持设置affinity,initContainers,containers,volumes,nodeSelector,terminationGracePeriodSeconds # 支持设置activeDeadlineSeconds,hostAliases,imagePullSecrets,serviceAccountName spec containers env nameJAVA_OPT value- -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Duser.timezone=Asia/Shanghai nameSPRINGBOOT_OPT value- --management.info.build.mode=full --spring.profiles.active=production --logging.path=/acs/log --logging.file=/acs/log/application.log namePRESHELL namePOSTSHELL nameMAIN_PORT value'8080' nameMANAGEMENT_PORT value'8081' image'registry-vpc.cn-zhangjiakou.aliyuncs.com/jstopen/springboot2:1.0.0' livenessProbe httpGet path/actuator/health port8081 schemeHTTP namejck-app-hangyu-10078 ports containerPort8080 namemain-port protocolTCP containerPort8081 namemanagement-port protocolTCP readinessProbe httpGet path/actuator/health port8081 schemeHTTP resources limits cpu'1' memory1000Mi volumeMounts mountPath/acs/data namejck-v-wedf mountPath/acs/log namejck-v-wedg volumes emptyDir namejck-v-wedf emptyDir namejck-v-wedg
注:
1)metadata下只支持设置labels和annotations,不支持namespace和name;
2)spec下不支持paused和replicas,其他均支持;
3)podTemplate.metadata 只支持设置labels和annotations;
4)podTemplate.spec 下的字段基本都支持。
apiVersionapps/v1 kindStatefulSet # metadata下支持设置labels、annotations、name; 仅不支持namespace metadata namezaide-ss labels appst # spc不支持revisionHistoryLimit和replicas,其他均支持 # 支持的字段如下 podManagementPolicy,selector,serviceName,template,updateStrategy,volumeClaimTemplates spec podManagementPolicyOrderedReady # 支持matchLabels 和 matchExpressions selector matchLabels appst serviceNamelingfeng-service template # podTemplate.metadata 只支持设置labels和annotations metadata labels appst lingfenglingfeng2 # 支持设置affinity,initContainers,containers,volumes,nodeSelector,terminationGracePeriodSeconds # 支持设置activeDeadlineSeconds,hostAliases,imagePullSecrets,serviceAccountName spec containers image'registry.cn-zhangjiakou.aliyuncs.com/jstopen/nginx-1.14.2:1.0.0' nametest imagePullPolicyAlways resources requests cpu250m memory512Mi volumeMounts mountPath/acs/env/nginx/user.nginx.conf namejck-v-nyi6 # 挂载PVC mountPath/test/pvc nameclaim-template terminationGracePeriodSeconds30 volumes configMap defaultMode420 items key'-acs-env-nginx-user.nginx.conf' mode420 path'-acs-env-nginx-user.nginx.conf' namehangyu-configmap namejck-v-nyi6 # 存储卷声明模板 volumeClaimTemplates metadata nameclaim-template spec accessModes ReadWriteOnce resources requests storage1Gi storageClassNamesc
1)限制基本与deployment类似。与deployment不同的是,StatefulSet允许设置name;
2)支持设置podManagementPolicy和volumeClaimTemplates。
暂时没有开放Yaml。
apiVersionbatch/v1beta1 kindCronJob metadata spec startingDeadlineSeconds600 schedule"*/2 * * * *" successfulJobsHistoryLimit5 failedJobsHistoryLimit3 jobTemplate spec parallelism1 template metadata labels apptest-batch-job spec containers namemain imageregistry.cn-zhangjiakou.aliyuncs.com/aliacs-app-catalog/busybox1.30.1 args /bin/sh -c date; sleep 90; echo Hello from the CronJob Instance; date; restartPolicyNever
注:metadata下只支持设置labels和annotations,不支持namespace和name。