...

Text file src/k8s.io/kubernetes/test/kubemark/resources/hollow-node_template.yaml

Documentation: k8s.io/kubernetes/test/kubemark/resources

     1apiVersion: v1
     2kind: ReplicationController
     3metadata:
     4  name: hollow-node
     5  labels:
     6    name: hollow-node
     7    {{kubemark_mig_config}}
     8spec:
     9  replicas: {{numreplicas}}
    10  selector:
    11    name: hollow-node
    12  template:
    13    metadata:
    14      labels:
    15        name: hollow-node
    16        {{kubemark_mig_config}}
    17    spec:
    18      initContainers:
    19      - name: init-inotify-limit
    20        image: busybox:1.32
    21        command: ['sysctl', '-w', 'fs.inotify.max_user_instances=1000']
    22        securityContext:
    23          privileged: true
    24      volumes:
    25      - name: kubeconfig-volume
    26        secret:
    27          secretName: kubeconfig
    28      - name: kernelmonitorconfig-volume
    29        configMap:
    30          name: node-configmap
    31      - name: logs-volume
    32        hostPath:
    33          path: /var/log
    34      - name: containerd
    35        hostPath:
    36          path: /run/containerd
    37      - name: no-serviceaccount-access-to-real-master
    38        emptyDir: {}
    39      containers:
    40      - name: hollow-kubelet
    41        image: {{kubemark_image_registry}}/kubemark:{{kubemark_image_tag}}
    42        ports:
    43        - containerPort: 4194
    44        - containerPort: 10250
    45        - containerPort: 10255
    46        env:
    47        - name: NODE_NAME
    48          valueFrom:
    49            fieldRef:
    50              fieldPath: metadata.name
    51        command: [
    52          "/go-runner",
    53          "-log-file=/var/log/kubelet-$(NODE_NAME).log",
    54          "/kubemark",
    55          "--morph=kubelet",
    56          "--name=$(NODE_NAME)",
    57          "--kubeconfig=/kubeconfig/kubelet.kubeconfig",
    58          "--node-labels={{hollow_node_labels}}",
    59          {{hollow_kubelet_params}}
    60        ]
    61        volumeMounts:
    62        - name: kubeconfig-volume
    63          mountPath: /kubeconfig
    64          readOnly: true
    65        - name: logs-volume
    66          mountPath: /var/log
    67        - name: containerd
    68          mountPath: /run/containerd
    69        resources:
    70          requests:
    71            cpu: {{hollow_kubelet_millicpu}}m
    72            memory: {{hollow_kubelet_mem_Ki}}Ki
    73        securityContext:
    74          privileged: true
    75      - name: hollow-proxy
    76        image: {{kubemark_image_registry}}/kubemark:{{kubemark_image_tag}}
    77        env:
    78        - name: NODE_NAME
    79          valueFrom:
    80            fieldRef:
    81              fieldPath: metadata.name
    82        command: [
    83          "/go-runner",
    84          "-log-file=/var/log/kubeproxy-$(NODE_NAME).log",
    85          "/kubemark",
    86          "--morph=proxy",
    87          "--name=$(NODE_NAME)",
    88          "--kubeconfig=/kubeconfig/kubeproxy.kubeconfig",
    89          {{hollow_proxy_params}}
    90        ]
    91        volumeMounts:
    92        - name: kubeconfig-volume
    93          mountPath: /kubeconfig
    94          readOnly: true
    95        - name: logs-volume
    96          mountPath: /var/log
    97        resources:
    98          requests:
    99            cpu: {{hollow_proxy_millicpu}}m
   100            memory: {{hollow_proxy_mem_Ki}}Ki
   101      - name: hollow-node-problem-detector
   102        image: registry.k8s.io/node-problem-detector/node-problem-detector:v0.8.16
   103        env:
   104        - name: NODE_NAME
   105          valueFrom:
   106            fieldRef:
   107              fieldPath: metadata.name
   108        command:
   109        - /bin/sh
   110        - -c
   111        - /node-problem-detector --system-log-monitors=/config/kernel.monitor --apiserver-override="https://{{master_ip}}:443?inClusterConfig=false&auth=/kubeconfig/npd.kubeconfig" --alsologtostderr 1>>/var/log/npd-$(NODE_NAME).log 2>&1
   112        volumeMounts:
   113        - name: kubeconfig-volume
   114          mountPath: /kubeconfig
   115          readOnly: true
   116        - name: kernelmonitorconfig-volume
   117          mountPath: /config
   118          readOnly: true
   119        - name: no-serviceaccount-access-to-real-master
   120          mountPath: /var/run/secrets/kubernetes.io/serviceaccount
   121          readOnly: true
   122        - name: logs-volume
   123          mountPath: /var/log
   124        resources:
   125          requests:
   126            cpu: {{npd_millicpu}}m
   127            memory: {{npd_mem_Ki}}Ki
   128        securityContext:
   129          privileged: true
   130      # Keep the pod running on unreachable node for 15 minutes.
   131      # This time should be sufficient for a VM reboot and should
   132      # avoid recreating a new hollow node.
   133      # See https://github.com/kubernetes/kubernetes/issues/67120 for context.
   134      tolerations:
   135      - key: "node.kubernetes.io/unreachable"
   136        operator: "Exists"
   137        effect: "NoExecute"
   138        tolerationSeconds: 900

View as plain text