From 0eea9326bc3a6ebdf4c800c2cdbcbeca6618cc64 Mon Sep 17 00:00:00 2001 From: Mitali Paygude Date: Wed, 24 Nov 2021 14:48:07 -0800 Subject: [PATCH 1/2] Fix docs typos --- docs/content/en/docs/concepts/clusterworkflow.md | 4 ++-- docs/content/en/docs/reference/clusterspec/gitops.md | 2 +- docs/content/en/docs/reference/clusterspec/proxy.md | 2 +- docs/content/en/docs/reference/clusterspec/vsphere.md | 2 +- docs/content/en/docs/reference/security/_index.md | 2 +- docs/content/en/docs/reference/vsphere/vsphere-prereq.md | 4 ++-- docs/content/en/docs/tasks/cluster/cluster-flux.md | 6 +++--- .../en/docs/tasks/troubleshoot/_troubleshooting.md | 4 ++-- .../en/docs/tasks/workload/loadbalance/kubevip/arp.md | 6 +++--- .../en/docs/tasks/workload/loadbalance/kubevip/bgp.md | 8 ++++---- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/content/en/docs/concepts/clusterworkflow.md b/docs/content/en/docs/concepts/clusterworkflow.md index 550ef34db70e..2709176e7ea9 100644 --- a/docs/content/en/docs/concepts/clusterworkflow.md +++ b/docs/content/en/docs/concepts/clusterworkflow.md @@ -45,7 +45,7 @@ See the [Install EKS Anywhere]({{< relref "../getting-started/install" >}}) guid To obtain EKS Anywhere software, you need Internet access to the repositories holding that software. EKS Anywhere does not currently support the use of private registries and repositories for the software that EKS Anywhere needs to draw on during cluster creation at this time. EKS Anywhere software is divided into two types of components. -The CLI interface for managing clusters and the cluster components an controllers used to run workloads and configure clusters. +The CLI interface for managing clusters and the cluster components and controllers used to run workloads and configure clusters. The software you need to obtain includes: * **Command line tools**: Binaries to [install on the administrative machine]({{< relref "../getting-started/install" >}}), include `eksctl`, `eksctl-anywhere`, `kubectl`, and `aws-iam-authenticator`. @@ -312,7 +312,7 @@ Networking features of your EKS Anywhere cluster start with how virtual machines The current state of networking on the vSphere node level include the following: * **DHCP**: EKS Anywhere requires that a DHCP server be available to the control plane and worker nodes in vSphere for them to obtain their IP addresses. -There is currently no support for static IP addresses or multinetwork clusters. +There is currently no support for static IP addresses or multi-network clusters. All control plane and nodes are on the same network. * **CAPI endpoint**: A static IP address should have been assigned to the control plane configuration endpoint, to provide access to the Cluster API. It should have been set up to not conflict with any other node IP addresses in the cluster. diff --git a/docs/content/en/docs/reference/clusterspec/gitops.md b/docs/content/en/docs/reference/clusterspec/gitops.md index f0fa747b05aa..2a1a75e3f289 100644 --- a/docs/content/en/docs/reference/clusterspec/gitops.md +++ b/docs/content/en/docs/reference/clusterspec/gitops.md @@ -77,6 +77,6 @@ spec: * __Type__: string #### __branch__ (optional) -* __Description__: The branch to use when commiting the configuration. +* __Description__: The branch to use when committing the configuration. * __Default__: `main` * __Type__: string diff --git a/docs/content/en/docs/reference/clusterspec/proxy.md b/docs/content/en/docs/reference/clusterspec/proxy.md index 324d445cae62..f42b636aebd2 100644 --- a/docs/content/en/docs/reference/clusterspec/proxy.md +++ b/docs/content/en/docs/reference/clusterspec/proxy.md @@ -38,7 +38,7 @@ spec: * __Example__: ```httpsProxy: 192.168.0.1:3218``` ### __noProxy__ (optional) -* __Description__: list of endpoints that should not be routed through the proxy; can be an IP, cidr block, or a domain name +* __Description__: list of endpoints that should not be routed through the proxy; can be an IP, CIDR block, or a domain name * __Type__: list of strings * __Example__ ```yaml diff --git a/docs/content/en/docs/reference/clusterspec/vsphere.md b/docs/content/en/docs/reference/clusterspec/vsphere.md index 99cdd79abcb8..1e55f79f65bb 100644 --- a/docs/content/en/docs/reference/clusterspec/vsphere.md +++ b/docs/content/en/docs/reference/clusterspec/vsphere.md @@ -235,4 +235,4 @@ for your VMs in the EKS Anywhere cluster. Examples of resource pool values inclu * The wild card option `*/Resources` also often works. ### storagePolicyName (optional) -The storage policy name associated with your vms. +The storage policy name associated with your VMs. diff --git a/docs/content/en/docs/reference/security/_index.md b/docs/content/en/docs/reference/security/_index.md index ddfba07cb5eb..a0e08ccacfc5 100644 --- a/docs/content/en/docs/reference/security/_index.md +++ b/docs/content/en/docs/reference/security/_index.md @@ -148,4 +148,4 @@ EKS Anywhere creates clusters with server hardening configurations out of the bo `kube-bench` runs checks documented in the [CIS Benchmark for Kubernetes](https://www.cisecurity.org/benchmark/kubernetes/), such as, pod specification file permissions, disabling insecure arguments, and so on. -Refer to the [EKS Anywhwere CIS Self-Assessment Guide]({{< relref "./kube-bench.md" >}}) for more information on how to evaluate the security configurations of your EKS Anywhere cluster. \ No newline at end of file +Refer to the [EKS Anywhere CIS Self-Assessment Guide]({{< relref "./kube-bench.md" >}}) for more information on how to evaluate the security configurations of your EKS Anywhere cluster. \ No newline at end of file diff --git a/docs/content/en/docs/reference/vsphere/vsphere-prereq.md b/docs/content/en/docs/reference/vsphere/vsphere-prereq.md index 1f4add53cb38..a16f40dfb41e 100644 --- a/docs/content/en/docs/reference/vsphere/vsphere-prereq.md +++ b/docs/content/en/docs/reference/vsphere/vsphere-prereq.md @@ -9,11 +9,11 @@ description: > To run EKS Anywhere, you will need: * A vSphere 7+ environment running vCenter -* Capacity to deploy 6-10VMs +* Capacity to deploy 6-10 VMs * DHCP service running in vSphere environment in the primary VM network for your workload cluster * One network in vSphere to use for the cluster. This network must have inbound access into vCenter * A OVA imported into vSphere and converted into template for the workload VMs -* User credentials to [create vms and attach networks, etc]({{< relref "user-permissions.md" >}}) +* User credentials to [create VMs and attach networks, etc]({{< relref "user-permissions.md" >}}) * One IP address routable from cluster but excluded from DHCP offering This IP address is to be used as the [Control Plane Endpoint IP or kube-vip VIP address]({{< relref "../clusterspec/vsphere/#controlplaneconfigurationendpointhost-required" >}}) diff --git a/docs/content/en/docs/tasks/cluster/cluster-flux.md b/docs/content/en/docs/tasks/cluster/cluster-flux.md index 19aa8381bb63..8f433e42f1d1 100755 --- a/docs/content/en/docs/tasks/cluster/cluster-flux.md +++ b/docs/content/en/docs/tasks/cluster/cluster-flux.md @@ -15,7 +15,7 @@ When you create a cluster with GitOps enabled, EKS Anywhere will automatically c You can then manage the scale of the cluster by making changes to the version controlled cluster configuration file and committing the changes. Once a change is detected by the GitOps controller running in your cluster, the scale of the cluster will be adjusted to match the committed configuration file. -If you'd like to learn more about GitOps and the associated best practices, [check out this introduction from Weaveworks](https://www.weave.works/technologies/gitops/). +If you'd like to learn more about GitOps, and the associated best practices, [check out this introduction from Weaveworks](https://www.weave.works/technologies/gitops/). >**_NOTE:_** Installing a GitOps controller needs to be done during cluster creation. In the event that GitOps installation fails, EKS Anywhere cluster creation will continue. @@ -37,7 +37,7 @@ Currently, you can manage a subset of cluster properties with GitOps: - `VSphereMachineConfig.resourcePool` Any other changes to the cluster configuration in the git repository will be ignored. -If an immutable immutable field is changed in Git repsitory, there are two ways to find the error message: +If an immutable field has been changed in a Git repository, there are two ways to find the error message: 1. If a notification webhook is set up, check the error message in notification channel. 2. Check the Flux Kustomization Controller log: `kubectl logs -f -n flux-system kustomize-controller-******` for error message containing text similar to `Invalid value: 1: field is immutable` @@ -127,7 +127,7 @@ spec: Generate your cluster configuration and add the GitOps configuration. For a full spec reference see the [Cluster Spec reference]({{< relref "../../reference/clusterspec/gitops" >}}). ->**_NOTE:_** After your cluster is created the cluster configuration will automatically be commited to your git repo. +>**_NOTE:_** After your cluster has been created the cluster configuration will automatically be committed to your git repo. 1. Create an EKS Anywhere cluster with GitOps enabled. diff --git a/docs/content/en/docs/tasks/troubleshoot/_troubleshooting.md b/docs/content/en/docs/tasks/troubleshoot/_troubleshooting.md index 918c6aeb8e1a..eec7968c56b0 100755 --- a/docs/content/en/docs/tasks/troubleshoot/_troubleshooting.md +++ b/docs/content/en/docs/tasks/troubleshoot/_troubleshooting.md @@ -154,8 +154,8 @@ To resolve the issue, set `insecure` to `false` and `thumbprint` to the TLS thum ``` "msg"="discovered IP address" ``` -The aforementioned log message can also appear with an address value of the controlplane in either of the ${CLUSTER_NAME}/logs/capv-controller-manager.log file -or the capv-controller-manager pod log which can be extracted with the follwoing command, +The aforementioned log message can also appear with an address value of the control plane in either of the ${CLUSTER_NAME}/logs/capv-controller-manager.log file +or the capv-controller-manager pod log which can be extracted with the following command, ```bash export KUBECONFIG=${PWD}/${CLUSTER_NAME}/generated/${CLUSTER_NAME}.kind.kubeconfig kubectl logs -f -n capv-system -l control-plane="controller-manager" -c manager diff --git a/docs/content/en/docs/tasks/workload/loadbalance/kubevip/arp.md b/docs/content/en/docs/tasks/workload/loadbalance/kubevip/arp.md index 07e1a45d9b75..5fded691d638 100755 --- a/docs/content/en/docs/tasks/workload/loadbalance/kubevip/arp.md +++ b/docs/content/en/docs/tasks/workload/loadbalance/kubevip/arp.md @@ -9,7 +9,7 @@ description: > -In ARP mode, kube-vip will perform leader election and assign the Virtul IP to the leader. +In ARP mode, kube-vip will perform leader election and assign the Virtual IP to the leader. This node will inherit the VIP and become the load-balancing leader within the cluster. @@ -42,13 +42,13 @@ You can use either a CIDR block or an IP range kubectl apply -f https://kube-vip.io/manifests/controller.yaml ``` -1. Create ClusterRoles and RoleBindings for kube-vip daemonset +1. Create ClusterRoles and RoleBindings for kube-vip Daemonset ```bash kubectl apply -f https://kube-vip.io/manifests/rbac.yaml ``` -1. Create the kube-vip daemonset +1. Create the kube-vip Daemonset An example manifest has been included at the end of this document which you can use in place of this step. diff --git a/docs/content/en/docs/tasks/workload/loadbalance/kubevip/bgp.md b/docs/content/en/docs/tasks/workload/loadbalance/kubevip/bgp.md index 13976e704ced..511599888d3f 100755 --- a/docs/content/en/docs/tasks/workload/loadbalance/kubevip/bgp.md +++ b/docs/content/en/docs/tasks/workload/loadbalance/kubevip/bgp.md @@ -43,13 +43,13 @@ You can use either a CIDR block or an IP range kubectl apply -f https://kube-vip.io/manifests/controller.yaml ``` -1. Create ClusterRoles and RoleBindings for kube-vip daemonset +1. Create ClusterRoles and RoleBindings for kube-vip Daemonset ```bash kubectl apply -f https://kube-vip.io/manifests/rbac.yaml ``` -1. Create the kube-vip daemonset +1. Create the kube-vip Daemonset ```bash alias kube-vip="docker run --network host --rm plndr/kube-vip:latest" @@ -75,7 +75,7 @@ You can use either a CIDR block or an IP range --bgppeers — Comma separated list of BGP peers in the format ``` - Below is an example daemonset creation command. + Below is an example Daemonset creation command. ```bash kube-vip manifest daemonset \ @@ -248,7 +248,7 @@ BGP configuration will vary depending upon network vendor equipment and local ne a. Individual BGP neighbors Determine the IP addresses of each of the EKS-A nodes via VMWare console or DHCP server allocation. - In the example below, node IP adresses are 10.69.20.165, 10.69.20.167, and 10.69.20.170. + In the example below, node IP addresses are 10.69.20.165, 10.69.20.167, and 10.69.20.170. Note that remote-as is the AS used as the bgp_as value in the generated example manifest above. ``` From 48ae059961801f7e1e673fe28e65224bef64a7b0 Mon Sep 17 00:00:00 2001 From: Mitali Paygude Date: Fri, 10 Dec 2021 03:31:15 +0530 Subject: [PATCH 2/2] Check if flux is configured for upgrade plan --- cmd/eksctl-anywhere/cmd/upgradeplan.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cmd/eksctl-anywhere/cmd/upgradeplan.go b/cmd/eksctl-anywhere/cmd/upgradeplan.go index 1170c9de74b9..0b901c7938e2 100644 --- a/cmd/eksctl-anywhere/cmd/upgradeplan.go +++ b/cmd/eksctl-anywhere/cmd/upgradeplan.go @@ -82,8 +82,14 @@ func (uc *upgradeClusterOptions) upgradePlanCluster(ctx context.Context) error { } componentChangeDiffs := eksaupgrader.EksaChangeDiff(currentSpec, newClusterSpec) - componentChangeDiffs.Append(fluxupgrader.FluxChangeDiff(currentSpec, newClusterSpec)) + if currentSpec.Cluster.Spec.GitOpsRef != nil || newClusterSpec.Cluster.Spec.GitOpsRef != nil { + componentChangeDiffs.Append(fluxupgrader.FluxChangeDiff(currentSpec, newClusterSpec)) + } + if componentChangeDiffs == nil { + fmt.Println("All the components are up to date with the latest versions") + return nil + } w := tabwriter.NewWriter(os.Stdout, 10, 4, 3, ' ', 0) fmt.Fprintln(w, "NAME\tCURRENT VERSION\tNEXT VERSION") for i := range componentChangeDiffs.ComponentReports {