Skip to content

Commit 10883c4

Browse files
authored
Merge pull request kubernetes#84728 from notpad/kubemark
Migrate Kubemark to distroless
2 parents 41757d6 + dcf80e3 commit 10883c4

File tree

7 files changed

+43
-22
lines changed

7 files changed

+43
-22
lines changed

build/root/WORKSPACE

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@ container_repositories()
7373
load("@io_bazel_rules_docker//container:container.bzl", "container_pull")
7474

7575
container_pull(
76-
name = "debian_jessie",
77-
digest = "sha256:e25703ee6ab5b2fac31510323d959cdae31eebdf48e88891c549e55b25ad7e94",
78-
registry = "index.docker.io",
79-
repository = "library/debian",
80-
tag = "jessie", # ignored when digest provided, but kept here for documentation.
76+
name = "distroless_base",
77+
digest = "sha256:7fa7445dfbebae4f4b7ab0e6ef99276e96075ae42584af6286ba080750d6dfe5",
78+
registry = "gcr.io",
79+
repository = "distroless/base",
80+
tag = "latest", # ignored when digest provided, but kept here for documentation.
8181
)
8282

8383
load("//build:workspace.bzl", "release_dependencies")

cluster/images/kubemark/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ load("@io_bazel_rules_docker//container:container.bzl", "container_image", "cont
44

55
container_image(
66
name = "image",
7-
base = "@debian_jessie//image",
7+
base = "@distroless_base//image",
88
entrypoint = ["/kubemark"],
99
files = ["//cmd/kubemark"],
1010
stamp = True,

cluster/images/kubemark/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# The line below points to debian:jessie as of 2019-10-23. The SHA should be
16-
# kept in sycn with debian_jessie definition in the WORKSPACE file.
17-
FROM debian@sha256:e25703ee6ab5b2fac31510323d959cdae31eebdf48e88891c549e55b25ad7e94
15+
# The line below points to distroless/base as of 2019-11-15. The SHA should be
16+
# kept in sycn with distroless_base definition in the WORKSPACE file.
17+
FROM gcr.io/distroless/base@sha256:7fa7445dfbebae4f4b7ab0e6ef99276e96075ae42584af6286ba080750d6dfe5
1818

1919
COPY kubemark /kubemark

pkg/kubemark/hollow_kubelet.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ func NewHollowKubelet(
111111
VolumePlugins: volumePlugins(),
112112
TLSOptions: nil,
113113
OOMAdjuster: oom.NewFakeOOMAdjuster(),
114-
Mounter: mount.New("" /* default mount path */),
114+
Mounter: &mount.FakeMounter{},
115115
Subpather: &subpath.FakeSubpath{},
116116
HostUtil: hostutil.NewFakeHostUtil(nil),
117117
}

test/kubemark/iks/startup.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,13 +235,18 @@ EOF
235235
fi
236236
proxy_mem_per_node=50
237237
proxy_mem=$((100 * 1024 + proxy_mem_per_node*NUM_NODES))
238+
hollow_kubelet_params=$(eval "for param in ${HOLLOW_KUBELET_TEST_ARGS:-}; do echo -n \\\"\$param\\\",; done")
239+
hollow_kubelet_params=${hollow_kubelet_params%?}
240+
hollow_proxy_params=$(eval "for param in ${HOLLOW_PROXY_TEST_ARGS:-}; do echo -n \\\"\$param\\\",; done")
241+
hollow_proxy_params=${hollow_proxy_params%?}
242+
238243
sed -i'' -e "s/{{HOLLOW_PROXY_CPU}}/${proxy_cpu}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
239244
sed -i'' -e "s/{{HOLLOW_PROXY_MEM}}/${proxy_mem}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
240245
sed -i'' -e "s'{{kubemark_image_registry}}'${KUBEMARK_IMAGE_REGISTRY}${KUBE_NAMESPACE}'g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
241246
sed -i'' -e "s/{{kubemark_image_tag}}/${KUBEMARK_IMAGE_TAG}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
242247
sed -i'' -e "s/{{master_ip}}/${MASTER_IP}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
243-
sed -i'' -e "s/{{hollow_kubelet_params}}/${HOLLOW_KUBELET_TEST_ARGS:-}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
244-
sed -i'' -e "s/{{hollow_proxy_params}}/${HOLLOW_PROXY_TEST_ARGS:-}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
248+
sed -i'' -e "s/{{hollow_kubelet_params}}/${hollow_kubelet_params}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
249+
sed -i'' -e "s/{{hollow_proxy_params}}/${hollow_proxy_params}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
245250
sed -i'' -e "s'{{kubemark_mig_config}}'${KUBEMARK_MIG_CONFIG:-}'g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
246251
"${KUBECTL}" create -f "${RESOURCE_DIRECTORY}/hollow-node.yaml" --namespace="kubemark"
247252

test/kubemark/resources/hollow-node_template.yaml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,16 @@ spec:
5050
valueFrom:
5151
fieldRef:
5252
fieldPath: metadata.name
53-
command:
54-
- /bin/sh
55-
- -c
56-
- /kubemark --morph=kubelet --name=$(NODE_NAME) {{hollow_kubelet_params}} --kubeconfig=/kubeconfig/kubelet.kubeconfig $(CONTENT_TYPE) --alsologtostderr 1>>/var/log/kubelet-$(NODE_NAME).log 2>&1
53+
command: [
54+
"/kubemark",
55+
"--morph=kubelet",
56+
"--name=$(NODE_NAME)",
57+
"--kubeconfig=/kubeconfig/kubelet.kubeconfig",
58+
"$(CONTENT_TYPE)",
59+
"--log-file=/var/log/kubelet-$(NODE_NAME).log",
60+
"--logtostderr=false",
61+
{{hollow_kubelet_params}}
62+
]
5763
volumeMounts:
5864
- name: kubeconfig-volume
5965
mountPath: /kubeconfig
@@ -78,10 +84,16 @@ spec:
7884
valueFrom:
7985
fieldRef:
8086
fieldPath: metadata.name
81-
command:
82-
- /bin/sh
83-
- -c
84-
- /kubemark --morph=proxy --name=$(NODE_NAME) {{hollow_proxy_params}} --kubeconfig=/kubeconfig/kubeproxy.kubeconfig $(CONTENT_TYPE) --alsologtostderr 1>>/var/log/kubeproxy-$(NODE_NAME).log 2>&1
87+
command: [
88+
"/kubemark",
89+
"--morph=proxy",
90+
"--name=$(NODE_NAME)",
91+
"--kubeconfig=/kubeconfig/kubeproxy.kubeconfig",
92+
"$(CONTENT_TYPE)",
93+
"--log-file=/var/log/kubeproxy-$(NODE_NAME).log",
94+
"--logtostderr=false",
95+
{{hollow_proxy_params}}
96+
]
8597
volumeMounts:
8698
- name: kubeconfig-volume
8799
mountPath: /kubeconfig

test/kubemark/start-kubemark.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,10 @@ function create-kube-hollow-node-resources {
152152
proxy_cpu=${KUBEMARK_HOLLOW_PROXY_MILLICPU:-$proxy_cpu}
153153
proxy_mem_per_node=${KUBEMARK_HOLLOW_PROXY_MEM_PER_NODE_KB:-50}
154154
proxy_mem=$((100 * 1024 + proxy_mem_per_node*NUM_NODES))
155+
hollow_kubelet_params=$(eval "for param in ${HOLLOW_KUBELET_TEST_ARGS:-}; do echo -n \\\"\$param\\\",; done")
156+
hollow_kubelet_params=${hollow_kubelet_params%?}
157+
hollow_proxy_params=$(eval "for param in ${HOLLOW_PROXY_TEST_ARGS:-}; do echo -n \\\"\$param\\\",; done")
158+
hollow_proxy_params=${hollow_proxy_params%?}
155159

156160
sed -i'' -e "s@{{hollow_kubelet_millicpu}}@${KUBEMARK_HOLLOW_KUBELET_MILLICPU:-40}@g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
157161
sed -i'' -e "s@{{hollow_kubelet_mem_Ki}}@${KUBEMARK_HOLLOW_KUBELET_MEM_KB:-$((100*1024))}@g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
@@ -162,8 +166,8 @@ function create-kube-hollow-node-resources {
162166
sed -i'' -e "s@{{kubemark_image_registry}}@${KUBEMARK_IMAGE_REGISTRY}@g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
163167
sed -i'' -e "s@{{kubemark_image_tag}}@${KUBEMARK_IMAGE_TAG}@g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
164168
sed -i'' -e "s@{{master_ip}}@${MASTER_IP}@g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
165-
sed -i'' -e "s@{{hollow_kubelet_params}}@${HOLLOW_KUBELET_TEST_ARGS}@g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
166-
sed -i'' -e "s@{{hollow_proxy_params}}@${HOLLOW_PROXY_TEST_ARGS}@g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
169+
sed -i'' -e "s@{{hollow_kubelet_params}}@${hollow_kubelet_params}@g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
170+
sed -i'' -e "s@{{hollow_proxy_params}}@${hollow_proxy_params}@g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
167171
sed -i'' -e "s@{{kubemark_mig_config}}@${KUBEMARK_MIG_CONFIG:-}@g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
168172
"${KUBECTL}" create -f "${RESOURCE_DIRECTORY}/hollow-node.yaml" --namespace="kubemark"
169173

0 commit comments

Comments
 (0)