K8S内容1

内容:

kind: ClusterRole #ClusterRole是一组权限的集合,但与Role不同的是,ClusterRole可以在包括所有NameSpce和集群级别的资源或非资源类型进行鉴权。
apiVersion: rbac.authorization.k8s.io/v1 #api版本
metadata: # 资源的元数据/属性 
  name: multipoint-plugin-example # 资源的名字,在同一个namespace中必须唯一
rules: 
  - apiGroups:
      - ""
    resources:
      - endpoints
      - events
    verbs:
      - create
      - get
      - update
  - apiGroups:
      - ""
    resources:
      - nodes
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - ""
    resources:
      - pods
    verbs:
      - delete
      - get
      - list
      - watch
      - update
  - apiGroups:
      - ""
    resources:
      - bindings
      - pods/binding
    verbs:
      - create
  - apiGroups:
      - ""
    resources:
      - pods/status
    verbs:
      - patch
      - update
  - apiGroups:
      - ""
    resources:
      - replicationcontrollers
      - services
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - apps
      - extensions
    resources:
      - replicasets
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - apps
    resources:
      - statefulsets
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - policy
    resources:
      - poddisruptionbudgets
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - ""
    resources:
      - persistentvolumeclaims
      - persistentvolumes
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - ""
    resources:
      - configmaps
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - "storage.k8s.io"
    resources:
      - storageclasses
      - csinodes
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - "coordination.k8s.io"
    resources:
      - leases
    verbs:
      - create
      - get
      - list
      - update
  - apiGroups:
      - "events.k8s.io"
    resources:
      - events
    verbs:
      - create
      - patch
      - update
---
apiVersion: v1 
kind: ServiceAccount # 服务账户
metadata: #元信息
  name: multipoint-scheduler-sa 
  namespace: kube-system 
---
kind: ClusterRoleBinding #为特定的ClusterRole创建ClusterRoleBinding。
apiVersion: rbac.authorization.k8s.io/v1 #api版本
metadata:
  name: multipoint-plugin-examplebinding
  namespace: kube-system
roleRef: # 权限引用,就是我们上面所用的那个ClusterRole
  apiGroup: rbac.authorization.k8s.io #资源所需api组
  kind: ClusterRole #资源种类
  name: multipoint-plugin-example #资源名称
subjects: #推测应该是子项
  - kind: ServiceAccount #服务账户
    name: multipoint-scheduler-sa 
    namespace: kube-system 

---
apiVersion: v1
kind: ConfigMap #ConfigMap是用来存储配置文件的kubernetes资源对象,所有的配置内容都存储在etcd中。
metadata: 
  name: scheduler-config
  namespace: kube-system
data:
  scheduler-config.yaml: | # 另外一个yaml文件,使用|保留换行符
    apiVersion: kubescheduler.config.k8s.io/v1alpha1
    kind: KubeSchedulerConfiguration
    schedulerName: multipoint-scheduler
    leaderElection:
      leaderElect: true
      lockObjectName: multipoint-scheduler
      lockObjectNamespace: kube-system
    plugins:
      preFilter:
        enabled:
        - name: "multipoint-plugin"
      filter:
        enabled:
        - name: "multipoint-plugin"
      preBind:
        enabled:
        - name: "multipoint-plugin"
    pluginConfig:
    - name: "multipoint-plugin"
      args:
        favorite_color: "#326CE5"
        favorite_number: 7
        thanks_to: "thockin"
---
apiVersion: apps/v1 #api版本
kind: Deployment #Deployment
metadata:
  name: multipoint-scheduler #名称
  namespace: kube-system #命名空间
  labels:
    component: multipoint-scheduler 
spec:
  replicas: 1 #副本数
  selector:
    matchLabels:
      component: multipoint-scheduler
  template:
    metadata:
      labels:
        component: multipoint-scheduler
    spec:
      serviceAccount: multipoint-scheduler-sa
      priorityClassName: system-cluster-critical #这个非常重要,如果写错了会报No PriorityClass的错误
      volumes:
        - name: scheduler-config
          configMap:
            name: scheduler-config
      containers:
        - name: scheduler-ctrl
          image: zuiyixin/mywebapp:1.0.0
          imagePullPolicy: IfNotPresent
          args:
            - sample-scheduler-framework
            - --config=/etc/kubernetes/scheduler-config.yaml
            - --v=3
          resources:
            requests:
              cpu: "50m"
          volumeMounts:
            - name: scheduler-config
              mountPath: /etc/kubernetes
PaymentDetail1:
 - billPaymentNo: "201904171022507929513877465876"
  paymentAmount: 1000.00
  paymentMethod1: "ODD"
  paymentSuccessDate: 2019-04-17 13:00:00

转为json如下:

PaymentDetail1: [{billPaymentNo:'201904171022507929513877465876',paymentAmount: 1000, paymentMethod1: 'ODD',paymentSuccessDate: Wed Apr 17 2019 21:00:00 GMT+0800 (China Standard Time)}]

理解为:PaymentDetail1值为一个列表,列表中只有一个元素,该元素为一个字典,字典由多个键值对构成

参考链接:

https://www.cnblogs.com/pandaly/p/10321464.html

Error: failed to create containerd task: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: “scheduler_test3”: executable file not found in $PATH: unknown

Deployment does not have minimum availability.


K8S内容1
https://blog.fulequn.online/2021/02/Article202102161/
作者
Fulequn
发布于
2021年2月16日
许可协议