Pod简单练习

作者: 夜醉梦紅尘 | 来源:发表于2019-12-09 21:07 被阅读0次
Pod示例图

kubernetes 对象
1.静态
nodeName
nodeSelector

apiversion
kind

2.持久化
- yaml 文件实现
3.方法
create
get
update
delete

Pod
nodeSelector:
kubectl label node xxxnode key=val

shareProcessNamespace: true

hostNetwork: true
hostPID
hostIPC

hostAliases:
ip: x.x.x.x
hostname:
- host1
- host2
# /etc/hosts
# x.x.x.x host1 host2

定义Pod

[root@rourou ~] vim nginx-busybox.yaml
apiVersion: v1
  kind: Pod
  metadata:  # pod 的源数据信息,可以写多个
    name: nginx-busybox # pod 的名字
spec:
  containers:
  - name: nginx  # 容器的名字
    image: nginx:alpine  # 镜像的名字
    ports:
    - containerPort: 80
  - name: busybox
    image: busybox
    command: ["/bin/sh"]
    args: ["-c", "while true; do echo hello; sleep 10;done"]

[root@rourou ~]kubectl create -f nginx-busybox.yaml 
#创建pod

查看pod

kubectl get pods 
NAME                    READY   STATUS    RESTARTS   AGE
nginx-busybox           2/2     Running   0          29m
test-projected-volume   1/1     Running   0          159m

#给查看同样支持3中格式
kubectl get pods -o wide 
kubectl get pods -o json
kubectl get pods -o yaml 

列出详细信息

1 kubectl describe pods nginx-busybox

2 kubectl get events
LAST SEEN   TYPE     REASON      OBJECT              MESSAGE
<unknown>   Normal   Scheduled   pod/nginx-busybox   Successfully assigned default/nginx-busybox to k8s-node2
6m40s       Normal   Pulled      pod/nginx-busybox   Container image "nginx:alpine" already present on machine

######################################或者##############################
kubectl describe pods nginx-busybox

进入指定容器
kubectl exec -it pod名称 -c 容器名称 sh

kubectl exec -it nginx-busybox -c nginx sh 

或者在容器中执行命令并将及如果返回终端
kubectl exec nginx-busybox -c nginx   ls /

#-c   指定容器

多个pods实例

指定节点创建pod

apiVersion: v1
kind: Pod
metadata:  # pod 的源数据信息,可以写多个
  name: nginx-busybox # pod 的名字
spec:
  nodeSelector:
    disktype: ssd
  containers:
  - name: nginx  # 容器的名字
    image: nginx:alpine  # 镜像的名字
    ports:
    - containerPort: 80
  - name: busybox
    image: busybox
    command: ["/bin/sh"]
    args: ["-c", "while true; do echo hello; sleep 10;done"]

修改pod的容器的hosts文件

apiVersion: v1
kind: Pod
metadata:  # pod 的源数据信息,可以写多个
  name: nginx-hosts # pod 的名字
spec:
  hostAliases:
  - ip: "10.0.122.126"
    hostnames:
    - "rourou1.remote"
    - "rourou2.remote"
  containers:
  - name: nginx  # 容器的名字
    image: nginx:alpine  # 镜像的名字
    ports:
    - containerPort: 80
  - name: busybox
    image: busybox
    command: ["/bin/sh"]
    args: ["-c", "while true; do echo hello; sleep 10;done"]

#本实验的client与server的版本皆为v1.16.0,得到的/etc/hosts的结果
10.0.122.126        rourou1.remote     rourou2.remote

指定namespace创建pod

apiVersion: v1
kind: Pod
metadata:
  name: nginx-namespace
  namespace: demo
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 8

#指定namespace为demo
kubectl get pods --namespace demo  即可查看指定namespace下的pods
若是使用kubectl get pods则为默认的namespace,不会显示demo下的pods

创建的容器之间共享进程、

apiVersion: v1
kind: Pod
metadata:  # pod 的源数据信息,可以写多个
  name: nginx-share # pod 的名字
spec:
  shareProcessNamespace: true
  containers:
  - name: nginx  # 容器的名字
    image: nginx:alpine  # 镜像的名字
    ports:
    - containerPort: 80
  - name: busybox
    image: busybox
    stdin: true
    tty: true
#在busybox中可以查看到nginx的进程

创建的容器共享宿主机的进程等

apiVersion: v1
kind: Pod
metadata:  # pod 的源数据信息,可以写多个
  name: nginx-share-host # pod 的名字
spec:
  hostNetwork: true
  hostIPC: true
  hostPID: true
  containers:
  - name: nginx  # 容器的名字
    image: nginx:alpine  # 镜像的名字
    ports:
    - containerPort: 8080
  - name: busybox
    image: busybox
    stdin: true
    tty: true
#注意:与主机共享进程时不能指定80端口,否则创建容器时一直处于panding状态

相关文章

  • Pod简单练习

    kubernetes 对象1.静态nodeNamenodeSelector 2.持久化- yaml 文件实现3.方...

  • Pod练习

    定义Pod 查看pod 列出详细信息 进入指定容器 多个pods实例 指定节点创建pod 修改pod的容器的hos...

  • Pod练习(二)

    本文所实验的Pod: 实例: 使用configmap进行的挂载,mountPath所指的路径有就覆盖,没有就创建。...

  • Learn RxSwift---1.简单使用和常见事件

    1.初窥 简单使用 pod 'RxSwift' 基础框架 pod 'RxCocoa' 基于cocoa UIKit ...

  • 2020-07-31 深入理解Pod对象

    1. Pod基本概念 pod是kubernetes最基本的执行单元(最小、最简单的单元),pod表示在集群上运行的...

  • pod

    ## POD 类型 当某一类或结构同时为普通和标准布局时,该类或结构为 POD(简单旧数据)类型。 因此,POD ...

  • pod不了最新第三方库,cocopod能检测出本地库有最新版本,

    最简单快捷的方法,把中间的pod文件全部删除, 然后执行 pod install --verbose --no-r...

  • 创建私有Pod库流程简单梳理

    创建私有Pod库流程简单梳理 创建私有库的索引库(默认被pod管理的公开库的索引都在pod的github仓库,此地...

  • k8s pod qos

    简单总结 qos分类 如果pod中所有容器都未设置request和liimit,则为besteffort如果pod...

  • pod install VS pod update

    简单总结 pod install 每次运行pod install命令的时候,在下载、安装新的库的同时,也会把你安装...

网友评论

    本文标题:Pod简单练习

    本文链接:https://www.haomeiwen.com/subject/vgsbgctx.html