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/kubernetesPaymentDetail1:
- 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值为一个列表,列表中只有一个元素,该元素为一个字典,字典由多个键值对构成
参考链接:
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/