kubernete yaml设置
each configuration file has 3 parts

apiversion
kind
然后是:
1) metadata
2) specification
3) status(这个是kubernete自动生成的)
如果kubernete发现status和spec不一样,就进行self healing
attributes of "spec" are specific to the kind


Layers of Abstraction:

template:
template also has its own 'metadata' and 'spec' section

thsese configuration applies to a pod
blueprint for a pod


label and selectors:
the way connection is established is using labels andd selectors
metadata part contains labels
sepecification part contains selectors

在metadata中为一个component 比如deployment或者pod 一个key-value键值对
在这个例子是 app: nginx
这个label定义了这个component
然后pod会得到这个蓝图

we tell the deployment to connect or match all the labels with app:nginx
to create the connection
so this way deployment will know which pods belong to it

deployment有他自己的label
app:nginx
these two label are used by service selector

because service must know which pods are registerd with it

that connection is made through the selector of the label
个人理解...

ports:

service has ports

deployment has ports
这两个是match的
service的targetPort和deployment的containerport是match的
service有自己的port
service的port is where the service is accessiable at
if other service sends a request to nginx service here , it needs to send on port 80
the service need to know which service pod it should forward the request
that is the container port

how can we valid the service has the right ports?
kubectl describe service nginx-service


注意看end point
kuctl get pod -o wide

now you can see more columns there
如果想看status:
kubectl get deployment nginx-deployment -o yaml
kubectl get deployment nginx-deployment -o yaml > nginx-deployment-result.yaml

对比一下,前面的基本都是一样的
status中是kubernete自己添加上去的


浙公网安备 33010602011771号