Kubernetes Pod入门(kubernets)

如果是kubeadm创建出来的k8s,创建pod的时候不会把pod创建到master节点上。

而如果是二进制安装的出来的,pod会被创建到任意节点上。

因为,kubeadm创建出来的会把master节点设置了污点功能;

因为会被调度到计算节点上,所以节点上要有对应的镜像。

在工作节点导入镜像;

创建一个pod:

由于没有指定命名空间,会被分配到default的命名空间;而查询pod不指定命名空间就会查询到该命名空间;

查询指定容器的详细信息;

尝试访问这个分配的IP地址:

在其他节点尝试访问:

模拟互联网上的客户端进行访问:

显示访问不到:例如在公网上访问了一个私有地址;

查看pod的日志:

注意:在k8s中有一个最常用的排错工具:

登录pod:

如果不指定pod中的容器,会默认登录到pod的第一个容器中;

在线编辑pod中容器的编排文件:

可以输入set nu显示行号;

为pod中的容器映射端口:

这种方法只是临时性的;

在这期间用其他节点尝试访问:

从pod内拷贝文件到主机上;

如何把主机上的某个文件拷贝到pod中的某个容器:

删除pod:

先指定对象的类型,再指定对象的名称;

再创建一个pod并指定标签和镜像拉取策略:

再创建一个进行对比:

策略设置为Always总是拉取;

查看该pod的描述信息;

写一个编排文件:

后缀名要为.yaml或.yml

注意yaml文件的语法格式;

应用编排文件生成pod:

删除pod:

拉取一个本地写好的资源清单;

即:编排文件;

里面还采用了探针检测:

以另外一种方式执行该资源清单:

可以看出该pod中有两个容器;

再拉取一个关于php的文件;

查看分配的IP;尝试访问;

暴露端口/创建svc(service)

可以看出给到一个集群的地址;加上暴露出来的端口就可以访问了;

但是仍然不能被外部用户访问;

再上翻命令;

加上--type=NodePort的选项

会给到一个端口的映射;

这样就可以用外部的客户端进行访问了;

同时还可以用其他节点的IP进行访问:

大概解释:

外部访问:访问节点的IP加映射的30971;

内部访问:用8080;

直接访问pod的话用80端口;

可以把service当成一个负载均衡器,为pod做负载均衡;

service为用户屏蔽了后端pod的存在,为一个pod或为众多pod构建了一个集群地址。

冒号前8080是集群的端口,而冒号后是给主机的;即:101,102,103的;

Pod的阶段:

pending

running

succeeded

failed

unknown

资源对象的属性写到一起就叫做清单;

将写好的清单拷贝到k8s下面的清单目录;

拷贝到该目录会自动创建出来;

这个目录有什么功能???

希望清单中的对象能够开机自启;就可以放入到该目录中;

里面还有其他文件,查看即可,不要修改;

但是处于该目录中的清单文件,想删除对象(pod或其他对象时)删除文件即可;

只删除对象是删除不掉的;

首先会进入pending状态,然后又会自动running;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值