文章目录
1.Pod管理
•
Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群 中运行的一个进程,每个pod都有一个唯一的ip。 •
一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间 共享IPC、Network和UTC namespace。
注: kubectl命令:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands
2.创建Pod应用
2.1 自主命令方式运行pod
(1)为了拉取镜像方便快捷修改镜像仓库
(2)运行服务nginx:
如果不是running状态需要等待:
(3)查看详细信息
注:创建时不指定namespace,默认都在default中
(4)安装桥接工具查看接口
(5)查看日志和详细信息
容器中访问pod
删除pod:
2.2. deployment方式运行pod
删掉集群会自动创建Pod且可以访问:
若想彻底删除:
3.Pod扩容与缩容
若想用root身份运行指令:
4.service微服务
service是一个抽象概念,定义了一个服务的多个pod逻辑合集和访问pod的策略, 一般把service称为微服务。
• 创建service • $ kubectl expose deployment nginx --port=80 --target-port=80
• 此时pod客户端可以通过service的名称访问后端的两个Pod
• ClusterIP: 默认类型,自动分配一个仅集群内部可以访问的虚拟IP
也可进行扩容缩容:
5.配置加速器加载busyboxplus镜像以便可访问ip地址
推送镜像到私有仓库:
删除原先的demo:
使用busyboxplus有curl命令可以访问ip:
6.pod的滚动更新以及回滚
(1)上传myapp镜像因为它有两个版本可以看到版本更新
(2)pod的滚动更新以及回滚
更新pod镜像:
发现也可以实现负载均衡:
(3)版本更新到v2
查看历史:
回滚到v6版本:
测试:
7.把pod暴露给集群外部主机以便外部主机也可以访问
对于已经创建的Pod,可以手动修改type
NodePort: 在ClusterIP基础上为Service在每台机器上绑定一个端口,这样就可以通过 NodeIP:NodePort 来访问该服务
(1)修改文件
(2)查看随机生成的port:
(3)访问