EKS
A managed Kubernetes service that automates key tasks like patching, node provisioning, and updates.
Example yaml file:
apiVersion: aws.boundless.software/v1alpha1
kind: Eks
metadata:
name: my-eks-cluster
spec:
provider:
region: us-west-2
cluster:
version: "1.21"
roleArn: arn:aws:iam::123456789012:role/eks-cluster-role
subnetIds:
- subnet-abcdef01
- subnet-abcdef02
tags:
Name: my-eks-cluster
Environment: Dev
oidcProvider:
issuerUrl: "https://oidc.eks.us-west-2.amazonaws.com/id/EXAMPLED539D4633E53DE1B716D3041E"
clientId: "example-id"
endpoint:
public: true
private: false
addons:
- name: coredns
addonVersion: "1.8.4"
logTypes:
- api
- audit
nodeGroups:
primary:
amiType: AL2_x86_64
capacityType: ON_DEMAND
diskSize: 20
instanceTypes:
- m5.large
labels:
role: primary
launchTemplate:
name: my-launch-template
version: "1"
scalingConfig:
desiredSize: 2
maxSize: 3
minSize: 1
subnets:
- subnet-abcdef01
tags:
Name: primary-nodes
Environment: Dev
taints:
- key: "key1"
value: "value1"
effect: "NoSchedule"
Inputs
Name | Type | Description |
---|---|---|
provider* | AwsProviderSpec | Provider specifies the AWS provider settings for the EKS cluster. |
cluster | EksClusterSpec | Cluster specifies the configuration for the EKS cluster. |
EksClusterSpec
Name | Type | Description |
---|---|---|
addons | []AddOnSpec | Addons specifies the add-ons to enable for the EKS cluster. |
logTypes | []types.LogType | LogTypes specifies the types of logs to enable. |
nodeGroups | map[string]EksNodeGroupSpec | NodeGroups specifies the node groups for the EKS cluster. |
roleArn | string | RoleArn specifies the ARN of the IAM role for the EKS cluster. |
subnetIds* | []string | SubnetIds specifies the IDs of the subnets for the EKS cluster. |
tags | map[string]string | Tags are metadata to assign to the EKS cluster. |
oidcProvider | OidcProviderSpec | OidcProvider specifies the OIDC identity provider for the EKS cluster. |
version | string | Version specifies the Kubernetes version for the EKS cluster. |
endpoint | EndPointSpec | Endpoint specifies the public and private access points for the EKS cluster. |
AddOnSpec
Name | Type | Description |
---|---|---|
name* | string | Name specifies the name of the add-on. |
addonVersion | string | AddonVersion specifies the version of the add-on. |
EksNodeGroupSpec
Name | Type | Description |
---|---|---|
amiType | string | AmyType specifies the AMI type for the node group. |
capacityType | string | CapacityType specifies the EC2 capacity type. |
clientRequestToken | string | ClientRequestToken is an idempotency token. |
diskSize | int32 | DiskSize specifies the root disk size. |
instanceTypes | []string | InstanceTypes specifies the types of instances in the node group. |
labels | map[string]string | Labels to apply to the Kubernetes nodes. |
launchTemplate | LaunchTemplateSpec | LaunchTemplate specifies the launch template for the node group. |
maxUnavailable | int32 | MaxUnavailable specifies the maximum number of nodes that can be unavailable during an update. |
MaxUnavailablePercentage | int32 | MaxUnavailablePercentage specifies the max number of nodes that can be unavailable during an update. |
nodeRoleArn | string | NodeRoleArn specifies the ARN of the role for the nodes. |
releaseVersion | string | ReleaseVersion specifies the release version of the node group. |
remoteAccess | NodeGroupRemoteAccessSpec | RemoteAccess specifies the remote access settings. |
scallingConfig | EksNodeGroupScallingConfig | ScallingConfig specifies the scalling settings for the node group. |
subnets | []string | Subents specifies which subnets to associate with the node group. |
tags | map[string]string | Tags are metadata to assign to the node group. |
taints | []EksNodeGroupTaint | Taints to apply to the Kubernetes nodes. |
version | string | Version specifies the Kubernetes version for the node group. |
OidcProviderSpec
Name | Type | Description |
---|---|---|
clientIdList* | []string | ClientIdList specifies the list of clients for the OIDC identity provider. |
thumbpringList* | []string | ThumbprintList specifies the list of the thumbprints of the OIDC identity provider's server certificate(s). |
url* | string | Url is the URL of the OIDC identity provider. |
EndPointSpec
Name | Type | Description |
---|---|---|
public | bool | Public indicates whether the endpoint is publicly accessible. |
private | bool | Private indicates whether the endpoint is privately accessible. |
LaunchTemplateSpec
Name | Type | Description |
---|---|---|
name | string | Name specifies the name of the launch template. |
version | string | Version specifies the version of the launch template. |
NodeGroupRemoteAccessSpec
Name | Type | Description |
---|---|---|
ec2SshKey | string | Ec2SshKey specifies EC2 SSH Key. |
sourceSecurityGroups | []string | SourceSecurityGroups specifies the security groups for SSH. |
EksNodeGroupScallingConfig
Name | Type | Description |
---|---|---|
desiredSize | int32 | DesiredSize specifies the desired number of worker nodes. |
maxSize | int32 | MaxSize specifies the maximum number of worker nodes. |
minSize | int32 | MinSize specifies the minimum number of worker nodes. |
EksNodeGroupTaint
Name | Type | Description |
---|---|---|
key | string | Key is the taint key to apply. |
value | string | Value is the taint value to apply. |
effect | string | Effect is the taint effect to apply. |
Outputs
Name | Type | Description |
---|---|---|
addons | map[string]EksAddonsStatus | Addons defines the observed state of the configured add-ons. |
arn | string | Arn is the Amazon Resource Name of the cluster. |
clusterRole | string | ClusterRole specifies the role of the cluster. |
clusterType | string | ClusterType specifies the type of the cluster. |
condition | metav1.Condition | Condition indicates the condition of the cluster. |
endpoint | string | Endpoint is the cluster endpoint. |
issuer | string | Issuer is the OIDC issuer for the cluster. |
logTypes | []types.LogType | LogTypes are the types of logs that are enabled. |
nodeGroups | map[string]EksNodeGroupState | NodeGroups defines the observed state of the configured groups. |
oidcProvider | string | OidcProvider is the OIDC provider associated with the cluster. |
EksAddonStatus
Name | Type | Description |
---|---|---|
condition | metav1.condition | Condition indicates the condition of the add-on. |
arn | string | Arn is the Amazon resource name of the add-on. |
version | string | Version is the version of the add-on. |
EksNodeGroupStatus
Name | Type | Description |
---|---|---|
condition | metav1.Condition | Condition indicates the condition of the node group. |
id | string | Arn is the Amazon Resource Name of the node group. |
nodeRole | string | NodeRole is the role associated with the node group. |
Previous
<< Getting StartedNext
VPC >>