first commit

This commit is contained in:
iProbe 2022-10-18 16:59:37 +08:00
commit ba848e218d
1001 changed files with 152333 additions and 0 deletions

View file

@ -0,0 +1,160 @@
### 端口:
master
apiserver6443https 8080
etcd2379外部访问。client访问2380etcd集群互访
kubelet 10250
kube-schedulerhealthy10251
controler-managerhealthy10252
cloud-managerhealthy10253
kubulet api 10255
kube-proxyhealthy10256
### k8s架构
masterapi serverschedulercontroller manager
nodekubeletkube-proxy
### k8s最小调度单元pod
pod有标签label标签选择器label selector
pod分为自主式与控制器管理的pod
##控制器类型
RepllicationController
ReplicaSet
Deployment
StatefulSet
DaemonSet
Job
CronJob
HPAHorizontalPodAutoscaler自动扩展
##CNI:
flannel:网络配置
calica:网络配置,网络策略
...
### 资源对象:
负载类型资源podReplicaSetDeployment,serviceJobCronJob
### pod生命周期
初始化容器init container
启动后start post
存活状态检测liveness probe
就绪检测readiness probe
停止前: pre stop
---
显示集群的运行信息kubectl cluster-info
显示集群各组件的运行信息kubectl get cs
显示apiserver各版本kubectl api-version
查看ReplicaSet的apiVersionkubelet explian rs
获取pod简单信息kubectl get pod
获取pod信息并显示labelkubectl get pod --show-labels
获取pod详细信息kubectl get pod -o wide
获取pod信息并显示为yaml格式kubectl get pod -o yaml
持续查看pod信息kubectl get pod -w (watch)
显示标签中含有xxx标签的podkubectl get pod -l xxx
为pod打标签kubectl label pod pod名称 标签key=标签value --overwrite
查看pod的描述信息kubectl describe xxx
扩缩容器数量kubectl scale --replicas=3 xxx
回滚到上一个版本kubectl rollout undo pod名称
修改配置信息kubectl edit
查看资源字段定义及使用kubectl explain 资源字段
从dockerhub中拉取最新的nginx镜像运行端口80一个副本kubectl run nginx-deploy --image=nginx --port=80 --relicas=1
查看pod日志kubelet logs pod名称 容器名称
进入pod中的容器里kubelet exec -it pod名称 -c 容器名称 -- /bin/sh
删除资源kubectl delete
删除指定配置资源清单kubectl delete -f xxx.yaml
删除指定资源kubelet delete 资源名称 -n namespace
禁止pod调度到该nodekubectl cordon <none>
驱逐节点上的所有podkubectl drain <node>
节点重新添加到集群kubectl uncordon <node>
为节点设置污点kubectl taint nodes node1 key1=value1:NoSchedule
---
大部分资源的配置清单
---
apiVersiongroup/version # kubectl explain 资源类型
kind: 资源类别
metadata元数据
name资源名称
namespace资源命名空间
labels标签
annotations
spec规格期望的状态
containers
livenessProbe存活探针
httpGet:
port:端口或容器中ports定义的端口对应的name
path:/index.html
exec:
command:[命令或脚本]
initialDelaySeconds:数字,延迟时间,秒
periodSeconds:数字,探测间隔,秒
readinessProbe就绪探针
httpGet:
port:端口或容器中ports定义的端口对应的name
path:/index.html
exec:
command:[命令或脚本]
initialDelaySeconds:数字,延迟时间,秒
periodSeconds:数字,探测间隔,秒
- name名称
image镜像地址
args[entrypoint]
lifecycle:存活钩子
postStart:
exec:
command
- name名称
image镜像地址
imagePullPolicyAlways[总是去拉取镜像]Never[从来不去拉取],IfNotPresent[本地不存在,拉取]
ports端口列表
- name端口名称
containerPort端口
- name端口名称
containerPort端口
protocol协议默认tcp
command[命令]
restartPolicyAlways[总是重启]OnFailure[失败重启]Never[不重启]默认时Always
nodeSelector:{节点标签选择器}
nodeName节点名称
annotations:与label不同地方在于它不能用于挑选资源对象仅用于为对象提供“元数据”
status:状态只读字段,不需要定义
---