k8s 入门实战(1) namesapce pod label deployment service

实战入门1 namespace

同一个ns 之下的pod 可以相互访问,否则不行.资源隔离

第二种资源配额机制.内存 不同的租户占用的资源是不一样的

集群默认创建的ns

 get ns nsName.

describe ns nsName

 资源配额-quota

资源限制-limit

kubectl create ns dev,创建名称空间

deltete ns Nsname,get ns Nsname

 yaml文件方式创建名称空间

 

 namespace 是资源边界,将不同的资源对象进行隔离

实战入门2 POD

根容器 用户容器

 

集群中的组件也是以pod 形式的运行的

创建并运行一个pod 

run  podsControllerName  imgaeNameAndPatameter

pod控制器的名字,即为

deployment

get pods -n Nsname 查看一下

 ready 1/1  有几个容器 运行状态,root容器不统计 

ip是pod Ip,node是指当前pod被调度到哪个节点上运行

get pod -n dev -o  wide ,获取详细信息,

environment: 环境变量

describe  pod podName,获取pod的详细信息  名称空间,节点,标签 注解

events 用来排查错误

k8s 各个组件运行,也是以pod 形式运行的,

describe pod,可以查询pod 的事件信息

 

pod 重新创新ip 地址会改变

查看一下pod 控制器-get deployment 

yaml方式单独运行 创建pod,不会默认创建pod控制器deployment

         实践入门-label

   label 标签,在资源上添加标识,对资源进行区分和选择

ns隔离的pod ,无法直接通信,可以使用label分组

打上标签之后,通过标签选择器,批量选定pod,进行分组

 标签选择器labelSelctor key=? 且value=?

 标签可以混合使用

 --show-labels 查看有么有标签

打上标签 version=1.0

 再次查看

 更新 version=2.0,会提示你 --overwrite.覆盖的意思

 挑选标签 -l "k=v"

删除标签 key- 后面跟上减号,就可以把标签删除了

4 pod 控制器

 pod 是最小的控制单元,但k8s 不会直接控制,一般使用pod控制器(deployment)去控制,

deployment管理pod ,

 

这种情况下,你如果想删除pod,必须先删除pod 控制器,deployment

run 命令即会创建deployment 又会创建pod 

 k8s 名称空间删除,对应的pod 也会被删除

pod 的状态变成 terminating 状态,正在被删除 ,删除需要一定的时间

        

yaml创建Deployment ,template指定pod 创建的模板

 

创建service 

 上面访问pod,使用 curl  ip:port 方式

但是一旦pod挂掉之后,新建的pod ip地址会变,该怎么解决呢?

 解决办法,打标签,新建的pod的标签不会变

 svc要暴露deployment 管理的pod,

 port 访问svc的端口号, target-port 转发到pod的端口号

 svc type=ClusterIP,集群ip,意思是只能在集群内部访问,外部无法访问

把类型改为NodePort ,就可以了  31928是节点的端口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值