Как создать один под Ubuntu в кластере Kubernetes или OpenShift ?

В Kubernetes под — это группа из одного или нескольких контейнеров с общим хранилищем/сетевыми ресурсами и спецификацией того, как запускать контейнеры.

☸️ Kubernetes — введение для начинающих

Когда под запускает один контейнер, вы можете подумать о нем как об оболочке вокруг одного контейнера.

Kubernetes управляет подами, а не контейнерами напрямую.

В этом руководстве мы рассмотрим, как развернуть Ubuntu в кластере Kubernetes или OpenShift.

Это может быть нужно в целях отладки или просто для тестирования сетевого подключения к другим подам и службам в пространстве имен.

Поскольку поды спроектированы как относительно эфемерные и одноразовые объекты, вам никогда не следует запускать рабочие нагрузки производственных контейнеров, создавая поды напрямую.

Вместо этого создайте их, используя ресурсы рабочей нагрузки, такие как развертывание (Deployment).

☸️ Шпаргалка по Kubernetes Deployment

Мы создадим контейнер sleep из образа докера Ubuntu, используя тег latest.
Ниже представлено содержимое 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, чтобы развернуть под

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

Ожидаемый результат:

pod/ubuntu created

Проверьте статус пода:

$ kubectl get pod ubuntu
NAME     READY   STATUS    RESTARTS   AGE
ubuntu   1/1     Running   0          34s

Доступ к оболочке пода Kubernetes

Убедившись, что под запущен, вы можете получить доступ к его сеансу оболочки с помощью команды kubectl или oc.

Используя команду kubectl:

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

Чтобы выйти из оболочки, используйте команду exit:

root@ubuntu:/# exit
exit

Используя команду oc:

$ oc rsh  --shell=/bin/bash ubuntu
root@ubuntu:/# exit
exit

Установка пакетов в поде Ubuntu

Вы можете использовать стандартный инструмент управления пакетами 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 '^]'.
E��^]
telnet> quit
Connection closed.

 

Поделитесь статьей:

Добавить комментарий