本文介绍在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
进入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可用。
相关主题 |