mirror of
https://github.com/containers/podman.git
synced 2025-06-14 04:18:06 +08:00

* Refactored code and Makefile to support new docs layout * Removed some old code packaging code * Add Readme.md to document what we're doing Signed-off-by: Jhon Honce <jhonce@redhat.com> Signed-off-by: baude <bbaude@redhat.com>
151 lines
4.0 KiB
Markdown
151 lines
4.0 KiB
Markdown
% podman-generate-kube(1)
|
|
## NAME
|
|
podman-generate-kube - Generate Kubernetes YAML based on a pod or container
|
|
|
|
## SYNOPSIS
|
|
**podman generate kube** [*options*] *container* | *pod*
|
|
|
|
## DESCRIPTION
|
|
**podman generate kube** will generate Kubernetes Pod YAML (v1 specification) from a Podman container or pod. Whether
|
|
the input is for a container or pod, Podman will always generate the specification as a Pod. The input may be in the form
|
|
of a pod or container name or ID.
|
|
|
|
Note that the generated Kubernetes YAML file can be used to re-run the deployment via podman-play-kube(1).
|
|
|
|
## OPTIONS:
|
|
|
|
**--filename**, **-f**=**filename**
|
|
|
|
Output to the given file, instead of STDOUT. If the file already exists, `generate kube` will refuse to replace it and return an error.
|
|
|
|
**--service**, **-s**
|
|
|
|
Generate a Kubernetes service object in addition to the Pods. Used to generate a Service specification for the corresponding Pod output. In particular, if the object has portmap bindings, the service specification will include a NodePort declaration to expose the service. A
|
|
random port is assigned by Podman in the specification.
|
|
|
|
## Examples
|
|
|
|
Create Kubernetes Pod YAML for a container called `some-mariadb` .
|
|
```
|
|
$ sudo podman generate kube some-mariadb
|
|
# Generation of Kubenetes YAML is still under development!
|
|
#
|
|
# Save the output of this file and use kubectl create -f to import
|
|
# it into Kubernetes.
|
|
#
|
|
# Created with podman-0.11.2-dev
|
|
apiVersion: v1
|
|
kind: Pod
|
|
metadata:
|
|
creationTimestamp: 2018-12-03T19:07:59Z
|
|
labels:
|
|
app: some-mariadb
|
|
name: some-mariadb-libpod
|
|
spec:
|
|
containers:
|
|
- command:
|
|
- docker-entrypoint.sh
|
|
- mysqld
|
|
env:
|
|
- name: PATH
|
|
value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
- name: TERM
|
|
value: xterm
|
|
- name: HOSTNAME
|
|
- name: container
|
|
value: podman
|
|
- name: GOSU_VERSION
|
|
value: "1.10"
|
|
- name: GPG_KEYS
|
|
value: "199369E5404BD5FC7D2FE43BCBCB082A1BB943DB \t177F4010FE56CA3336300305F1656F24C74CD1D8
|
|
\t430BDF5C56E7C94E848EE60C1C4CBDCDCD2EFD2A \t4D1BB29D63D98E422B2113B19334A25F8507EFA5"
|
|
- name: MARIADB_MAJOR
|
|
value: "10.3"
|
|
- name: MARIADB_VERSION
|
|
value: 1:10.3.10+maria~bionic
|
|
- name: MYSQL_ROOT_PASSWORD
|
|
value: x
|
|
image: quay.io/baude/demodb:latest
|
|
name: some-mariadb
|
|
ports:
|
|
- containerPort: 3306
|
|
hostPort: 36533
|
|
protocol: TCP
|
|
resources: {}
|
|
securityContext:
|
|
allowPrivilegeEscalation: true
|
|
privileged: false
|
|
readOnlyRootFilesystem: false
|
|
tty: true
|
|
workingDir: /
|
|
status: {}
|
|
```
|
|
|
|
Create Kubernetes Pod YAML for a pod called `demoweb` and include a service.
|
|
```
|
|
$ sudo podman generate kube -s demoweb
|
|
# 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-0.12.2-dev
|
|
apiVersion: v1
|
|
kind: Pod
|
|
metadata:
|
|
creationTimestamp: 2018-12-18T15:16:06Z
|
|
labels:
|
|
app: demoweb
|
|
name: demoweb-libpod
|
|
spec:
|
|
containers:
|
|
- command:
|
|
- python3
|
|
- /root/code/graph.py
|
|
env:
|
|
- name: PATH
|
|
value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
- name: TERM
|
|
value: xterm
|
|
- name: HOSTNAME
|
|
- name: container
|
|
value: podman
|
|
image: quay.io/baude/demoweb:latest
|
|
name: practicalarchimedes
|
|
resources: {}
|
|
securityContext:
|
|
allowPrivilegeEscalation: true
|
|
capabilities: {}
|
|
privileged: false
|
|
readOnlyRootFilesystem: false
|
|
tty: true
|
|
workingDir: /root/code
|
|
status: {}
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
creationTimestamp: 2018-12-18T15:16:06Z
|
|
labels:
|
|
app: demoweb
|
|
name: demoweb-libpod
|
|
spec:
|
|
ports:
|
|
- name: "8050"
|
|
nodePort: 31269
|
|
port: 8050
|
|
protocol: TCP
|
|
targetPort: 0
|
|
selector:
|
|
app: demoweb
|
|
type: NodePort
|
|
status:
|
|
loadBalancer: {}
|
|
```
|
|
|
|
## SEE ALSO
|
|
podman(1), podman-container(1), podman-pod(1), podman-play-kube(1)
|
|
|
|
## HISTORY
|
|
December 2018, Originally compiled by Brent Baude (bbaude at redhat dot com)
|