k8s api

curl -is –cacert ca.pem –key admin-key.pem https://localhost:6443/api



kubectl api-versions 可以看到很多api组和版本号
% kubectl api-versions
admissionregistration.k8s.io/v1




https://www.cnblogs.com/yjf512/p/11174335.html



http://docs.kubernetes.org.cn/31.html



我们知道用kubectl管理k8s的时候可以使用yaml文件,在这些配置文件的定义里面会有一个apiVersion字段,这个字段指明了要使用的API版本,最新的k8s API版本是v1.18.0,地址:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18



里面可以看到对于Deployment资源,它对应的分组是apps,版本是v1,所以我们的yaml文件里面就需要这样写:apiVersion: apps/v1;对于Namespace资源,它对应的分组是core,版本是v1,core是可以省略的,所以我们的yaml文件里面可以这样写:apiVersion: v1



资源对象
资源对象通常有3个组成部分:



metadata:这是关于资源的元数据,比如它的名称、类型、api版本、注释和标签。
spec:这是由用户定义的希望系统最终达到的状态,比如启动多少个replica、cpu和内存的限制等等。
status:系统的当前状态,由服务器去更新。
资源的操作
资源通常有这几种操作:创建(Create),更新(Update),读取(Read),删除(Delete)。其中更新又分为替换(Replace)和打补丁(Patch),区别是替换是把整个spec替换掉,会有乐观锁保证读写安全;打补丁则是修改某些指定的字段,没有锁,最后一次写会成功。



有部分资源还会支持下列操作:



Rollback: 将PodTemplate回滚到以前的版本。
Read / Write Scale: 读取或更新资源的副本数量。
Read / Write Status: 读取或更新资源对象的状态。



https://www.kubernetes.org.cn/doc-30



https://blog.csdn.net/xili2532/article/details/104562184


Category k8s