Forráskód Böngészése

修复拼写错误

mrbird 6 éve
szülő
commit
4ecce66420
37 módosított fájl, 722 hozzáadás és 1 törlés
  1. 1 1
      febs-cloud/docker compose/febs-cloud/docker-compose.yml
  2. 2 0
      febs-cloud/k8s/DeamonSet/Readme.md
  3. 19 0
      febs-cloud/k8s/DeamonSet/fluentd-daemonset.yml
  4. 15 0
      febs-cloud/k8s/Job/CronJob/cron-job.yml
  5. 14 0
      febs-cloud/k8s/Job/job.yml
  6. 44 0
      febs-cloud/k8s/dapi-pod-container-vars.yml
  7. 29 0
      febs-cloud/k8s/dapi-pod-volume.yml
  8. 22 0
      febs-cloud/k8s/dapi-pod.yml
  9. 22 0
      febs-cloud/k8s/file-cm-pod.yml
  10. 58 0
      febs-cloud/k8s/file-cm.yml
  11. 15 0
      febs-cloud/k8s/ingress/ingress-nginx.yml
  12. 31 0
      febs-cloud/k8s/ingress/nginx.yml
  13. 27 0
      febs-cloud/k8s/init-container.yml
  14. 4 0
      febs-cloud/k8s/namespace.yml
  15. 24 0
      febs-cloud/k8s/nginx-deployment.yml
  16. 12 0
      febs-cloud/k8s/nginx-hpa.yml
  17. 18 0
      febs-cloud/k8s/nginx-pod.yml
  18. 19 0
      febs-cloud/k8s/nginx-rc.yml
  19. 22 0
      febs-cloud/k8s/nginx-rs.yml
  20. 12 0
      febs-cloud/k8s/nginx-service.yml
  21. 24 0
      febs-cloud/k8s/pod-volume.yml
  22. 12 0
      febs-cloud/k8s/pv-nfs.yml
  23. 10 0
      febs-cloud/k8s/pvc-nfs.yml
  24. 12 0
      febs-cloud/k8s/simple-cm-pod-all.yml
  25. 20 0
      febs-cloud/k8s/simple-cm-pod.yml
  26. 7 0
      febs-cloud/k8s/simple-cm.yml
  27. 13 0
      febs-cloud/k8s/static-pod.yml
  28. 13 0
      febs-cloud/k8s/调度策略/flag-pod.yml
  29. 18 0
      febs-cloud/k8s/调度策略/nginx-deployment-hpa-v2.yml
  30. 12 0
      febs-cloud/k8s/调度策略/nginx-deployment-hpa.yml
  31. 35 0
      febs-cloud/k8s/调度策略/node-affinity.yml
  32. 20 0
      febs-cloud/k8s/调度策略/node-select-pod.yml
  33. 22 0
      febs-cloud/k8s/调度策略/node-taint.yml
  34. 29 0
      febs-cloud/k8s/调度策略/pod-affinity-two.yml
  35. 25 0
      febs-cloud/k8s/调度策略/pod-affinity.yml
  36. 7 0
      febs-cloud/k8s/调度策略/priority-class.yml
  37. 33 0
      febs-cloud/k8s/资源管理/limit-range.yml

+ 1 - 1
febs-cloud/docker compose/febs-cloud/docker-compose.yml

@@ -93,7 +93,7 @@ services:
     ports:
       - 8402:8402
     restart: on-failure
-  febs-clou-web:
+  febs-cloud-web:
     image: febs-cloud-web
     container_name: febs-cloud-web
     volumes:

+ 2 - 0
febs-cloud/k8s/DeamonSet/Readme.md

@@ -0,0 +1,2 @@
+DeamonSet适用于在每个Node都需要运行一个Pod的时候,比如:每一个Node上运行一个日志采集、性能监控的Pod。
+

+ 19 - 0
febs-cloud/k8s/DeamonSet/fluentd-daemonset.yml

@@ -0,0 +1,19 @@
+apiVersion: apps/v1
+kind: DaemonSet
+metadata:
+  name: node-exporter-d
+spec:
+  selector:
+    matchLabels:
+      name: node-exporter
+  template:
+    metadata:
+      labels:
+        name: node-exporter
+    spec:
+      containers:
+        - name: node-exporter
+          image: prom/node-exporter
+          ports:
+            - containerPort: 9100
+

+ 15 - 0
febs-cloud/k8s/Job/CronJob/cron-job.yml

@@ -0,0 +1,15 @@
+apiVersion: batch/v1beta1
+kind: CronJob
+metadata:
+  name: cron-job-ex
+spec:
+  schedule: "*/1 * * * *"
+  jobTemplate:
+    spec:
+      template:
+        spec:
+          containers:
+            - name: hello
+              image: busybox
+              command: ["sh", "-c", "date;echo hello cronJob"]
+          restartPolicy: Never

+ 14 - 0
febs-cloud/k8s/Job/job.yml

@@ -0,0 +1,14 @@
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: job-ex
+spec:
+  parallelism: 2 # 并发数2
+  completions: 6 # 总的Job数量
+  template:
+    spec:
+      containers:
+        - name: job
+          image: busybox
+          command: ["echo", "hello job"]
+      restartPolicy: Never

+ 44 - 0
febs-cloud/k8s/dapi-pod-container-vars.yml

@@ -0,0 +1,44 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: dapi-pod-container-vars
+spec:
+  containers:
+    - name: busybox
+      image: busybox
+      command: ["sh", "-c"]
+      args:
+        - while true;do
+            echo -en '\n';
+            printenv MY_CPU_REQUEST MY_CPU_LIMIT;
+            printenv MY_MEM_REQUEST MY_MEM_LIMIT;
+            sleep 3600;
+          done;
+      resources:
+        requests:
+          memory: "32Mi"
+          cpu: "125m"
+        limits:
+          memory: "64Mi"
+          cpu: "250m"
+      env:
+        - name: MY_CPU_REQUEST
+          valueFrom:
+            resourceFieldRef:
+              resource: requests.cpu
+              containerName: busybox
+        - name: MY_CPU_LIMIT
+          valueFrom:
+            resourceFieldRef:
+              resource: limits.cpu
+              containerName: busybox
+        - name: MY_MEM_REQUEST
+          valueFrom:
+            resourceFieldRef:
+              resource: requests.memory
+              containerName: busybox
+        - name: MY_MEM_LIMIT
+          valueFrom:
+            resourceFieldRef:
+              resource: limits.memory
+              containerName: busybox

+ 29 - 0
febs-cloud/k8s/dapi-pod-volume.yml

@@ -0,0 +1,29 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: dapi-pod-volume
+  labels:
+    tier: frontend
+    release: canary
+    environment: dev
+  annotations:
+    builder: mrbird
+    blog: https://mrbird.cc
+spec:
+  containers:
+    - name: busybox
+      image: busybox
+      command: ["sh", "-c", "sleep 36000"]
+      volumeMounts:
+        - mountPath: /podinfo # 挂载路径
+          name: pod-info
+  volumes:
+    - name: pod-info
+      downwardAPI: # 通过downward api获取pod labels和annations信息
+        items:
+          - path: "labels"
+            fieldRef:
+              fieldPath: metadata.labels
+          - path: "annotation"
+            fieldRef:
+              fieldPath: metadata.annotations

+ 22 - 0
febs-cloud/k8s/dapi-pod.yml

@@ -0,0 +1,22 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: dapi-pod
+spec:
+  containers:
+    - name: busybox
+      image: busybox
+      command: ["sh", "-c", "env | grep MY_POD"]
+      env:
+        - name: MY_POD_NAME
+          valueFrom:
+            fieldRef:
+              fieldPath: metadata.name
+        - name: MY_POD_NAMESPACE
+          valueFrom:
+            fieldRef:
+              fieldPath: metadata.namespace
+        - name: MY_POD_IP
+          valueFrom:
+            fieldRef:
+              fieldPath: status.podIP

+ 22 - 0
febs-cloud/k8s/file-cm-pod.yml

@@ -0,0 +1,22 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: file-cm-pod
+spec:
+  containers:
+    - name: tomcat
+      image: tomcat
+      ports:
+        - containerPort: 8080
+      volumeMounts:
+        - mountPath: /configs # 容器挂载目录为/configs
+          name: config-vm # 引用下面定义的这个Volume
+  volumes:
+    - name: config-vm   # volume名称为config-vm
+      configMap:        # 通过ConfigMap获取
+        name: file-cm   # 引用名称为file-cm的ConfigMap
+        items:
+          - key: serverXml # ConfigMap里配置的key
+            path: server.xml # 值使用server.xml文件进行挂载
+          - key: serverProperties
+            path: server.properties

+ 58 - 0
febs-cloud/k8s/file-cm.yml

@@ -0,0 +1,58 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: file-cm
+data:
+  serverXml: |
+    <?xml version="1.0" encoding="UTF-8"?>
+    <Server port="8005" shutdown="SHUTDOWN">
+      <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
+      <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
+      <!-- Prevent memory leaks due to use of particular java/javax APIs-->
+      <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
+      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
+      <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
+      <GlobalNamingResources>
+        <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
+      </GlobalNamingResources>
+      <Service name="Catalina">
+        <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
+        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
+        <Engine defaultHost="localhost" name="Catalina">
+          <Realm className="org.apache.catalina.realm.LockOutRealm">
+            <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
+          </Realm>
+
+          <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
+            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log" suffix=".txt"/>
+          <Context docBase="D:\Code\apache-tomcat-8.5.32\webapps\tj_certification" path="/tj_certification" reloadable="true" source="org.eclipse.jst.jee.server:tj_certification"/></Host>
+        </Engine>
+      </Service>
+    </Server>
+  serverProperties: "1catalina.org.apache.juli.AsyncFileHandler.level = FINE
+                     1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
+                     1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
+
+                     2localhost.org.apache.juli.AsyncFileHandler.level = FINE
+                     2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
+                     2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
+
+                     3manager.org.apache.juli.AsyncFileHandler.level = FINE
+                     3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
+                     3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
+
+                     4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
+                     4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
+                     4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
+
+                     java.util.logging.ConsoleHandler.level = FINE
+                     java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
+
+                     org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
+                     org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler
+
+                     org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
+                     org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler
+
+                     org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
+                     org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler"

+ 15 - 0
febs-cloud/k8s/ingress/ingress-nginx.yml

@@ -0,0 +1,15 @@
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+  name: ingress-nginx
+  annotations:
+    kubernetes.io/ingress.class: "nginx"
+spec:
+  rules:
+    - host: nginx.mrbird.cn
+      http:
+        paths:
+          - path: /
+            backend:
+              serviceName: nginx-service
+              servicePort: 8080

+ 31 - 0
febs-cloud/k8s/ingress/nginx.yml

@@ -0,0 +1,31 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: nginx-deployment
+spec:
+  replicas: 3
+  template:
+    metadata:
+      labels:
+        name: nginx
+    spec:
+      containers:
+        - name: nginx
+          image: nginx
+          ports:
+            - containerPort: 80
+  selector:
+    matchLabels:
+      name: nginx
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: nginx-service
+spec:
+  selector:
+    name: nginx
+  ports:
+    - port: 8080
+      targetPort: 80

+ 27 - 0
febs-cloud/k8s/init-container.yml

@@ -0,0 +1,27 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: nginx
+spec:
+  initContainers:
+    - name: init-html
+      image: busybox
+      command:
+        - wget
+        - "-o"
+        - "/html/index.html"
+        - http://mrbird.cc
+      volumeMounts:
+        - mountPath: /html
+          name: html-v
+  containers:
+    - name: nginx
+      image: nginx
+      ports:
+        - containerPort: 80
+      volumeMounts:
+        - mountPath: /usr/share/nginx/html
+          name: html-v
+  volumes:
+    - name: html-v
+      emptyDir: {}

+ 4 - 0
febs-cloud/k8s/namespace.yml

@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: febs

+ 24 - 0
febs-cloud/k8s/nginx-deployment.yml

@@ -0,0 +1,24 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: nginx-deployment
+spec:
+  strategy:
+    rollingUpdate:
+      maxSurge: 1
+      maxUnavailable: 1
+  selector:
+    matchLabels:
+      name: nginx
+  replicas: 3
+  template:
+    metadata:
+      labels:
+        name: nginx
+    spec:
+      containers:
+        - name: nginx
+          image: nginx:1.7.9
+          imagePullPolicy: IfNotPresent
+          ports:
+            - containerPort: 80

+ 12 - 0
febs-cloud/k8s/nginx-hpa.yml

@@ -0,0 +1,12 @@
+apiVersion: autoscaling/v1
+kind: HorizontalPodAutoscaler
+metadata:
+  name: nginx-hpa
+  namespace: default
+spec:
+  maxReplicas: 10
+  minReplicas: 3
+  scaleTargetRef:
+    kind: Deployment
+    name: nginx-deployment
+  targetCPUUtilizationPercentage: 80

+ 18 - 0
febs-cloud/k8s/nginx-pod.yml

@@ -0,0 +1,18 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: nginx-pod
+  namespace: febs
+  labels:
+    name: nginx
+spec:
+  volumes:
+    - name: podpv
+      persistentVolumeClaim:
+        claimName: pvclaim
+  containers:
+    - name: nginx
+      image: nginx
+      imagePullPolicy: IfNotPresent
+      ports:
+        - containerPort: 80

+ 19 - 0
febs-cloud/k8s/nginx-rc.yml

@@ -0,0 +1,19 @@
+apiVersion: v1
+kind: ReplicationController
+metadata:
+  name: nginx-rc
+spec:
+  replicas: 3
+  selector:
+    name: nginx
+  template:
+    metadata:
+      labels:
+        name: nginx
+    spec:
+      containers:
+        - name: nginx
+          image: nginx
+          imagePullPolicy: IfNotPresent
+          ports:
+            - containerPort: 80

+ 22 - 0
febs-cloud/k8s/nginx-rs.yml

@@ -0,0 +1,22 @@
+apiVersion: apps/v1
+kind: ReplicaSet
+metadata:
+  name: frontend
+spec:
+  replicas: 2
+  selector:
+    matchLabels:
+      tier: frontend
+    matchExpressions:
+      - {key: release, operator: In, values: [release,sanpshot]}
+  template:
+    metadata:
+      labels:
+        name: nginx
+    spec:
+      containers:
+        - name: nginx
+          image: nginx
+          imagePullPolicy: IfNotPresent
+          ports:
+            - containerPort: 80

+ 12 - 0
febs-cloud/k8s/nginx-service.yml

@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: nginx-service
+spec:
+  ports:
+    - port: 8080
+      targetPort: 80
+      nodePort: 8080
+  type: NodePort
+  selector:
+    name: nginx

+ 24 - 0
febs-cloud/k8s/pod-volume.yml

@@ -0,0 +1,24 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: pod-volume
+spec:
+  containers:
+    - name: tomcat
+      image: tomcat
+      imagePullPolicy: IfNotPresent
+      ports:
+        - containerPort: 8080
+      volumeMounts:
+        - mountPath: /usr/local/tomcat/logs
+          name: logs
+    - name: busybox
+      image: busybox
+      imagePullPolicy: IfNotPresent
+      command: ["sh", "-c", "tail -f /logs/catalina*.log"]
+      volumeMounts:
+        - mountPath: /logs
+          name: logs
+  volumes:
+    - name: logs
+      emptyDir: {}

+ 12 - 0
febs-cloud/k8s/pv-nfs.yml

@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+  name: pv01
+spec:
+  capacity:
+    storage: 10Gi
+  accessModes:
+    - ReadWriteOnce
+  nfs:
+    path: /somepath
+    server: 127.17.0.2

+ 10 - 0
febs-cloud/k8s/pvc-nfs.yml

@@ -0,0 +1,10 @@
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: pvclaim
+spec:
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 8Gi

+ 12 - 0
febs-cloud/k8s/simple-cm-pod-all.yml

@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: simple-cm-pod-all
+spec:
+  containers:
+    - name: busybox
+      image: busybox
+      command: ["sh", "-c", "env"]
+      envFrom:
+        - configMapRef:
+            name: simple-cm

+ 20 - 0
febs-cloud/k8s/simple-cm-pod.yml

@@ -0,0 +1,20 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: simple-cm-pod
+spec:
+  containers:
+    - name: busybox
+      image: busybox
+      command: ["sh", "-c", "env | grep ENV"]
+      env:
+        - name: ENVVERSION
+          valueFrom:
+            configMapKeyRef:
+              key: version
+              name: simple-cm
+        - name: ENVRELEASE
+          valueFrom:
+            configMapKeyRef:
+              key: release
+              name: simple-cm

+ 7 - 0
febs-cloud/k8s/simple-cm.yml

@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: simple-cm
+data:
+  version: v1
+  release: stable

+ 13 - 0
febs-cloud/k8s/static-pod.yml

@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: static-pod
+  labels:
+    name: static-pod
+spec:
+  containers:
+    - name: static-nginx
+      image: nginx
+      imagePullPolicy: IfNotPresent
+      ports:
+        - containerPort: 80

+ 13 - 0
febs-cloud/k8s/调度策略/flag-pod.yml

@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: flag-pod
+  labels:
+    tier: frontend
+    app: nginx
+spec:
+  containers:
+    - name: flag-nginx
+      image: nginx
+      ports:
+        - containerPort: 8081

+ 18 - 0
febs-cloud/k8s/调度策略/nginx-deployment-hpa-v2.yml

@@ -0,0 +1,18 @@
+apiVersion: autoscaling/v2beta2
+kind: HorizontalPodAutoscaler
+metadata:
+  name: nginx-deployment-hpa-v2
+spec:
+  maxReplicas: 6
+  minReplicas: 2
+  metrics:
+    - type: Resource
+      resource:
+        name: cpu
+        target:
+          type: Utilization
+          averageUtilization: 50
+  scaleTargetRef:
+    apiVersion: apps/v1
+    kind: Deployment
+    name: nginx-deployment

+ 12 - 0
febs-cloud/k8s/调度策略/nginx-deployment-hpa.yml

@@ -0,0 +1,12 @@
+apiVersion: autoscaling/v1
+kind: HorizontalPodAutoscaler
+metadata:
+  name: nginx-deployment-hpa-v1
+spec:
+  maxReplicas: 6
+  minReplicas: 2
+  scaleTargetRef:
+    apiVersion: apps/v1
+    kind: Deployment
+    name: nginx-deployment
+  targetCPUUtilizationPercentage: 50

+ 35 - 0
febs-cloud/k8s/调度策略/node-affinity.yml

@@ -0,0 +1,35 @@
+apiVersion: v1
+kind: ReplicationController
+metadata:
+  name: test-rc
+spec:
+  replicas: 1
+  selector:
+    name: nginx
+  template:
+    metadata:
+      labels:
+        name: nginx
+    spec:
+      containers:
+        - name: nginx
+          image: nginx
+          ports:
+            - containerPort: 80
+      affinity:
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+              - matchExpressions:
+                  - key: beta.kubernetes.io/arch
+                    operator: In
+                    values:
+                      - amd64
+          preferredDuringSchedulingIgnoredDuringExecution:
+            - weight: 1
+              preference:
+                matchExpressions:
+                  - key: disk-type
+                    operator: In
+                    values:
+                      - ssd

+ 20 - 0
febs-cloud/k8s/调度策略/node-select-pod.yml

@@ -0,0 +1,20 @@
+apiVersion: v1
+kind: ReplicationController
+metadata:
+  name: test-rc
+spec:
+  replicas: 1
+  selector:
+    name: nginx
+  template:
+    metadata:
+      labels:
+        name: nginx
+    spec:
+      containers:
+        - name: nginx
+          image: nginx
+          ports:
+            - containerPort: 80
+      nodeSelector:
+        role: frontend

+ 22 - 0
febs-cloud/k8s/调度策略/node-taint.yml

@@ -0,0 +1,22 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: pod-taint
+spec:
+  containers:
+    - name: nginx
+      image: nginx
+      ports:
+        - containerPort: 80
+  tolerations:
+    - key: "aa"
+      operator: "Equal"
+      value: "bb"
+      effect: "NoSchedule"
+
+# 意思是,如果该pod没有这是容忍该污点,那么就不在这个node上调度
+
+# NoSchedule和NoExecute区别
+# NoSchedule不调度,如果是在调度后设置的污点,并且Pod没有容忍该污点,也能继续执行
+# NoExecute不执行,如果是在调度后设置的污点,并且Pod没有容忍该污点,则会被驱逐
+#                 可以设置驱逐时间tolerationSeconds: 3600

+ 29 - 0
febs-cloud/k8s/调度策略/pod-affinity-two.yml

@@ -0,0 +1,29 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: pod-affinity
+spec:
+  containers:
+    - name: nginx
+      image: nginx
+      ports:
+        - containerPort: 80
+  affinity:
+    podAffinity:
+      requiredDuringSchedulingIgnoredDuringExecution:
+        - labelSelector:
+            matchExpressions:
+              - key: tier
+                operator: In
+                values:
+                  - frontend
+          topologyKey: failure-domain.beta.kubernetes.io/zone
+    podAntiAffinity:
+      requiredDuringSchedulingIgnoredDuringExecution:
+        - labelSelector:
+            matchExpressions:
+              - key: release
+                operator: In
+                values:
+                  - stable
+          topologyKey: kubernetes.io/hostname

+ 25 - 0
febs-cloud/k8s/调度策略/pod-affinity.yml

@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: pod-affinity
+spec:
+  containers:
+    - name: nginx
+      image: nginx
+      ports:
+        - containerPort: 80
+  priorityClassName: hign-priority
+  affinity:
+    podAffinity:
+      requiredDuringSchedulingIgnoredDuringExecution:
+        - labelSelector:
+            matchExpressions:
+              - key: tier
+                operator: In
+                values:
+                  - frontend
+          topologyKey: kubernetes.io/hostname
+
+
+
+

+ 7 - 0
febs-cloud/k8s/调度策略/priority-class.yml

@@ -0,0 +1,7 @@
+apiVersion: scheduling.k8s.io/v1
+kind: PriorityClass
+metadata:
+  name: hign-priority
+value: 10000
+globalDefault: false
+description: "10000优先级"

+ 33 - 0
febs-cloud/k8s/资源管理/limit-range.yml

@@ -0,0 +1,33 @@
+apiVersion: v1
+kind: LimitRange
+metadata:
+  name: limit-test
+spec:
+  limits:
+    - max:
+        cpu: 2
+        memory: 4Gi
+      min:
+        cpu: 200m
+        memory: 6Mi
+      maxLimitRequestRatio:
+        cpu: 3
+        memory: 2
+      type: Pod
+    - default:
+       cpu: 300m
+       memory: 200Mi
+      defaultRequest:
+        cpu: 200m
+        memory: 100Mi
+      max:
+        cpu: 2
+        memory: 1Gi
+      min:
+        cpu: 100m
+        memory: 3Mi
+      maxLimitRequestRatio:
+        cpu: 5
+        memory: 4
+      type: Container
+