十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇文章给大家分享的是有关怎样发布容器到K8S集群中,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
专注于为中小企业提供成都做网站、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业兰州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
今天在 K8S 集群中跑一个容器化应用。
使用 nginx 的官方容器镜像。
镜像有了,我们如何将其提交给 K8S 运行呢,有两种方式:
命令行方式(不推荐)。
配置文件方式(推荐)。
这里使用官方推荐的第二种方式,即通过将容器的各种信息写入配置文件提交给 K8S。
创建一个 nginx.yaml 文件
[root@master01 ~]# cat nginx.yaml apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 hostAliases: - ip: "10.20.20.20" hostnames: - "test1.com" - "test2.com"
[root@master01 ~]# kubectl apply -f nginx.yaml pod/nginx created
[root@master01 ~]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx 1/1 Running 0 93s 192.10.205.195 work01
所有重要操作,都会被记录在kubectl describe 指令返回的 Events 里,用于 DEBUG
[root@master01 ~]# kubectl describe pod nginx Name: nginx Namespace: default Priority: 0 Node: work03/192.168.10.17 IP: 192.10.137.130 .....省略...... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduleddefault-scheduler Successfully assigned default/nginx to work03 Normal Pulled 74s kubelet, work03 Container image "nginx:1.7.9" already present on machine Normal Created 73s kubelet, work03 Created container nginx Normal Started 73s kubelet, work03 Started container nginx
# 修改 nginx.yaml image: nginx:1.9.0 # 提交给 K8S # kubectl apply -f nginx.yaml
[root@master01 ~]# kubectl delete -f nginx.yaml pod "nginx" deleted [root@master01 ~]# kubectl get pods No resources found in default namespace.
参数定义,分为 metadata 和 Spec 两部分: metadata 存放元数据 Spec 存放这个对象独有的定义,用于描述它要表达的功能
kind: Pod 指明是一个 Pod 类型的API对象,该对象操作管理另一种 API 对象即Pod metadata API 对象的标识,即这个 Pod 的标识 spec.containers 表明是一个容器相关参数 spec.hostAliases 给容器的 /etc/hosts 文件中增加解析
[root@master01 ~]# kubectl explain Pod
以上就是怎样发布容器到K8S集群中,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。