Kubernetes Programming With Go: Programming Kubernetes Clients and Operators Using Go and The Kubernetes API 1st Edition Philippe Martin
Kubernetes Programming With Go: Programming Kubernetes Clients and Operators Using Go and The Kubernetes API 1st Edition Philippe Martin
Kubernetes Programming With Go: Programming Kubernetes Clients and Operators Using Go and The Kubernetes API 1st Edition Philippe Martin
https://ebookmass.com/product/kubernetes-programming-with-go-
programming-kubernetes-clients-and-operators-using-go-and-the-
kubernetes-api-1st-edition-philippe-martin-2/
https://ebookmass.com/product/ansible-for-kubernetes-by-example-
automate-your-kubernetes-cluster-with-ansible-1st-edition-luca-
berton-2/
https://ebookmass.com/product/ansible-for-kubernetes-by-example-
automate-your-kubernetes-cluster-with-ansible-1st-edition-luca-
berton/
https://ebookmass.com/product/software-development-with-go-cloud-
native-programming-using-golang-with-linux-and-docker-1st-
edition-nanik-tolaram/
Deploy Container Applications Using Kubernetes:
Implementations with microk8s and AWS EKS Shiva
Subramanian
https://ebookmass.com/product/deploy-container-applications-
using-kubernetes-implementations-with-microk8s-and-aws-eks-shiva-
subramanian/
https://ebookmass.com/product/kubernetes-secrets-handbook-
emmanouil-gkatziouras/
https://ebookmass.com/product/the-kubernetes-book-2024-edition-
nigel-poulton/
https://ebookmass.com/product/observability-with-grafana-monitor-
control-and-visualize-your-kubernetes-and-cloud-platforms-using-
the-lgtm-stack-rob-chapman/
https://ebookmass.com/product/beginning-cloud-native-development-
with-microprofile-jakarta-ee-and-kubernetes-1st-edition-tarun-
telang/
Kubernetes
Programming
with Go
Programming Kubernetes Clients
and Operators Using Go and
the Kubernetes API
—
Philippe Martin
Kubernetes Programming
with Go
Programming Kubernetes Clients
and Operators Using
Go and the Kubernetes API
Philippe Martin
Kubernetes Programming with Go: Programming Kubernetes Clients and Operators
Using Go and the Kubernetes API
Philippe Martin
Blanquefort, France
Introduction������������������������������������������������������������������������������������������������������������xix
v
Table of Contents
vi
Table of Contents
Toleration������������������������������������������������������������������������������������������������������������������������������� 65
Well-Known Labels���������������������������������������������������������������������������������������������������������������� 66
Writing Kubernetes Resources in Go������������������������������������������������������������������������������������������ 67
Importing the Package���������������������������������������������������������������������������������������������������������� 67
The TypeMeta Fields�������������������������������������������������������������������������������������������������������������� 68
The ObjectMeta Fields����������������������������������������������������������������������������������������������������������� 69
Spec and Status�������������������������������������������������������������������������������������������������������������������� 76
Comparison with Writing YAML Manifests����������������������������������������������������������������������������� 76
A Complete Example������������������������������������������������������������������������������������������������������������������� 78
Conclusion���������������������������������������������������������������������������������������������������������������������������������� 83
vii
Table of Contents
Conversion��������������������������������������������������������������������������������������������������������������������������� 101
Serialization������������������������������������������������������������������������������������������������������������������������� 103
RESTMapper����������������������������������������������������������������������������������������������������������������������������� 105
Kind to Resource����������������������������������������������������������������������������������������������������������������� 106
Resource to Kind����������������������������������������������������������������������������������������������������������������� 107
Finding Resources��������������������������������������������������������������������������������������������������������������� 107
The DefaultRESTMapper Implementation���������������������������������������������������������������������������� 107
Conclusion�������������������������������������������������������������������������������������������������������������������������������� 108
viii
Table of Contents
x
Table of Contents
xi
Table of Contents
Index��������������������������������������������������������������������������������������������������������������������� 309
xii
About the Author
Philippe Martin has been working with Kubernetes for
five years, first by creating an Operator to deploy video
CDNs into the cloud, later helping companies deploy their
applications into Kubernetes, then writing a Client to help
developers work in a Kubernetes environment. Philippe
has passed the CKAD, CKA, and CKS certifications. He has
extensive experience with distributed systems and open-
source software: he started his career 20 years ago creating
thin clients based on the Linux kernel and open-source
components. He is currently working at Red Hat on the
Development Tools team.
Philippe has been active in the development of Kubernetes, especially its
documentation, and participates in the translation of the official documentation into
French, has edited two reference books about the Kubernetes API and kubectl, and is
responsible for the French translation of the Kubernetes Dashboard. He participated in
Google Season of Docs to create the new Kubernetes API Reference section of the official
documentation and is maintaining it.
xiii
About the Technical Reviewers
Bartosz Majsak writes code for fun and profit while proudly
wearing a red fedora (also known as the Red Hat). He has
been long-time open-source contributor and Java developer
turned into Golang aficionado. Bartosz is overly enthusiastic
about coffee, open source, and speaking at conferences,
not necessarily in that order. One thing that perhaps proves
he is not a total geek is his addiction to alpine skiing (and
running).
xv
Acknowledgments
I would like to thank the whole Anevia “CDN” team who started working with me on
Kubernetes back in 2018: David, Ansou, Hossam, Yassine, Étienne, Jason, and Michaël.
Special thanks to Damien Lucas for initiating this project and for having trusted us with
this challenge.
My discovery of Kubernetes has been much easier and pleasant thanks to the TGIK
channel and its numerous episodes, hosted by Joe Beda, Kris Nova, and many others.
Plus, thanks to all the Kubernetes community for such a great ecosystem!
xvii
Introduction
Back in 2017, I was working for a company building video streaming software. At the end
of that year, a small team, including me, got assigned a new job to work on deploying
the Video CDN developed by the company on Kubernetes. We decided to explore the
concept of Custom Resources and Operators to deploy this CDN.
The current Kubernetes release was 1.9, the concept of Custom Resource Definition
had just been released in 1.7, and the sample-controller repository was the only
documentation we knew of to help build an Operator. The Kubernetes ecosystem,
being especially lively, had tools appearing in the following months, specifically the
Kubebuilder SDK. Thus, our project was launched.
From that moment on, I spent numerous days exploring how to build Operators and
other programs interacting with the Kubernetes API. But the damage was done: I had
started to learn Kubernetes programming from specific to general, and it took me a long
time to fully understand the innards of the Kubernetes API.
I have written this book in the hope that it can teach new Kubernetes developers how
to program, from general to specific, with the Kubernetes API in Go.
Chapters at a Glance
The target reader for this book has some experience working with REST APIs, accessing
them either by HTTP or using clients for specific languages; and has some knowledge of
the Kubernetes platform, essentially as a user—for example, some experience deploying
such APIs or frontend applications with the help of YAML manifests.
xix
Introduction
At this point in the book, the reader should be comfortable with building Go
applications working with native resources of the Kubernetes API.
By the end of the book, the reader should be able to start building Kubernetes
operators in Go and have a very good understanding of what happens behind the scenes.
xx
CHAPTER 1
Kubernetes API
Introduction
Kubernetes is a platform to orchestrate containers operating in the declarative mode.
There are one-thousand-and-one ways to describe how the Kubernetes platform is
constructed. This book focuses on programming with the platform.
The entry point of the Kubernetes platform is the API. This chapter explores the
Kubernetes architecture by highlighting the central role of the Kubernetes API. It then
focuses on the HTTP REST nature of the Kubernetes API, and on the extensions added to
organize the many resources managed by it.
Finally, you will learn how to navigate the reference documentation effectively to be
able to extract the maximum quantity of useful information daily.
1. The API server – this is the central point on the control-plane; the
user and the various pieces of the control-plane contact this API to
create, get, delete, update, and watch resources.
1
© Philippe Martin 2023
P. Martin, Kubernetes Programming with Go, https://doi.org/10.1007/978-1-4842-9026-2_1
Chapter 1 Kubernetes API Introduction
2
Chapter 1 Kubernetes API Introduction
etcd
Kubectl
---
Control-plane
cre
at watch
de e set
up lete,
d
Controllers
wa ate
tch
API Server crea
te
te
dele te
a
upd
tch
wa
wa ate
tch
up
d
Kubelet
watch
Scheduler
no Kube-proxy
de
s
O
penAPI Specification
The Kubernetes API is an HTTP REST API. The Kubernetes team provides a specification
for this API in the OpenAPI format, either in v2 format at https://github.com/
kubernetes/kubernetes/tree/master/api/openapi-spec or in Kubernetes v1.24,
in v3 format, at https://github.com/kubernetes/kubernetes/tree/master/api/
openapi-spec/v3.
These specifications also are accessible from the API Server at these paths:
/openapi/v2 and /openapi/v3.
An OpenAPI specification is made up of various parts and, among these, are a list of
paths and a list of definitions. The paths are the URLs you use to request this API, and
for each path, the specification gives the distinct operations such as get, delete, or post.
Then for each operation, the specification indicates what are the parameters and body
format for the request, and what are the possible response codes and associated body
format for the response.
3
Another random document with
no related content on Scribd:
SAUCKEL: No, I established no special police; I explained that
yesterday. That was a suggestion put forward by the French units
themselves for protection. At a conference I exaggerated and called
it “police,” but it was not a police force.
M. HERZOG: Have you heard of a “Committee for Social
Peace”?
SAUCKEL: Yes, that was talked about.
M. HERZOG: Have you heard a committee mentioned which
was called the “League for Social Order and Justice?”
SAUCKEL: Yes.
M. HERZOG: Have you ever drafted any order or sent any
instructions which advised the institution of these committees?
SAUCKEL: It was proposed, yes, and it was discussed. As far
as I remember that was in the spring of 1944.
M. HERZOG: And you claim that you never set up these
committees, or drafted any instructions concerning the setting up of
these committees?
SAUCKEL: I have already said that I did that.
M. HERZOG: You admit that you drafted instructions concerning
the formation of these special police forces?
SAUCKEL: That was done on the basis of discussions which I
had with these French units.
M. HERZOG: So you did do this?
SAUCKEL: Yes, in agreement with these French units.
M. HERZOG: Very well.
I submit to the Tribunal Document Number F-827, under Exhibit
Number RF-1518. These are instructions of the Defendant Sauckel
for the formation of these special police forces. The document
consists of several sets of instructions. On Page 6, there is an order
of 25 January 1944 by the Defendant Sauckel.
THE PRESIDENT: Where is it?
M. HERZOG: On Page 6, immediately after Document 1292 in
my document book, you will find the instructions of the Defendant
Sauckel. I read:
“Berlin, 25 January 1944. Secret.
“Subject: Formation of a protection corps for the execution
of the tasks of the Allocation Of Labor in France and in
Belgium during the year 1944.
“1) To the Military Commander in France, Paris.
To the Military Commander for Belgium and Northern
France, Brussels.
“In order to secure the carrying out of the necessary tasks
of the Allocation of Labor in Belgium and France, especially
the assignments for Germany, and to strengthen the
executive, a protective corps, the Committee for Social
Peace, is to be created in France and Belgium. This
protective corps is to consist of indigenous forces with a
nucleus of German police who will act as leaders. This
protective corps will consist of approximately 5,000 men in
France, and approximately 1,000 men in Belgium. I give the
following provisional instructions for the formation of this
protective corps and the accomplishment of its tasks:
“I. Selection of members of the Protective Corps.
“The selection shall be made in close agreement with the
competent Police and SD offices, which shall approve the
candidates, especially from the point of view of their loyalty.
The selection shall be made especially among the
members of political movements favorably disposed to
collaboration with Germany.
“II. Organization of the Protective Corps.
“The Protective Corps will be directed from central offices to
be set up in Paris and Brussels. The heads of these offices
shall be designated by me.”—That is to say, by you,
Defendant Sauckel.—“They shall take orders from my
delegates in France. In purely police questions, the
Protective Corps shall be directed by the Higher SS and
Police Leader. The regional groups of the Protective Corps
shall take orders from the commanders of German police
forces, and the latter will receive technical directions from
the Feldkommandantur and from the recruiting offices as to
their participation in tasks concerning the Allocation of
Labor. The German Police and the services of the SD will
deal with instruction in police matters; technical training, as
far as the Allocation of Labor is concerned, will be given
insofar as is necessary by the experts of the
Feldkommandantur and the recruiting offices.
“The members of the Protective Corps will not wear
uniform; they will however, carry firearms.
“III. Execution of orders.
“The members of the Protective Corps assigned to the
recruiting offices or to the Feldkommandantur shall be
employed in such a way as to insure maximum efficiency in
the execution of measures ordered. For example, they must
be informed immediately if Frenchmen who have been
summoned by German offices do not appear. They must
find out the domiciles of these persons and bring them to
report in accordance with instructions from the German
police leader in collaboration with the French and German
police. Furthermore, they must track down immediately all
those who have refused to appear when summoned, and
those who have broken their contracts. In the interests of an
effective executive, it is expedient that they receive
regularly lists of persons summoned and persons liable for
service, to enable them to act immediately in cases where
German directives have not been complied with.
“It is to be presumed that these quick methods, coupled
with fitting punishment and immediate publication of the
punishments, will have a more deterrent effect than that
achieved by tracking down the men afterwards, as has
been done up to now. Furthermore, members of the
Protective Corps are to keep the German offices informed
of any particular difficulties in recruitment....”
And all that, Defendant, is signed “Sauckel.” Do you still claim
that you did not form a special police corps in France and Belgium?
SAUCKEL: I already told my attorney yesterday that in
agreement with French organizations such a protective corps was
set up, so that on the one hand people who wanted to work could be
protected, and on the other hand administrative measures could be
carried out. Since the Frenchmen themselves declared that they
were ready and willing to collaborate, I did not see anything
unfavorable in this or anything that was in any way out of order.
It was to alleviate the conditions of the indigenous people
themselves.
M. HERZOG: I ask you to answer my question “yes” or “no.” Do
you admit that you set up this special police service?
SAUCKEL: I admit that I suggested this Protective Corps, and
that it was set up, but only on a small scale.
M. HERZOG: Is it true that you issued instructions, or imposed
measures of constraint against those who evaded the compulsory
labor service?
SAUCKEL: I did not issue them myself, but rather the French
Government did. That is correct; for in every occupied territory—and
that is true the whole world over—the authority of the occupying
power must be respected.
M. HERZOG: Is it true that you demanded that the death penalty
should be applied to officials who, for instance, hindered your
action?
SAUCKEL: It is true that at a conference with the French
Premier Laval, I demanded, by way of negotiations, the death
penalty in cases of very serious obstruction.
M. HERZOG: Then you admit that you demanded the
application of the death penalty in the case of these officials?
SAUCKEL: Yes, if a serious case of sabotage was in question—
according to martial law.
M. HERZOG: Is it true that your task was to procure for the
German war industry the labor it required?
SAUCKEL: That was one of my tasks.
M. HERZOG: In this respect were you responsible to the
Defendant Speer, Minister for Armaments and Munitions, for the
carrying out of your task?
SAUCKEL: I was responsible to the Four Year Plan and to the
Führer, and I had instructions from the Führer to meet the
requirements of Reich Minister Speer as far as it was possible for me
to do so.
M. HERZOG: Did the Defendant Speer approve of all the steps
which you took in recruiting foreign labor?
SAUCKEL: At all events he agreed, or he demanded, that
workers should be put at his disposal. Sometimes, however, we did
not entirely agree as to how it should be done; for instance, we did
not agree about the protected factories in France.
M. HERZOG: We will come to that later. I ask you to tell me
whether you always succeeded in satisfying the demands for
workers which were made to you by the different sections of German
industry?
SAUCKEL: No, I was not always successful.
M. HERZOG: And when you failed, did the orders that were sent
to you by Defendant Speer have to have priority over all others?
SAUCKEL: Yes, they had to have priority.
M. HERZOG: Were there not incidents in this respect? For
instance, did it not happen that some transports of workers were
diverted from their original destination on instructions from
Defendant Speer?
SAUCKEL: It did happen that, contrary to my instructions, labor
transports were stopped, or transferred to other regions or to other
factories. But whether the order always emanated from Herr Speer,
or from an armament commission, or from another office, I do not
know. It was not always from the same quarter.
M. HERZOG: In your interrogatory you declared, however, that
the original destination of these transports was sometimes changed
in order to satisfy the demands of Speer’s offices. Do you confirm
this?
SAUCKEL: Yes; but I meant by that something rather different.
In that case I was informed about it. There were two kinds of
changes, or deviations: those which I did not know about, and those
which were agreed upon.
M. HERZOG: Will you tell the Tribunal what was understood by
the “red ticket” system?
SAUCKEL: The red ticket system was applied when there was a
demand for workers, mostly specialized or skilled workers, which
had to take priority over all other demands because the work was
necessary.
M. HERZOG: The system of the red ticket was applied to the
armament industry, was it not?
SAUCKEL: The red ticket system was applied to the armament
industry...
M. HERZOG: And it was established by agreement between the
Defendant Speer and yourself?
SAUCKEL: That was a system which, in my opinion, was always
intended to meet emergencies; there were variations, such as lists or
red tickets. Originally, there were only lists, and the red ticket was
added by decree.
M. HERZOG: You therefore admit that by these various systems
you share with the Defendant Speer the responsibility of having
compelled workers to work in German factories for the needs of the
war which Germany was fighting against their own native lands?
SAUCKEL: I should like to emphasize particularly that this red
ticket system did not apply only to foreign workers; it applied
especially to German workers too—German skilled workers.
M. HERZOG: But it was applied also to foreign workers?
SAUCKEL: It applied to foreign workers as well, if they were
specialists and declared their willingness.
M. HERZOG: Will you tell the Tribunal what is meant by the
“blocking” of factories?
SAUCKEL: A factory was “blocked” if it was manufacturing
articles which were not essential for war, or if it was a question of so-
called luxury articles.
M. HERZOG: I do not think you understood my question. What
were, for instance, the “S” factories in France—the factories
protected by Speer?
SAUCKEL: “Sperrbetriebe” known as “S” factories—is that what
you mean?
M. HERZOG: Yes.
SAUCKEL: Sperrbetriebe were factories which worked for Speer
in France, which had been agreed to by the French Minister
Bichelonne, and they were blocked as far as labor recruitment was
concerned.
M. HERZOG: Did you not exert strong pressure on the
Defendant Speer to get him to abandon the practice of blocking
industries?
SAUCKEL: I asked him and I urged him, but I could not succeed
in putting an end to the blocking of these factories.
M. HERZOG: Did you ever bring up the matter with Hitler and
insist that Speer should give up his position?
SAUCKEL: Yes, I was very insistent with Hitler about it, but I had
no success.
M. HERZOG: In this connection did you not ask the Führer to
increase your powers at the expense of the Defendant Speer?
SAUCKEL: I did not ask for a general extension of my powers,
but I asked that conditions should be allowed to remain as they had
been previously, for—I ask to be permitted to explain this to the
Tribunal—my task was to bring workers from France to Germany—
may I make this statement:
The departments under Speer demanded skilled workers from
me. There were skilled workers already in the factories which Speer
had blocked. Similar industries in Germany would, of course, be
worse off if instead of having skilled French workers they were
supplied with unskilled French workers, or men without experience in
that particular trade. I had to procure workers in any case, but I
considered it wiser for German economy to procure for it the right
kind of workers and not workers who were unskilled.
M. HERZOG: I beg the Tribunal to turn back to Document
Number 3819-PS, the second part of 3819-PS. It consists of two
letters, each addressed to the Führer, by the Defendant Sauckel and
by the Defendant Speer, on this subject of the blocking of industries.
First of all, I will read to the Tribunal some extracts from
Sauckel’s letter, which happens to be the second.
THE PRESIDENT: Have these not both been read already?
M. HERZOG: I think they have already been read, Mr.
President; I cannot affirm it, but believe so. Document Number 3819-
PS has already been submitted to the Tribunal as Exhibit Number
GB-306. If the Tribunal wishes, I can limit myself to very short
extracts.
THE PRESIDENT: You need not read them for the purpose of
your question of the defendant.
M. HERZOG: [Turning to the defendant.] In this letter, on Page
27, you asked whether you could obtain in a general manner a free
hand for the rational utilization of labor.
Do you admit that you asked the Führer for this free hand?
SAUCKEL: I have not found the place. I could never have asked
for a free hand, but I did ask to be permitted to recruit as before. I
cannot find the place that you are quoting.
M. HERZOG: You will find it on Page 27.
SAUCKEL: In this German text it says: “In this situation, it is
absolutely necessary that I should again have a free hand.” That
means that I should have a free hand once again, as I had had
before the blocked industries were instituted. That is correct, for I
was interested in a rational use of labor.
M. HERZOG: That is what I asked you to confirm. Did you ask
that your powers should be increased at the expense of those of
your Codefendant Speer? Will you answer “yes” or “no,” if you can?
SAUCKEL: I do not understand the question. Was it obtain them
or ask for them?
M. HERZOG: Ask for them.
SAUCKEL: Yes, I asked for them, for it was to Speer’s
advantage.
M. HERZOG: You asked for that?
SAUCKEL: Yes, I asked for that in the interests of my tasks.
M. HERZOG: And do you not remember that on other
occasions, the Defendant Speer likewise asked that his powers
should be increased at the expense of yours?
SAUCKEL: Yes, that might have happened also.
M. HERZOG: You declared in your interrogatory that the very
close relations between Speer and Goebbels after the fall of
Stalingrad made Speer want particularly to have you under his
authority. Can you confirm this?
SAUCKEL: Yes.
M. HERZOG: Is it true that your general program for recruiting
labor included the employment of prisoners of war?
SAUCKEL: The employment of prisoners of war as far as they
should and could be put to work under the care of the Wehrmacht.
M. HERZOG: Do you remember the decree which we
mentioned this morning, your Decree Number 10, which stipulated
the order of priority of work and gave priority to armament? Was this
order applicable to prisoners of war as well?
SAUCKEL: As I explained yesterday, this decree was applicable
to prisoners of war only by way of exchange, and to the extent as set
forth in the rules of work issued by the OKW and by me in a catalog
of work.
M. HERZOG: But Article 8 of this decree stipulates only that it
was applicable to prisoners of war.
SAUCKEL: Yes, in accordance, of course, with the other
decrees which existed; that was a matter of course.
M. HERZOG: You spoke to us yesterday about inspectorates. Is
it true that in September 1943 you came to an agreement with Dr.
Ley concerning the setting up of a central inspectorate for foreign
workers?
SAUCKEL: Yes, for the purposes of their welfare.
M. HERZOG: In consequence, you admit that you are
responsible for the measures concerning the treatment of foreign
workers?
SAUCKEL: I am responsible for the directives which I issued;
they are all available.
M. HERZOG: Do you consider yourself responsible for the
feeding of foreign workers?
SAUCKEL: I consider myself responsible for the directives
which I issued regarding the feeding of foreign workers. The actual
feeding of these people was not the task and responsibility of the
labor authorities. That was the responsibility of the factories, or the
camp leaders who had been charged by the factories to look after
this.
M. HERZOG: I am going to have submitted to you Document
Number 025-PS. This document was submitted to the Tribunal under
Exhibit Number USA-698. You already had it yesterday. It consists of
the report of a meeting in the office of the Plenipotentiary General for
the Allocation of Labor—that is to say, you yourself—on 3
September 1942. The document is dated 4 September.
This document, Mr. President, is at the end of my document
book, after Document F-827, the last page of the French translation.
I read:...
THE PRESIDENT: The last page is Document F-857, is it not?
The document called 857—the last page I have got. It is just in front
of Document 2200-PS. Did you come across that? It is just after
Document 1913-PS.
M. HERZOG: After Document 1913-PS, Mr. President.
THE PRESIDENT: Yes.
M. HERZOG: I read:
“The Führer cannot understand that, in the struggle for the
future of Europe, the country which has to bear the brunt of
this struggle is the one to suffer most from hunger; whereas
in France...”
THE PRESIDENT: It is on Page 1 or Page 4?
M. HERZOG: No, Mr. President, on Page 4 of the French text—
that is to say, on the last page.
“The Führer cannot understand that, in the struggle for the
future of Europe, the country which has to bear the brunt of
this struggle is the one to suffer most from hunger; whereas
in France, in Holland, in Hungary, in the Ukraine, or
anywhere else, there is no talk of hunger. He desires that it
should be the reverse in the future. As regards the foreign
workers living in the Reich—with the exclusion of the
Eastern Workers—little by little their rations must be
reduced and made to correspond to their output. It is not
admissible that lazy Dutchmen or Italians should receive
better rations than good Eastern Workers. In principle the
guiding rule of utmost output must apply equally to feeding.”
[Turning to the defendant.] I ask you what you meant when you
stated that, “In principle the guiding rule of utmost output must apply
equally to feeding?”
SAUCKEL: There was a standard ration in the Reich which was
increased by additional rations based on output or performance. I
fought for the principle that these additional rations, which the
workers from the West were already largely receiving, should be
granted to the workers from the East as well; and that where western
workers—that is, Dutch and Belgian workers—did not keep up their
output in the same way as the Eastern Workers, these additional
rations should be cut down accordingly, but not the standard ration
which applied to the German people as well.
M. HERZOG: You therefore consider that if the output of one
worker is smaller than that of another, his food rations must be
smaller. Is that what I am to understand?
SAUCKEL: No, it is not right to interpret it that way. I should like
to explain the system again. In Germany each worker received his
ration as fixed by the Reich Minister for Food. In addition to that
there were special increases as a reward for increased output. At the
beginning these additional rations were not granted to Russian
workers, and it is these additional rations we are dealing with here;
not with starving people, or cutting down their standard food rations
—additional rations for increased output.
THE PRESIDENT: Perhaps we had better adjourn now.
[A recess was taken.]