pod是k8s中最小的管理单元,程序在容器中,容器在pod中 k8s通过管理pod来管理容器,通过管理容器进而管理程序 pod可以说是容器的封装,一个pod中可以存在一个或多个容器〔qqk8snode1〕kubectlgetpodsnkubesystemNAMEREADYSTATUSRESTARTSAGEcoredns64897985dbnkbc11Running045setcdminikube11Running157skubeapiserverminikube11Running257skubecontrollermanagerminikube11Running158skubeproxytgbx211Running045skubeschedulerminikube11Running157sstorageprovisioner11Running2(40sago)54sAPIservice所有服务的访问统一入口crontrollerManager:维持副本期望数目Scheduler:负责介绍任务,选择合适的节点进行分配任务ETCD:键值对数据库存储K8s集群所有重要信息持久化,负责存储集群中各种资源对象的信息Kubelet:直接跟容器引擎交互实现容器的生命周期管理Kubeproxy:负责写入规则至IPTABLES,IPVS实现服务映射访问docker:节点上的容器操作〔qqk8snode1〕kubectlcreatensdevnamespacedevcreated《创建命名空间》〔qqk8snode1〕kubectlgetnsNAMESTATUSAGEdefaultActive7m54sdevActive10skubenodeleaseActive7m55skubepublicActive7m55skubesystemActive7m55s《看一下》〔qqk8snode1〕kubectlrunnginxssimagenginx:1。17。1port80ndevpodnginxsscreated〔qqk8snode1〕kubectlgetpodndevNAMEREADYSTATUSRESTARTSAGEnginxss11Running018s〔qqk8snode1〕kubectlgetpodndevowideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATESnginxss11Running043s172。17。0。3minikubenonenone〔qqk8snode1〕kubectldescribepodnginxssndev《查看详细的pod信息》Name:nginxssNamespace:devPriority:0Node:minikube192。168。49。2StartTime:Sat,19Feb202218:29:180800Labels:runnginxssAnnotations:noneStatus:RunningIP:172。17。0。3IPs:IP:172。17。0。3Containers:nginxss:ContainerID:docker:386271d32e3a74ac5837c671d177cd2f28ff6ecf5b62c52bee0fbae3b34ae0e1Image:nginx:1。17。1ImageID:dockerpullable:nginxsha256:b4b9b3eee194703fc2fa8afa5b7510c77ae70cfba567af1376a573a967c03dbbPort:80TCPHostPort:0TCPState:RunningStarted:Sat,19Feb202218:29:190800Ready:TrueRestartCount:0Environment:noneMounts:varrunsecretskubernetes。ioserviceaccountfromkubeapiaccess7hqgp(ro)Conditions:TypeStatusInitializedTrueReadyTrueContainersReadyTruePodScheduledTrueVolumes:kubeapiaccess7hqgp:Type:Projected(avolumethatcontainsinjecteddatafrommultiplesources)TokenExpirationSeconds:3607ConfigMapName:kuberootca。crtConfigMapOptional:nilDownwardAPI:trueQoSClass:BestEffortNodeSelectors:noneTolerations:node。kubernetes。ionotready:NoExecuteopExistsfor300snode。kubernetes。iounreachable:NoExecuteopExistsfor300sEvents:TypeReasonAgeFromMessageNormalScheduled2m50sdefaultschedulerSuccessfullyassigneddevnginxsstominikubeNormalPulled2m49skubeletContainerimagenginx:1。17。1alreadypresentonmachineNormalCreated2m49skubeletCreatedcontainernginxssNormalStarted2m49skubeletStartedcontainernginxss〔qqk8snode1〕kubectldeletepodnginxssndevpodnginxssdeleted《用delete干掉》〔qqk8snode1〕kubectldeletensdevnamespacedevdeleted〔qqk8snode1〕kubectlgetpodANAMESPACENAMEREADYSTATUSRESTARTSAGEkubesystemcoredns64897985dbnkbc11Running025mkubesystemetcdminikube11Running125mkubesystemkubeapiserverminikube11Running225mkubesystemkubecontrollermanagerminikube11Running125mkubesystemkubeproxytgbx211Running025mkubesystemkubeschedulerminikube11Running125mkubesystemstorageprovisioner11Running2(25mago)25m 命令式对象配置,使用yaml创建pod,上面的是pod的下面的是命名空间的apiVersion:v1kind:Podmetadata:name:nginxnamespace:devspec:containers:image:nginx:latestname:podports:name:nginxportcontainerPort:80protocol:TCPapiVersion:v1kind:Namespacemetadata:name:dev命令式对象配置的创建和删除〔qqk8snode1〕ll总用量12rwrwr。1qqqq432月1120:0220220211rwrwr。1qqqq542月1418:57devns。yamlrwrwr1qqqq2022月1918:58nginx。yaml〔qqk8snode1〕kubectlcreatefdevns。yamlnamespacedevcreated〔qqk8snode1〕kubectlcreatefnginx。yamlpodnginxcreated〔qqk8snode1〕kubectldeletefnginx。yamlpodnginxdeleted〔qqk8snode1〕kubectldeletefdevns。yamlnamespacedevdeleted〔qqk8snode1〕