摘要:①:客户端输入docker push $镜像名:$版本命令,通过本地的docker客户端发送到远程的镜像仓库。这个镜像仓库可以是网易、阿里云的镜像仓库,也可以是docker官方的镜像仓库docker hub。
kubernetes中创建服务service:
kubectl create svc clusterip myservice --tcp=80:80
访问TCP的80端口相当于访问容器的80端口。
创建docker容器:
docker run --name test -p 1234:80 -d linux/myapp:v1.0
kubernetes进入容器命令:
kubectl exec -it $pod_name -c $container_name -n $namespace_name -- /bin/bash
pod的运行调度流程:
①:客户端输入docker push $镜像名:$版本命令,通过本地的docker客户端发送到远程的镜像仓库。这个镜像仓库可以是网易、阿里云的镜像仓库,也可以是docker官方的镜像仓库docker hub。
②:客户端输入kubectl run myapp --image=$image/$myapp:$image_tag --port=8080 来运行一个项目,使用的镜像就是推送到远程镜像仓库中的镜像,并且定义了一个8080端口,暴露出来这个端口。
③:客户端输入的kubectl 命令会以Rest的方式发送给api-server,然后api-server会把创建结果给实例化、持久化地保存到etcd数据库中。
④:调度器scheduler会监听当前的api-server,需要去确认还有没有未创建的pod需要被分配到工作节点。如果有的话,它会根据自己的调度算法,也就是预选算法和优选算法去确定未分配到节点的pod运行在哪个worker node节点上,以此来确定绑定关联。然后再把结果写入到etcd数据库中,调度器需要把我们的pod与worker node节点的关系进行绑定。
⑤:当前worker node节点的kubelet也持续地通过api-server进行监听,监听当前worker node节点需不需要创建pod。如果有,那么当前worker node节点的kubelet会调用当前节点的CRI 容器运行时接口去实现对应的容器创建。kubelet会告诉docker去运行镜像,docker会从镜像仓库拉取镜像。容器创建出容器组以后,符合pod关系,那么就称为了pod。
C罗和梅西
鼓励的话语:山高自有可行路,水深自有渡船人!没有过不去的火焰山!是雄鹰就应该翱翔于天空,只有经历风暴,才能无惧所有!
来源:安博新高考