Anki卡片的本质是由一系列字段组成的数据结构。卡片的字段可以在Browser中看到,有些字段比较简单,例如Added代表“添加日期”,这是一眼就能看出的。有些字段比较复杂,例如Ease代表间隔扩大系数,需要明白调度算法才能理解。
其中有一个Due字段,代表“到期时间”,但不同卡片类型的Due值有所差异,这一点可能让人迷惑,在这里捋一捋。
Anki卡片的本质是由一系列字段组成的数据结构。卡片的字段可以在Browser中看到,有些字段比较简单,例如Added代表“添加日期”,这是一眼就能看出的。有些字段比较复杂,例如Ease代表间隔扩大系数,需要明白调度算法才能理解。
其中有一个Due字段,代表“到期时间”,但不同卡片类型的Due值有所差异,这一点可能让人迷惑,在这里捋一捋。
RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的,而StatefulSet是什么?顾名思义,有状态的集合,管理所有有状态的服务,比如MySQL、MongoDB集群等。
StatefulSet本质上是Deployment的一种变体,在v1.9版本中已成为GA版本,它为了解决有状态服务的问题,它所管理的Pod拥有固定的Pod名称,启停顺序,在StatefulSet中,Pod名字称为网络标识(hostname),还必须要用到共享存储。
在Deployment中,与之对应的服务是service,而在StatefulSet中与之对应的headless service,headless service,即无头服务,与service的区别就是它没有Cluster IP,解析它的名称时将返回该Headless Service对应的全部Pod的Endpoint列表。
除此之外,StatefulSet在Headless Service的基础上又为StatefulSet控制的每个Pod副本创建了一个DNS域名,这个域名的格式为:
$(podname).(headless server name)
FQDN:$(podname).(headless server name).namespace.svc.cluster.local
例如访问mysql集群Master库:jdbc:mysql://mysql-0.mysql.mysql.svc.cluster.local:3306/test
K8s 1.23版本nfs创建动态存储报错 persistentvolume-controller waiting for a volume to be created, either by external provisioner "qgg-nfs-storage" or manually created by system administrator
[root@k8s-matser01 nfs.rbac]# kubectl get pvc |
配置生效
exportfs -r |
重启rpcbind、nfs服务
systemctl restart rpcbind && systemctl restart nfs |
重启apiserver
systemctl restart kubelet |
获取pvc信息
kubectl get pvc |
【Swift 5】使用UIAlertController弹出一个.actionSheet样式(UIAlertControllerStyleActionSheet)的弹出框,
运行设备为iPhone时,正常。
运行设备为iPad时,崩溃。
报错如下:You must provide location information for this popover through the alert controller's popoverPresentationController
根据端口查找对应的service
kubectl get service --all-namespaces |grep 31234 |
显示所有的service
kubectl get svc
删除指定名称的service (在service name前加上svc/)
kubectl delete svc/jfinal-demo