需要帮助 运行 两个 OS 容器在 kubernetes 上的单个 pod 中
Need help running two OS containers in a single pod on kubernetes
我对 Kubernetes 还是个新手。我正在尝试在 kubernetes 的同一个 pod 中 运行 一个 ubuntu 容器和一个 linux kali 容器。我还需要能够从浏览器访问这两个容器。我现在的方法是使用安装了 VNC 的 ubuntu 和 kali docker 图像。
这是我尝试使用的 docker 图片:
这是用于创建 pod 的 YAML 文件:
apiVersion: v1
kind: Pod
metadata:
name: training
labels:
app: training
spec:
containers:
- name: kali
image: jgamblin/kalibrowser-lxde
ports:
- containerPort: 6080
- name: centos
image: consol/centos-xfce-vnc
ports:
- containerPort: 5901
问题来了。当我 运行 带有这两个容器的 pod 时,只有 Kali 容器有问题 运行ning,导致它不断重启。
我可以知道如何实现吗?
jgamblin/kalibrowser-lxde 图像需要 tty(显示)分配。
您可以在 docker 中心页面上查看示例命令。
那么您应该在您的 Pod 清单中允许它:
apiVersion: v1
kind: Pod
metadata:
name: training
labels:
app: training
spec:
containers:
- name: kali
image: jgamblin/kalibrowser-lxde
ports:
- containerPort: 6080
tty: true
- name: centos
image: consol/centos-xfce-vnc
ports:
- containerPort: 5901
将tty: true
放入kali容器声明中。
您可以添加一个简单的 sleep 命令在 then 容器中执行以保留它 运行,例如:
apiVersion: v1
kind: Pod
metadata:
name: training
labels:
app: training
spec:
containers:
- name: kali
image: jgamblin/kalibrowser-lxde
ports:
- containerPort: 6080
command: ["bash", "-c"]
args: ["sleep 500"]
- name: centos
image: consol/centos-xfce-vnc
ports:
- containerPort: 5901`
这样 pod 将处于 running
状态:
kubectl get pod
NAME READY STATUS RESTARTS AGE
training 2/2 Running 0 81s
我对 Kubernetes 还是个新手。我正在尝试在 kubernetes 的同一个 pod 中 运行 一个 ubuntu 容器和一个 linux kali 容器。我还需要能够从浏览器访问这两个容器。我现在的方法是使用安装了 VNC 的 ubuntu 和 kali docker 图像。
这是我尝试使用的 docker 图片:
这是用于创建 pod 的 YAML 文件:
apiVersion: v1
kind: Pod
metadata:
name: training
labels:
app: training
spec:
containers:
- name: kali
image: jgamblin/kalibrowser-lxde
ports:
- containerPort: 6080
- name: centos
image: consol/centos-xfce-vnc
ports:
- containerPort: 5901
问题来了。当我 运行 带有这两个容器的 pod 时,只有 Kali 容器有问题 运行ning,导致它不断重启。
我可以知道如何实现吗?
jgamblin/kalibrowser-lxde 图像需要 tty(显示)分配。
您可以在 docker 中心页面上查看示例命令。
那么您应该在您的 Pod 清单中允许它:
apiVersion: v1
kind: Pod
metadata:
name: training
labels:
app: training
spec:
containers:
- name: kali
image: jgamblin/kalibrowser-lxde
ports:
- containerPort: 6080
tty: true
- name: centos
image: consol/centos-xfce-vnc
ports:
- containerPort: 5901
将tty: true
放入kali容器声明中。
您可以添加一个简单的 sleep 命令在 then 容器中执行以保留它 运行,例如:
apiVersion: v1
kind: Pod
metadata:
name: training
labels:
app: training
spec:
containers:
- name: kali
image: jgamblin/kalibrowser-lxde
ports:
- containerPort: 6080
command: ["bash", "-c"]
args: ["sleep 500"]
- name: centos
image: consol/centos-xfce-vnc
ports:
- containerPort: 5901`
这样 pod 将处于 running
状态:
kubectl get pod
NAME READY STATUS RESTARTS AGE
training 2/2 Running 0 81s