小编Nic*_*ick的帖子

每次部署只运行一次初始化容器

我在部署中使用 initContainers。为每个 Pod 创建一个 init 容器。

是否可以为整个部署只获得一个 init 容器?

编辑:

用例:需要在创建 pod 之前运行一些数据库迁移命令。所以我将这些命令放在 init pods 中。

问题: - 每次创建 Pod 时,都会创建 init 容器 - 向上扩展时会创建 init 容器

解决方案:我终于在这篇文章中找到了一个很好的例子来解决这个问题

kubernetes

10
推荐指数
1
解决办法
1610
查看次数

问题 - 具有多个活动 ReplicaSet 的 Kubernetes 部署

我有一个 Kubernetes 部署,它是两个具有不同配置的 ACTIVE ReplicaSet 的所有者/父级。

此设置由 Helm 管理。

我已经尝试过制作revisionHistory: 0. 这不起作用,因为 ReplicaSet 并未处于非活动状态。这个旧的 ReplicaSet 尝试启动一个 Pod,但由于节点上的资源限制,它仍处于挂起状态。

我尝试更新 Deployment,但只更新了新的 ReplicaSet。旧的还是一样。

我也无法删除此 ReplicaSet。这给我带来了很多麻烦。

有人可以帮我解决这个问题吗?

Helm 部署模板 -

apiVersion: apps/v1
kind: Deployment
metadata:
  name: example
  namespace: kube-system
spec:
  selector:
    matchLabels:
      k8s-app: example
  replicas: 1
  template:
    metadata:
      labels:
        k8s-app: example
    spec:
      serviceAccountName: example
      nodeSelector:
        node-role: example-node
      containers:
      - name: example
        image: example-image:vX.X.X
        resources:
          requests:
            cpu: 100m
        ports:
        - name: example-port
          containerPort: XXXX
        - name: example-port-1
          containerPort: XXXX
        readinessProbe:
          httpGet:
            path: /example …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-helm

6
推荐指数
1
解决办法
5152
查看次数

从 alpine 基础镜像创建 docker 镜像时如何添加用户

当我在 bash 模式下运行容器时,我想将用户www-data添加为默认用户。

目前,当我输入 WHOAMI 时,它显示root用户,但我需要www-data用户,如何在 docker 中执行此操作。

在此输入图像描述

这是我的泊坞窗文件:

    FROM php:7.2-fpm-alpine

LABEL maintainer="y.ghorecha@abc.de" \
      muz.customer="xxx" \
      muz.product="WIDC" \
      container.mode="production"

#https://pkgs.alpinelinux.org/packages
RUN apk add --no-cache --virtual .deps autoconf tzdata build-base libzip-dev mysql-dev gmp-dev \
            libxml2-dev libpng-dev zlib-dev freetype-dev jpeg-dev icu-dev openldap-dev libxslt-dev &&\
    docker-php-ext-install zip xml mbstring json intl gd pdo pdo_mysql iconv soap \
                           dom gmp fileinfo sockets bcmath mysqli ldap xsl &&\
    echo 'date.timezone="Europe/Berlin"' >> "${PHP_INI_DIR}"/php.ini &&\
    cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime &&\
    echo 'Europe/Berlin' > …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile alpine-linux

4
推荐指数
1
解决办法
1万
查看次数

有和没有主机的入口

真的很难理解和调试 ingress 的规则。谁能分享一个好的参考?

问题是入口如何在不指定主机的情况下工作?

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      annotations:
         nginx.ingress.kubernetes.io/force-ssl-redirect: \"false\"
      name: my-app
    spec:
      rules:
        http:
          paths:
          - backend:
            path: /
              serviceName: my-app
              servicePort: http
Run Code Online (Sandbox Code Playgroud)

分配主机(例如- host: aws-dsn-name.org)后,它不起作用。更改路径后path: /v1/也不起作用:(。

如何调试/检查映射是否正确完成?

此外,何时使用extensions/v1beta1networking.k8s.io/v1beta1

kubernetes-ingress nginx-ingress

3
推荐指数
1
解决办法
4781
查看次数

如何获取特定pod或容器的状态:kubectl使用jsonpath获取pod

我有来自kubernetes的这个json输出从kubectl get pods -o jsonpath = {.items [*]}得到它

    <json>

    {
        "apiVersion": "v1",
        "items": [
            {
                "apiVersion": "v1",
                "kind": "Pod",
                "metadata": {
                    "annotations": {
                        "kubernetes.io/created-by": "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicaSet\",\"namespace\":\"default\",\"name\":\"some-appdeployment-1780875823\",\"uid\":\"7180b966-7ec1-11e7-9981-305a3ae15081\",\"apiVersion\":\"extensions\",\"resourceVersion\":\"16711638\"}}\n"
                    },
                    "creationTimestamp": "2017-08-11T18:18:15Z",
                    "generateName": "some-appdeployment-1780875823-",
                    "labels": {
                        "app": "myapp-auth-some-app",
                        "pod-template-hash": "1780875823"
                    },
                    "name": "some-appdeployment-1780875823-59p06",
                    "namespace": "default",
                    "ownerReferences": [
                        {
                            "apiVersion": "extensions/v1beta1",
                            "controller": true,
                            "kind": "ReplicaSet",
                            "name": "some-appdeployment-1780875823",
                            "uid": "7180b966-7ec1-11e7-9981-305a3ae15081"
                        }
                    ],
                    "resourceVersion": "16711688",
                    "selfLink": "/api/v1/namespaces/default/pods/some-appdeployment-1780875823-59p06",
                    "uid": "71829a96-7ec1-11e7-9981-305a3ae15081"
                },
                "spec": {
                    "containers": [
                        {
                            "env": [
                                {
                                    "name": "PROFILE",
                                    "value": "dev"
                                }
                            ],
                            "image": "dockerrepo/myapp-auth-some-app:6",
                            "imagePullPolicy": …
Run Code Online (Sandbox Code Playgroud)

jsonpath kubernetes kubectl

1
推荐指数
3
解决办法
9504
查看次数