k8s-helloword部署一个应用
快速部署一个pod命令
部署一个名为 test-nginx Pod
方式一:使用 kubectl run
kubectl run test-nginx --image=nginx
然后使用 kubectl get pod 查看,kubectl get pod 是查看默认名称空间下的Pod
如果想要跟详细的查看这个pod 信息,可以使用 kubectl get pod -o wide
可以看到这个pod具体被调度到哪个节点,ip地址等等相关信息
方式二: 使用deploy方式
#该命令表示创建了一次部署,名称为 my-redis
kubectl create deployment my-redis --image=redis
验证pod之间是否可以互访
在创建一个pod
进入pod命令
kubectl exec -it nginx02 -- /bin/bash
进入另外一个 pod,访问上面一个修改后的pod,成功访问,说明 集群内部, pod之间的网络是ok的
暴露pod外部可见
上面创建了一个名为my-redis的pod,使用的方式是 deploy方式
如果想让外部进行访问,就需要暴露一个创建一个 service
可以先使用命令 kubectl get svc 查看当前已存在的svc
现在想要暴露 my-redis 想让外部可以访问,可以使用如下命令
# --port:集群内访问service的端口
# --target-port pod容器的端口
# NodePort 每个机器开发的端口
kubectl expose deploy my-redis --port=8088 --target-port=6379 --type=NodePort
然后使用 kubectl get svc 进行查看 service信息
然后在外部使用工具测试是否可以访问
自愈功能
查看pod
其中redis是以deploy方式部署的,nginx是run方式部署的,现在删除所有pod, 使用 kubectl delete pod pod名称删除
可以看到 redis在删除以后,又重新拉取了一份,
如果想要删除这个pod,需要删除此次部署,使用 kubectl delete deploy 部署名称,如下所示
可以看到 redis在删除以后,又重新拉取了一份,
如果想要删除这个pod,需要删除此次部署,使用 kubectl delete deploy 部署名称,如下所示