Kubernetes的Pod资源使用方法

[复制链接]

1275

主题

1275

帖子

1013

积分

金牌会员

Rank: 6Rank: 6

积分
1013
分享到:
发表于 2022-6-27 10:15:20 | 显示全部楼层 |阅读模式
Pod特点k8s的最小管理单元一组容器的集合一个Pod中的容器共享网络命令空间Pod是短暂的Pod容器分类1.infrastructure container 基础容器(维护整个Pod网络空间)
node节点操作#查看容器的网络cat /opt/kubernetes/cfg/kubelet#每次创建Pod时候就会创建,与Pod对应的,对于用户是透明的,网络组件会被自动加载成一个组件提供出去docker ps2.initcontainers 初始化容器
pod在进行创建时一定会被执行当中的初始化initcontainers,在老版本中执行时不会区分前后顺序(在系统进行加载时PID号数字越小,优先级别越高,越先被启动),随着云平台的改进,启动模式改为主机形式,分隔出的初始化容器会被优先加载,在初始化容器加载完成之后后面的业务容器才能正常接着运行3.container 业务容器,并行启动
示例:
Init containers in use

This example defines a simple Pod that has two init containers. The first waits for myservice, and the second waits for mydb. Once both init containers complete, the Pod runs the app container from its spec section.apiVersion: v1kind: Podmetadata: name: myapp-pod labels: ?app: myappspec: containers: - name: myapp-container ?image: busybox:1.28 ?command: ['sh', '-c', 'echo The app is running! && sleep 3600'] initContainers: - name: init-myservice ?image: busybox:1.28 ?command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;'] - name: init-mydb ?image: busybox:1.28 ?command: ['sh', '-c', 'until nslookup mydb; do echo waiting for mydb; sleep 2; done;']镜像拉取策略(image PullPolicy)IfNotPresent:默认值,镜像在宿主机上不存在时才拉取Always:每次创建Pod都会重新拉取一次镜像Never:Pod永远不会主动拉取这个镜像示例:
Verify by creating a pod that uses a private image, e.g.:kubectl apply -f - <<EOFapiVersion: v1kind: Podmetadata: name: private-image-test-1spec: containers: ?- name: uses-private-image ??image: $PRIVATE_IMAGE_NAME ??imagePullPolicy: Always ??command: [ "echo", "SUCCESS" ]EOF在master1端操作kubectl get podskubectl edit deployment/nginxcd demo/vim pod1.yamlapiVersion: v1kind: Podmetadata: name: mypodspec: containers: ?- name: nginx ??image: nginx ??imagePullPolicy: Always ??command: [ "echo", "SUCCESS" ]kubectl create -f pod1.yaml kubectl get pods#此时会出现CrashLoopBackOff创建之后又关闭的状态提示#失败的状态的原因是因为命令启动冲突#删除 command: [ "echo", "SUCCESS" ]#同时更改一下版本image: nginx:1.14#删除原有的资源kubectl delete -f pod1.yaml #更新资源kubectl apply -f pod1.yaml #查看分配节点kubectl get pods -o wideNAME ????READY ?STATUS ?RESTARTS ?AGE ??IP ?????NODE ?????NOMINATED NODEmypod ????1/1 ??Running ?0 ????1m42s ?172.17.56.3 ?192.168.142.130 <none>#在任意node节点使用curl查看头部信息curl -I 172.17.56.3HTTP/1.1 200 OKServer: nginx/1.14.2Date: Sat, 18 Feb 2020 19:32:55 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Tue, 04 Dec 2018 14:44:49 GMTConnection: keep-aliveETag: "5c0692e1-264"Accept-Ranges: bytes谢谢阅读!

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表