云网牛站
所在位置:首页 > Linux云服务器 > 在Kubernetes/OpenShift中部署Ubuntu Pod

在Kubernetes/OpenShift中部署Ubuntu Pod

2020-11-20 15:26:00作者:戴进稿源:云网牛站

本文介绍在Kubernetes或OpenShift集群中创建单个Ubuntu Pod。在Kubernetes中,一个Pod是一个或多个容器的组,具有共享的存储/网络资源,以及有关如何运行容器的规范。当Pod运行单个容器时,您可以将其视为单个容器的包装,Kubernetes管理Pod而不是直接管理容器。在文中,我们将研究如何在Kubernetes或OpenShift集群中部署Ubuntu Pod。这可以用于调试目的,也可以仅测试与命名空间中其他Pod和Services的网络连接。

 

前言

由于Pods被设计为相对短暂的和一次性的实体,因此永远不要通过直接创建Pods来运行生产容器工作负载,而是使用工作负荷资源创建它们。

我们将使用最新标签从Ubuntu docker映像创建一个sleep容器,以下是Pod创建YAML的内容:

apiVersion: v1

kind: Pod

metadata:

 name: ubuntu

 labels:

  app: ubuntu

spec:

 containers:

 - name: ubuntu

  image: ubuntu:latest

  command: ["/bin/sleep", "3650d"]

  imagePullPolicy: IfNotPresent

 restartPolicy: Always

您可以在kubectl命令下面运行,以在当前名称空间中部署Pod:

cat <<EOF | kubectl apply -f -

apiVersion: v1

kind: Pod

metadata:

 name: ubuntu

 labels:

  app: ubuntu

spec:

 containers:

 - name: ubuntu

  image: ubuntu:latest

  command: ["/bin/sleep", "3650d"]

  imagePullPolicy: IfNotPresent

 restartPolicy: Always

EOF

参考:安装及使用kubectl、kubectx和kubens轻松管理多个Kubernetes集群

预期产量:

pod/ubuntu created

检查Pod的状态:

$ kubectl get pod ubuntu

在Kubernetes/OpenShift中部署Ubuntu Pod

 

进入Pod的shell

一旦确认Pod正在运行,就可以使用kubectl或oc命令访问其Shell会话。

使用kubectl命令:

kubectl exec --stdin --tty ubuntu -- /bin/bash

要退出shell,请使用exit命令:

root@ubuntu:/# exit

exit

使用oc命令:

$ oc rsh  --shell=/bin/bash ubuntu

root@ubuntu:/# exit

exit

 

在Ubuntu Pod中安装软件包

您可以使用标准的ubuntu apt软件包管理工具来安装和删除软件包。

下面的示例将telnet安装到Ubuntu容器中:

$ kubectl exec --stdin --tty ubuntu -- /bin/bash

root@ubuntu:/# apt update

root@ubuntu:/# apt install telnet

Reading package lists... Done

Building dependency tree       

Reading state information... Done

The following additional packages will be installed:

netbase

The following NEW packages will be installed:

netbase telnet

0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded.

Need to get 77.2 kB of archives.

After this operation, 207 kB of additional disk space will be used.

Do you want to continue? [Y/n] y

确认我们可以使用已安装的telnet:

root@ubuntu:/# telnet 10.10.6.5   8080

Trying 10.10.6.5...

Connected to 10.10.6.5.

Escape character is '^]'.

telnet> quit

Connection closed.

至此,我们已经确认我们的Pod可用。

 

相关主题

在Docker中运行本地Kubernetes集群

精选文章
热门文章