Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在kubernetes的alertmanager pod中安装curl_Kubernetes - Fatal编程技术网

如何在kubernetes的alertmanager pod中安装curl

如何在kubernetes的alertmanager pod中安装curl,kubernetes,Kubernetes,我想在alertmanger吊舱中使用curl,如下所示: curl www.google.com 它显示了ash:curl:notfound,因此我想安装curl: /alertmanager # apk add curl ash: apk: not found /alertmanager # yum install curl ash: yum: not found /alertmanager # apt install curl ash: apt: not found /alertmana

我想在alertmanger吊舱中使用curl,如下所示:

curl www.google.com
它显示了
ash:curl:notfound
,因此我想安装curl:

/alertmanager # apk add curl
ash: apk: not found
/alertmanager # yum install curl
ash: yum: not found
/alertmanager # apt install curl
ash: apt: not found
/alertmanager # apt-get install curl
ash: apt-get: not found
那么我应该怎么做才能在这个吊舱中安装curl呢?这是我的yaml:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: alertmanager
  namespace: kube-system
  labels:
    addonmanager.kubernetes.io/mode: Reconcile
    k8s-app: alertmanager
    kubernetes.io/cluster-service: 'true'
    version: v0.14.0
  annotations:
    deployment.kubernetes.io/revision: '1'
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: alertmanager
      version: v0.14.0
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s-app: alertmanager
        version: v0.14.0
      annotations:
        scheduler.alpha.kubernetes.io/critical-pod: ''
    spec:
      volumes:
        - name: config-volume
          configMap:
            name: alertmanager-config
            defaultMode: 420
        - name: storage-volume
          persistentVolumeClaim:
            claimName: alertmanager
      containers:
        - name: prometheus-alertmanager
          image: 'prom/alertmanager:v0.14.0'
          args:
            - '--config.file=/etc/config/alertmanager.yml'
            - '--storage.path=/data'
            - '--web.external-url=/'
          ports:
            - containerPort: 9093
              protocol: TCP
          resources:
            limits:
              cpu: 10m
              memory: 50Mi
            requests:
              cpu: 10m
              memory: 50Mi
          volumeMounts:
            - name: config-volume
              mountPath: /etc/config
            - name: storage-volume
              mountPath: /data
          readinessProbe:
            httpGet:
              path: '/#/status'
              port: 9093
              scheme: HTTP
            initialDelaySeconds: 30
            timeoutSeconds: 30
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 3
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
        - name: prometheus-alertmanager-configmap-reload
          image: 'jimmidyson/configmap-reload:v0.1'
          args:
            - '--volume-dir=/etc/config'
            - '--webhook-url=http://localhost:9093/-/reload'
          resources:
            limits:
              cpu: 10m
              memory: 10Mi
            requests:
              cpu: 10m
              memory: 10Mi
          volumeMounts:
            - name: config-volume
              readOnly: true
              mountPath: /etc/config
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      securityContext: {}
      schedulerName: default-scheduler
      priorityClassName: system-cluster-critical
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600
查看alert manager的版本,它使用的是未安装任何软件包管理器的
busybox
。你有两个选择

  • 如果可能,使用
    wget
    代替
    curl
  • 修改alert manager的docker文件以使用
    alpine
    而不是
    busybox
    ,并从修改后的docker文件构建您自己的docker映像。alpine附带了
    apk
    软件包管理器,可通过
    apk add curl
    命令来安装
    curl