聚石塔支持的Yaml配置,均是K8S原生Yaml配置;基于聚石塔的应用模型,我们在原生yaml的基础上,限制了一些字段的设置。具体的限制参考如下。
注意:通过接口使用yaml的时候记得删除掉注释。
kind ConfigMap # metadata下仅支持name和labels metadata name zookeeper-config apiVersion v1 data init.sh - #!/bin/bash set -e set -x "$ID_OFFSET" && ID_OFFSET=1 -z 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
apiVersion apps/v1 kind Deployment # metadata下只支持设置labels和annotations # 不支持namespace和name metadata labels k1 v1 annotations k1 v1 # spc不支持paused和replicas,其他均支持 # 支持的字段如下 selector,minReadySeconds,template,progressDeadlineSeconds,revisionHistoryLimit,strategy spec # 支持matchLabels 和 matchExpressions selector matchLabels test hangyu template # podTemplate.metadata 只支持设置labels和annotations metadata labels test hangyu # 支持设置affinity,initContainers,containers,volumes,nodeSelector,terminationGracePeriodSeconds # 支持设置activeDeadlineSeconds,hostAliases,imagePullSecrets,serviceAccountName spec containers env name JAVA_OPT value - -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Duser.timezone=Asia/Shanghai name SPRINGBOOT_OPT value - --management.info.build.mode=full --spring.profiles.active=production --logging.path=/acs/log --logging.file=/acs/log/application.log name PRESHELL name POSTSHELL name MAIN_PORT value'8080' name MANAGEMENT_PORT value'8081' image'registry-vpc.cn-zhangjiakou.aliyuncs.com/jstopen/springboot2:1.0.0' livenessProbe httpGet path /actuator/health port8081 scheme HTTP name jck-app-hangyu-10078 ports containerPort8080 name main-port protocol TCP containerPort8081 name management-port protocol TCP readinessProbe httpGet path /actuator/health port8081 scheme HTTP resources limits cpu'1' memory 1000Mi volumeMounts mountPath /acs/data name jck-v-wedf mountPath /acs/log name jck-v-wedg volumes emptyDir name jck-v-wedf emptyDir name jck-v-wedg
注:
1)metadata下只支持设置labels和annotations,不支持namespace和name;
2)spec下不支持paused和replicas,其他均支持;
3)podTemplate.metadata 只支持设置labels和annotations;
4)podTemplate.spec 下的字段基本都支持。
apiVersion apps/v1 kind StatefulSet # metadata下支持设置labels、annotations、name; 仅不支持namespace metadata name zaide-ss labels app st # spc不支持revisionHistoryLimit和replicas,其他均支持 # 支持的字段如下 podManagementPolicy,selector,serviceName,template,updateStrategy,volumeClaimTemplates spec podManagementPolicy OrderedReady # 支持matchLabels 和 matchExpressions selector matchLabels app st serviceName lingfeng-service template # podTemplate.metadata 只支持设置labels和annotations metadata labels app st lingfeng lingfeng2 # 支持设置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' name test imagePullPolicy Always resources requests cpu 250m memory 512Mi volumeMounts mountPath /acs/env/nginx/user.nginx.conf name jck-v-nyi6 # 挂载PVC mountPath /test/pvc name claim-template terminationGracePeriodSeconds30 volumes configMap defaultMode420 items key'-acs-env-nginx-user.nginx.conf' mode420 path'-acs-env-nginx-user.nginx.conf' name hangyu-configmap name jck-v-nyi6 # 存储卷声明模板 volumeClaimTemplates metadata name claim-template spec accessModes ReadWriteOnce resources requests storage 1Gi storageClassName sc
1)限制基本与deployment类似。与deployment不同的是,StatefulSet允许设置name;
2)支持设置podManagementPolicy和volumeClaimTemplates。
暂时没有开放Yaml。
apiVersion batch/v1beta1 kind CronJob metadata spec startingDeadlineSeconds600 schedule"*/2 * * * *" successfulJobsHistoryLimit5 failedJobsHistoryLimit3 jobTemplate spec parallelism1 template metadata labels app test-batch-job spec containers name main image registry.cn-zhangjiakou.aliyuncs.com/aliacs-app-catalog/busybox1.30.1 args /bin/sh -c date; sleep 90; echo Hello from the CronJob Instance; date; restartPolicy Never
注:metadata下只支持设置labels和annotations,不支持namespace和name。