创建nginx容器:
kubectl run nginx-deploy8 --image=nginx:1.14-alpine --port=80 --replicas=2
deployment "nginx-deploy8" created
删除pod:
kubectl delete pods nginx-deploy8-77c9f8dcf5-prdrt
端口映射到集群外部使用
kubectl expose deployment nginx-deploy8 --name=nginx8 --port=80 --target-port=80 --protocol=TCP
创建客户端pod并进入该容器:
RESTful:
GET,PUT,DELETE,POST...
Kubectrl run ...
资源:对象
Workload(工作负载型资源):Pod,ReokucaSet,Deoloyment...
服务发现及均衡,service,ingress
配置与存储
Volume,CSI
configMap,secret
downwardAPI
集群级的资源
Namespace,Node,role,clusterRoleBinding
元数据型资源
HPA,PodTemplate,LimitRange
以ymal格式打印输出:
kubectl get pods myapp-5dc65c69c8-2v8jb -o yaml
大部分资源的配置清单(5个一级字段组成):
apiVersion: group/version
kubectl api-versions
Deploy
Beta(公共测试版)
稳定版
Kind:资源类别
Metadata:元数据
Name:同一类别是唯一的
NameSpace:
Labels:标签
Annotations:
...
每个资源引用PATH:
/api/GROUP/VERSION/namespace/NAMESPACE/TYPE/NAME(大写字母代表可替代)
Spec:
期望的状态,disired state
Status:当前状态
Current state 本字段有kuberneters集群维护
让当前状态无限向期望状态靠近
创建资源的方法:
Apiserver 仅接受JSON格式的资源定义;
Yaml格式提供配置清单,apiserver可自动将其转为json格式,而后在提交;
命令:
Required(必选字段)
字段判定
kubectl explain pod
二级字段判定:
kubectl explain pod.metadata
多级字段判定以点(.)区分依次类推
kubectl create -f pod_demo.yaml
kubectl describe pods pod-demo
kubectl delete -f pod_demo.yaml(pod彻底删除)