【Kubernetes】Pod学习(一)部署一个多容器Pod

本文是学习Kubernetes的笔记,介绍如何创建一个包含PHP前台和Redis后台的Pod,展示了Pod内部容器的耦合以及如何通过CURL访问Pod服务。通过编辑yaml配置文件并使用kubectl创建Pod,然后通过kubectl命令查看Pod详细信息和运行状态,最后演示了如何进入容器内部检查配置和运行情况。
摘要由CSDN通过智能技术生成

此文为学习《Kubernetes权威指南》的相关笔记

个人思路:

       根据docker的设计理念,容器作为一个运行单位,在使用上应当秉持“一个容器只运行一项功能”的设计原则,这个原则让容器具有高复用性和低耦合的特征,但在工业应用场景中,以这个原则所设计的服务并不能够独立看作一项完整的“微服务”进行调度(毕竟“一项功能”所能实现的事情有限),在K8s的架构中,以Pod(豆荚)作为一个调度和使用的基本单位,一个pod中大于等于一个的容器作为同一个单元,共同组成一个整体进行运行,Pod内部的容器自然有相互之间的松散耦合关系,最终提供对外调用的接口。

        于此同时,Pod接收ReplicationControll、ReplicaSet、Deployment、job等资源对象的控制,可以动态生成和增删其自身的副本,这一控制由Label机制实现,在对外服务方面,Pod可以建立一个Service资源对象,获得统一的ClusterIP,统一对外提供服务,这是K8S架构中“微服务”这一慨念的具体实现,后面将继续学习这些机制,增强对其理解。

      下面运行一个由多个容器组成一个Pod对外提供服务的例子,在这个例子中,Pod里包含了一个PHP前台容器和一个后台Redis数据库容器,在PHP容器设计时就指定好未来访问Redis数据库的目标端口,再在Pod建立时指定好Redis容器的端口参数一致,即实现了Pod内部两个容器的耦合,该Pod通过PHP容器开放端口对外提供服务。

1、新建配置文件frontend-localredis-pod.yaml

# vim frontend-localredis-pod.yaml

apiVersion: v1
kind: Pod
metadata:
 name: redis-php
 labels:
  name: redis-php
spec:
 containers:                    #定义前台容器,开放80端口
 - name: frontend
   image: kubeguide/guestbook-php-frontend:localredis
   ports:
   - containerPort: 80
 - name: redis                     #定义Redis容器,开放6379端口
   image: kubeguide/redis-master
   ports:
   - containerPort: 6379

2、运行kubectl create命令创建Pod

# kubectl create -f frontend-localredis-pod.yaml
pod/redis-php created

3、查看已创建的Pod:

# kubectl get pods
NAME        READY   STATUS              RESTARTS   AGE
redis-php   2/2     ContainerCreating   0          23m

4、查看Pod详细信息,可以看到两个容器的定义和创建过程

# kubectl describe pod redis-php
Name:         redis-php
Namespace:    default                                                  #所在命名空间
Priority:     0                                                                  #优先权
Node:         xu.node1/192.168.31.189                         #运行节点/IP
Start Time:   Mon, 09 Dec 2019 22:51:31 +0800    
Labels:       name=redis-php                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值