为什么使用kubernetes yaml文件无法复制Podman Pod?

问题描述

我在RedHat博客文章之后创建了一个pod,并使用YAML文件创建了一个后续pod

帖子:https://www.redhat.com/sysadmin/compose-podman-pods

使用命令创建pod时,pod工作正常(可以访问localhost:8080)

使用YAML文件创建广告连播时,我得到error 403 forbidden

我已经在两个不同的主机上进行了尝试(从头开始创建pod并使用YAML),每次都删除所有图像和pod,以确保没有任何影响该过程的

我在podman 2.0.4上使用Ubuntu 20.04

命令:

podman create --name wptestpod -p 8080:80

podman run \
-d --restart=always --pod=wptestpod \
-e MYSQL_ROOT_PASSWORD="myrootpass" \
-e MYSQL_DATABASE="wp" \
-e MYSQL_USER="wordpress" \
-e MYSQL_PASSWORD="w0rdpr3ss" \
--name=wptest-db mariadb


podman run \
-d --restart=always --pod=wptestpod \
-e WORDPRESS_DB_NAME="wp" \
-e WORDPRESS_DB_USER="wordpress" \
-e WORDPRESS_DB_PASSWORD="w0rdpr3ss" \
-e WORDPRESS_DB_HOST="127.0.0.1" \
--name wptest-web wordpress

来自podman generate kube wptestpod > wptestpod.yaml的原始YAML文件:

# Generation of Kubernetes YAML is still under development!
#
# Save the output of this file and use kubectl create -f to import
# it into Kubernetes.
#
# Created with podman-2.0.4
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: '2020-08-26T17:02:56Z'
  labels:
    app: wptestpod
  name: wptestpod
spec:
  containers:
    - command:
        - apache2-foreground
      env:
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        - name: TERM
          value: xterm
        - name: container
          value: podman
        - name: WORDPRESS_DB_NAME
          value: wp
        - name: WORDPRESS_DB_USER
          value: wordpress
        - name: APACHE_CONFDIR
          value: /etc/apache2
        - name: PHP_LDFLAGS
          value: -Wl,-O1 -pie
        - name: PHP_VERSION
          value: 7.4.9
        - name: PHP_EXTRA_CONFIGURE_ARGS
          value: --with-apxs2 --disable-cgi
        - name: GPG_KEYS
          value: 42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312
        - name: WORDPRESS_DB_PASSWORD
          value: t3stp4ssw0rd
        - name: APACHE_ENVVARS
          value: /etc/apache2/envvars
        - name: PHP_ASC_URL
          value: https://www.php.net/distributions/php-7.4.9.tar.xz.asc
        - name: PHP_SHA256
          value: 23733f4a608ad1bebdcecf0138ebc5fd57cf20d6e0915f98a9444c3f747dc57b
        - name: PHP_URL
          value: https://www.php.net/distributions/php-7.4.9.tar.xz
        - name: WORDPRESS_DB_HOST
          value: 127.0.0.1
        - name: PHP_CPPFLAGS
          value: -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
        - name: PHP_MD5
        - name: PHP_EXTRA_BUILD_DEPS
          value: apache2-dev
        - name: PHP_CFLAGS
          value: -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
        - name: WORDPRESS_SHA1
          value: 03fe1a139b3cd987cc588ba95fab2460cba2a89e
        - name: PHPIZE_DEPS
          value: "autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
        - name: WORDPRESS_VERSION
          value: '5.5'
        - name: PHP_INI_DIR
          value: /usr/local/etc/php
        - name: HOSTNAME
          value: wptestpod
      image: docker.io/library/wordpress:latest
      name: wptest-web
      ports:
        - containerPort: 80
          hostPort: 8080
          protocol: TCP
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities: {}
        privileged: false
        readOnlyRootFilesystem: false
        seLinuxOptions: {}
      workingDir: /var/www/html
    - command:
        - mysqld
      env:
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        - name: TERM
          value: xterm
        - name: container
          value: podman
        - name: MYSQL_PASSWORD
          value: t3stp4ssw0rd
        - name: GOSU_VERSION
          value: '1.12'
        - name: GPG_KEYS
          value: 177F4010FE56CA3336300305F1656F24C74CD1D8
        - name: MARIADB_MAJOR
          value: '10.5'
        - name: MYSQL_ROOT_PASSWORD
          value: t3stp4ssw0rd
        - name: MARIADB_VERSION
          value: 1:10.5.5+maria~focal
        - name: MYSQL_DATABASE
          value: wp
        - name: MYSQL_USER
          value: wordpress
        - name: HOSTNAME
          value: wptestpod
      image: docker.io/library/mariadb:latest
      name: wptest-db
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities: {}
        privileged: false
        readOnlyRootFilesystem: false
        seLinuxOptions: {}
      workingDir: /
status: {}
---
metadata:
  creationTimestamp: null
spec: {}
status:
  loadBalancer: {}

已删除某些环境的YAML文件(摘自博客文章):

# Generation of Kubernetes YAML is still under development!
#
# Save the output of this file and use kubectl create -f to import
# it into Kubernetes.
#
# Created with podman-1.9.3
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2020-07-01T20:17:42Z"
  labels:
    app: wptestpod
  name: wptestpod
spec:
  containers:
  - name: wptest-web
    env:
    - name: WORDPRESS_DB_NAME
      value: wp
    - name: WORDPRESS_DB_HOST
      value: 127.0.0.1
    - name: WORDPRESS_DB_USER
      value: wordpress
    - name: WORDPRESS_DB_PASSWORD
      value: w0rdpr3ss
    image: docker.io/library/wordpress:latest
    ports:
    - containerPort: 80
      hostPort: 8080
      protocol: TCP
    resources: {}
    securityContext:
      allowPrivilegeEscalation: true
      capabilities: {}
      privileged: false
      readOnlyRootFilesystem: false
      seLinuxOptions: {}
    workingDir: /var/www/html
  - name: wptest-db
    env:
    - name: MYSQL_ROOT_PASSWORD
      value: myrootpass
    - name: MYSQL_USER
      value: wordpress
    - name: MYSQL_PASSWORD
      value: w0rdpr3ss
    - name: MYSQL_DATABASE
      value: wp
    image: docker.io/library/mariadb:latest
    resources: {}
    securityContext:
      allowPrivilegeEscalation: true
      capabilities: {}
      privileged: false
      readOnlyRootFilesystem: false
      seLinuxOptions: {}
    workingDir: /
status: {}

谁能看到为什么使用YAML文件创建此pod时不起作用,但是使用命令创建时为何能正常工作的原因?看起来不错的工作流程,但是如果使用YAML制作的广告连播无法正常工作,那就没用了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)