ServerSet represents a stateful set of servers in the Ionos Cloud. The number of replicas controls how many resources it creates in the Ionos Cloud. For 2 replicas defined, it will create for each: 1 server, 1 bootvolume, the nics configured(for each server). Each sub-resource created(server, bootvolume, nic) will have it's own CR that can be observed using kubectl. The SSet reads the active(master) identity from a configMap that needs to be named `config-lease`. If the configMap is not found, the active replica will be the first server created.
Type
CRD
Group
compute.ionoscloud.crossplane.io
Version
v1alpha1
apiVersion: compute.ionoscloud.crossplane.io/v1alpha1
kind: ServerSet
A ServerSetSpec defines the desired state of a ServerSet.
ServerSetParameters are the configurable fields of a ServerSet.
BootVolumeTemplate are the configurable fields of a BootVolumeTemplate.
ServerSetBootVolumeSpec are the configurable fields of a ServerSetBootVolumeSpec.
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
UpdateStrategy is the update strategy for the boot volume.
DatacenterConfig contains information about the datacenter resource on which the server will be created.
DatacenterIDRef references to a Datacenter to retrieve its ID.
Policies for referencing.
DatacenterIDSelector selects reference to a Datacenter to retrieve its DatacenterID.
Policies for selection.
IdentityConfigMap is the configMap from which the identity of the ACTIVE server in the ServerSet is read. The configMap should be created separately. The serverset only reads the status from it. If it does not find it, it sets // the first server as the ACTIVE.
THIS IS A BETA FIELD. It is on by default but can be opted out through a Crossplane feature flag. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md
ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured.
Policies for referencing.
PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource.
WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other.
A ServerSetStatus represents the observed state of a ServerSet.
ServerSetObservation are the observable fields of a ServerSet.
No description provided.
Conditions of the resource.
No description provided.
Conditions of the resource.
Conditions of the resource.
serverset
apiVersion: compute.ionoscloud.crossplane.io/v1alpha1
kind: ServerSet
metadata:
name: serverset
spec:
forProvider:
bootVolumeTemplate:
metadata:
name: volumeboot
spec:
image: 28d0fa34-927f-11ee-8008-6202af74e858
imagePassword: thisshouldbesecret
size: 20
substitutions:
- key: __ipv6Address
options:
cidr: fd1d:15db:cf64:1337::/64
type: ipv6Address
unique: true
- key: ipv4Address
options:
cidr: 192.168.42.0/24
type: ipv4Address
unique: true
type: HDD
updateStrategy:
type: createBeforeDestroyBootVolume
userData: ""
datacenterConfig:
datacenterIdRef:
name: example
identityConfigMap:
keyName: identity
name: config-lease
namespace: default
replicas: 2
template:
metadata:
labels:
key: value
name: server-sample
spec:
cores: 1
cpuFamily: INTEL_XEON
nics:
- dhcp: false
lanReference: examplelan
name: nic-sample
- dhcp: false
dhcpv6: true
lanReference: examplelan2
name: nic-sample2
ram: 1024
managementPolicies:
- "*"
providerConfigRef:
name: example