есть ли возможность установить curl в busybox в поде kubernetes - PullRequest
1 голос
/ 11 июля 2020

Я использую busybox для обнаружения проблем с сетью в модулях kubernetes v1.18. Я создал busybox следующим образом:

apiVersion: v1
kind: Pod
metadata:
    name: busybox
    namespace: default
spec:
    containers:
    - name: busybox
    image: busybox:1.28
    command:
        - sleep
        - "3600"
    imagePullPolicy: IfNotPresent
    restartPolicy: Always

и войдите в систему, чтобы найти сетевую ситуацию кластеров kubernetes:

 kubectl exec -it busybox /bin/bash

меня удивляет то, что busybox не содержит curl. почему bosybox не упаковал команду curl? Я ищу из inte rnet и не нахожу никаких документов о том, как добавить curl в busybox. Я пытаюсь установить завиток, но не нашел способа сделать это. Можно ли добавить пакет curl в busybox, чтобы я мог его использовать?

Ответы [ 2 ]

3 голосов
/ 11 июля 2020

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

BusyBox построен как единый двоичный файл, который содержит реализации многих распространенных инструментов Linux. Документация BusyBox включает список включенных команд. Вы не можете «установить» в него больше команд, не написав код C.

BusyBox действительно содержит реализацию wget, которая может работать для ваших целей (wget -O- http://other-service).

2 голосов
/ 11 июля 2020

Короткий ответ: вы не можете.

Почему?

Потому что в busybox нет диспетчера пакетов, например: yum, apk или apt-get ..

Фактически у вас есть два решения:

1. Либо используйте модифицированный busybox

. Вы можете использовать другие образы busybox, например progrium / busybox , который предоставляет opkg-install в качестве диспетчера пакетов.

image: progrium/busybox

Тогда:

kubectl exec -it busybox -- opkg-install curl

2. Или, если вы хотите использовать минимальное изображение, вы можете использовать alpine

image: alpine:3.12

, затем:

kubectl exec -it alpine -- apk --update add curl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...