mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 21:46:22 +01:00
49 lines
2.2 KiB
Plaintext
49 lines
2.2 KiB
Plaintext
// Module included in the following assemblies:
|
|
//
|
|
// * operators/operator_sdk/java/osdk-java-tutorial.adoc
|
|
|
|
:_content-type: CONCEPT
|
|
[id="osdk-java-controller-memcached-deployment_{context}"]
|
|
= Define the `createMemcachedDeployment`
|
|
|
|
The `createMemcachedDeployment` method uses the link:https://fabric8.io/[fabric8] `DeploymentBuilder` class:
|
|
|
|
[source,java]
|
|
----
|
|
private Deployment createMemcachedDeployment(Memcached m) {
|
|
Deployment deployment = new DeploymentBuilder()
|
|
.withMetadata(
|
|
new ObjectMetaBuilder()
|
|
.withName(m.getMetadata().getName())
|
|
.withNamespace(m.getMetadata().getNamespace())
|
|
.build())
|
|
.withSpec(
|
|
new DeploymentSpecBuilder()
|
|
.withReplicas(m.getSpec().getSize())
|
|
.withSelector(
|
|
new LabelSelectorBuilder().withMatchLabels(labelsForMemcached(m)).build())
|
|
.withTemplate(
|
|
new PodTemplateSpecBuilder()
|
|
.withMetadata(
|
|
new ObjectMetaBuilder().withLabels(labelsForMemcached(m)).build())
|
|
.withSpec(
|
|
new PodSpecBuilder()
|
|
.withContainers(
|
|
new ContainerBuilder()
|
|
.withImage("memcached:1.4.36-alpine")
|
|
.withName("memcached")
|
|
.withCommand("memcached", "-m=64", "-o", "modern", "-v")
|
|
.withPorts(
|
|
new ContainerPortBuilder()
|
|
.withContainerPort(11211)
|
|
.withName("memcached")
|
|
.build())
|
|
.build())
|
|
.build())
|
|
.build())
|
|
.build())
|
|
.build();
|
|
deployment.addOwnerReference(m);
|
|
return deployment;
|
|
}
|
|
---- |