Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix typos and links in Image Builder book #1095

Merged
merged 1 commit into from
Mar 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/book/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
[Introduction](./introduction.md)
- [CAPI](./capi/capi.md)
- [Quick Start](./capi/quickstart.md)
- [3DS OUTSCALE](./capi/providers/3dsoutscale.md)
- [AWS](./capi/providers/aws.md)
- [Azure](./capi/providers/azure.md)
- [CloudStack](./capi/providers/cloudstack.md)
Expand Down
18 changes: 9 additions & 9 deletions docs/book/src/capi/capi.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,20 +59,20 @@ Several variables can be used to customize the image build.
| `extra_rpms` | This can be set to a space delimited string containing the names of additional RPM packages to install | `""` |
| `http_proxy` | This can be set to URL to use as an HTTP proxy during the Ansible stage of building | `""` |
| `https_proxy` | This can be set to URL to use as an HTTPS proxy during the Ansible stage of building | `""` |
| `kubernetes_deb_version` | This can be set to the version of kubernetes which will be installed in debian based image | `"1.23.15-00"` |
| `kubernetes_rpm_version` | This can be set to the version of kubernetes which will be installed in rpm based image | `"1.23.15-0"` |
| `kubernetes_semver` | This can be set to semantic verion of kubernetes which will be installed in the image | `"v1.23.15"` |
| `kubernetes_series` | This can be set to series version kubernetes which will be installed in the image | `"v1.23"` |
| `no_proxy` | This can be set to a comma-delimited list of domains that should be exluded from proxying during the Ansible stage of building | `""` |
| `kubernetes_deb_version` | This can be set to the version of Kubernetes which will be installed in debian based image | `"1.23.15-00"` |
| `kubernetes_rpm_version` | This can be set to the version of Kubernetes which will be installed in rpm based image | `"1.23.15-0"` |
| `kubernetes_semver` | This can be set to semantic verion of Kubernetes which will be installed in the image | `"v1.23.15"` |
| `kubernetes_series` | This can be set to series version Kubernetes which will be installed in the image | `"v1.23"` |
| `no_proxy` | This can be set to a comma-delimited list of domains that should be excluded from proxying during the Ansible stage of building | `""` |
| `reenable_public_repos` | If set to `"false"`, the package repositories disabled by setting `disable_public_repos` will remain disabled at the end of the build. | `"true"` |
| `remove_extra_repos` | If set to `"true"`, the package repositories added to the OS through the use of `extra_repos` will be removed at the end of the build. | `"false"` |
| `pause_image` | This can be used to override the default pause image used to hold the network namespace and IP for the pod. | `"registry.k8s.io/pause:3.9"` |
| `pip_conf_file` | The path to a file to be copied into the image at `/etc/pip.conf` for use as a global config file. This file will be removed at the end of the build if `remove_extra_repos` is `true`. | `""` |
| `containerd_additional_settings` | This is a string, base64 encoded, that contains additional configuration for containerd. It must be version 2 and not contain the pause image configuration block. See `image-builder/images/capi/ansible/roles/containerd/templates/etc/containerd/config.toml` for the template. | `null` |
| `load_additional_components` | If set to `"true"`, the `load_additional_components` role will be executed. This needs to be set to `"true"` if any of `additional_url_images`, `additional_registry_images` or `additional_executables` are set to `"true"` | `"false"` |
| `additional_url_images` | Set this to `"true"` to load addtional container images using a tar url. `additional_url_images_list` var should be set to a comma seperated string of tar urls of the container images. | `"false"` |
| `additional_registry_images` | Set this to `"true"` to load addtional container images using their registry url. `additional_registry_images_list` var should be set to a comma seperated string of registry urls of the container images. | `"false"` |
| `additional_executables` | Set this to `"true"` to load addtional executables from a url. `additional_executables_list` var should be set to a comma seperated string of urls. `additional_executables_destination_path` should be set to the destination path of the executables. | `"false"` |
| `additional_url_images` | Set this to `"true"` to load additional container images using a tar url. `additional_url_images_list` var should be set to a comma separated string of tar urls of the container images. | `"false"` |
| `additional_registry_images` | Set this to `"true"` to load additional container images using their registry url. `additional_registry_images_list` var should be set to a comma separated string of registry urls of the container images. | `"false"` |
| `additional_executables` | Set this to `"true"` to load additional executables from a url. `additional_executables_list` var should be set to a comma separated string of urls. `additional_executables_destination_path` should be set to the destination path of the executables. | `"false"` |
| `ansible_user_vars` | A space delimited string that the user can pass to use in the ansible roles | `""` |
| `containerd_config_file` | Custom containerd config file a user can pass to override the default. Use `ansible_user_vars` to pass this var | `""` |

Expand Down Expand Up @@ -172,7 +172,7 @@ PACKER_VAR_FILES=proxy.json make build-node-ova-local-photon-3
```


##### Loading addtional components using `additional_components.json`
##### Loading additional components using `additional_components.json`

```json
{
Expand Down
4 changes: 2 additions & 2 deletions docs/book/src/capi/container-image.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ docker pull gcr.io/k8s-staging-scl-image-builder/cluster-node-image-builder-amd6
### Examples

- AMI
- If the AWS-CLI is already installed on your machine, you can simply mount the `~/.aws` folder that stores all the required credentials.
- If the AWS CLI is already installed on your machine, you can simply mount the `~/.aws` folder that stores all the required credentials.

```commandline
docker run -it --rm -v /Users/<user>/.aws:/home/imagebuilder/.aws registry.k8s.io/scl-image-builder/cluster-node-image-builder-amd64:v0.1.13 build-ami-ubuntu-2004
Expand Down Expand Up @@ -57,7 +57,7 @@ docker pull gcr.io/k8s-staging-scl-image-builder/cluster-node-image-builder-amd6
- vSphere OVA
- `vsphere.json` configuration file with user and hypervisor credentials. A template of this file can be found [here](https://github.com/kubernetes-sigs/image-builder/blob/master/images/capi/packer/ova/vsphere.json)

- Docker's `--net=host` option to ensure http server starts with the host IP and not the docker container IP. This option is Linux specific and thus implies that it can be run only from a Linux machine.
- Docker's `--net=host` option to ensure http server starts with the host IP and not the Docker container IP. This option is Linux specific and thus implies that it can be run only from a Linux machine.

```commandline
docker run -it --rm --net=host --env PACKER_VAR_FILES=/home/imagebuilder/vsphere.json -v <complete path of vsphere.json>:/home/imagebuilder/vsphere.json registry.k8s.io/scl-image-builder/cluster-node-image-builder-amd64:v0.1.13 build-node-ova-vsphere-ubuntu-2004
Expand Down
34 changes: 17 additions & 17 deletions docs/book/src/capi/goss/goss.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Testing CAPI Images

## GOSS
## Goss

[Goss](https://github.com/aelsabbahy/goss) is a YAML based serverspec alternative
[Goss](https://github.com/goss-org/goss) is a YAML based serverspec alternative
tool for validating a server’s configuration. It is used in conjunction with
[packer-provisioner-goss](https://github.com/YaleUniversity/packer-provisioner-goss/releases)
to test if the images have all requisite components to work with cluster API.
Expand All @@ -20,8 +20,8 @@ to test if the images have all requisite components to work with cluster API.
| Windows | aws, azure, ova |


### Prerequisites for Running GOSS
GOSS runs as a part of image building through a packer provisioner.
### Prerequisites for Running Goss
Goss runs as a part of image building through a Packer provisioner.
Supported arguments are passed through file: `packer/config/goss-args.json`
```json
{
Expand All @@ -40,33 +40,33 @@ Supported arguments are passed through file: `packer/config/goss-args.json`
"goss_version": "0.3.16"
}
```
##### Supported values for some of the arguments can be found [here](https://github.com/aelsabbahy/goss).
> Enabling the `goss_inspect_mode` lets you build image even if goss tests fail.
##### Supported values for some of the arguments can be found [here](https://github.com/goss-org/goss).
> Enabling the `goss_inspect_mode` lets you build image even if Goss tests fail.
#### Manually setup GOSS
- Start a VM from capi image
- Copy complete goss dir `packer/goss` to remote machine
- Download and setup GOSS (use version from goss-args) on the remote machine. [Instructions](https://github.com/aelsabbahy/goss#latest)
- Custom goss version can be installed if testing custom server-specs supported by higher version of GOSS.
- All the variables used in GOSS are declared in `packer/goss/goss-vars.yaml`
- Add more custom serverspec to corresponding GOSS files. Like, `goss-command.yaml` or `goss-kernel-params.yaml`
#### Manually setup Goss
- Start a VM from CAPI image
- Copy complete Goss dir `packer/goss` to remote machine
- Download and setup Goss (use version from goss-args) on the remote machine. [Instructions](https://github.com/goss-org/goss#latest)
- Custom Goss version can be installed if testing custom server-specs supported by higher version of Goss.
- All the variables used in Goss are declared in `packer/goss/goss-vars.yaml`
- Add more custom serverspec to corresponding Goss files. Like, `goss-command.yaml` or `goss-kernel-params.yaml`
```yaml
some_cli --version:
exit-status: 0
stdout: [{{ .Vars.some_cli_version }}]
stderr: []
timeout: 0
```
- Add more custom variables to corresponding GOSS file `goss-vars.yaml`.
- Add more custom variables to corresponding Goss file `goss-vars.yaml`.
```yaml
some_cli_version: "1.4.5+k8s-1"
```
- Fill the variable values in `goss-vars.yaml` or specify in `--vars-inline` while executing GOSS in below steps
- Render the goss template to fix any problems with parsing variable and serverspec yamls
- Fill the variable values in `goss-vars.yaml` or specify in `--vars-inline` while executing Goss in below steps
- Render the Goss template to fix any problems with parsing variable and serverspec YAMLs
```bash
sudo goss -g goss/goss.yaml --vars /tmp/goss/goss-vars.yaml --vars-inline '{"ARCH":"amd64","OS":"Ubuntu","PROVIDER":"aws", some_cli_version":"1.3.4"}' render
```
- Run the GOSS tests
- Run the Goss tests
```bash
sudo goss -g goss/goss.yaml --vars /tmp/goss/goss-vars.yaml --vars-inline '{"ARCH":"amd64","OS":"Ubuntu","PROVIDER":"aws", some_cli_version":"1.3.4"}' validate --retry-timeout 0s --sleep 1s -f json -o pretty
```
4 changes: 2 additions & 2 deletions docs/book/src/capi/providers/3dsoutscale.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Building Images for 3DSOutscale
# Building Images for 3DS OUTSCALE

## Prerequisites for 3DSOutscale
## Prerequisites for 3DS OUTSCALE

- A Outscale account
- The Outscale CLI ([osc-cli](https://github.com/outscale/osc-cli)) installed and configured
Expand Down
6 changes: 3 additions & 3 deletions docs/book/src/capi/providers/azure.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ From the `images/capi` directory, run `make build-azure-sig-ubuntu-1804`

From the `images/capi` directory, run `make build-azure-vhd-ubuntu-1804`

> If building the windows images from a Mac there is a known issue with connectivity. Please see details on running [MacOS with ansible](../windows/windows.md#macos-with-ansible).
> If building the Windows images from a Mac there is a known issue with connectivity. Please see details on running [macOS with ansible](../windows/windows.md#macos-with-ansible).
### Hyper-V Generation 2 VHDs

Expand Down Expand Up @@ -72,5 +72,5 @@ az image create -n testvmimage -g cluster-api-images --os-type <Windows/Linux> -
az vm create -n testvm --image testvmimage -g cluster-api-images
```

### Debugging packer scripts
There are several ways to debug packer scripts: https://www.packer.io/docs/other/debugging.html
### Debugging Packer scripts
There are several ways to debug Packer scripts: https://www.packer.io/docs/other/debugging.html
6 changes: 3 additions & 3 deletions docs/book/src/capi/providers/cloudstack.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ $ make deps-qemu

From the `images/capi` directory, run `make build-qemu-xxxx-yyyy`. The image is built and located in images/capi/output/BUILD_NAME+kube-KUBERNETES_VERSION. Please replace xxxx with the OS distribution and yyyy with the OS version depending on WHAT you want to build the image for.

For building a ubuntu-2004 based capi image, run the following commands -
For building a ubuntu-2004 based CAPI image, run the following commands -

```bash
$ git clone https://github.com/kubernetes-sigs/image-builder.git
Expand All @@ -67,7 +67,7 @@ Run the following script to ensure the required dependencies are met :
$ ./hack/ensure-vhdutil.sh
```

Follow the preceding steps to build the qcow2 capi template for KVM. It will display the location of the template to the terminal as shown :
Follow the preceding steps to build the qcow2 CAPI template for KVM. It will display the location of the template to the terminal as shown :
```bash
$ make build-qemu-ubuntu-2004
.............................
Expand Down Expand Up @@ -98,7 +98,7 @@ Run the following script to ensure the required dependencies are met :
$ ./hack/ensure-ovftool.sh
```

Follow the preceding steps to build the qcow2 capi template for KVM. It will display the location of the template to the terminal as shown :
Follow the preceding steps to build the qcow2 CAPI template for KVM. It will display the location of the template to the terminal as shown :
```bash
$ make build-qemu-ubuntu-2004
.............................
Expand Down
6 changes: 3 additions & 3 deletions docs/book/src/capi/providers/gcp.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
From your google cloud console, follow [these instructions](https://cloud.google.com/iam/docs/creating-managing-service-accounts#creating)
to create a new service account with Editor permissions. Thereafter, generate a JSON Key and store it somewhere safe.

Use cloud shell to install ansible, packer and proceed with building the CAPI compliant vm image.
Use cloud shell to install Ansible, Packer and proceed with building the CAPI compliant VM image.

### Install Ansible and Packer

Expand All @@ -20,11 +20,11 @@ $ export GCP_PROJECT_ID=<project-id>
# Export the path to the service account credentials created in the step above
$ export GOOGLE_APPLICATION_CREDENTIALS=</path/to/serviceaccount-key.json>

# If you dont have the image-builder repository
# If you don't have the image-builder repository
$ git clone https://github.com/kubernetes-sigs/image-builder.git

$ cd image-builder/images/capi/
# Run the target make deps-gce to install ansible and packer
# Run the target make deps-gce to install Ansible and Packer
$ make deps-gce
```

Expand Down
4 changes: 2 additions & 2 deletions docs/book/src/capi/providers/nutanix.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
## Install Ansible and Packer

```bash
# If you dont have the image-builder repository
# If you don't have the image-builder repository
$ git clone https://github.com/kubernetes-sigs/image-builder.git

$ cd image-builder/images/capi/
# Run the target make deps-nutanix to install ansible and packer
# Run the target make deps-nutanix to install Ansible and Packer
$ make deps-nutanix
```
## Prerequisites for Nutanix builder
Expand Down
6 changes: 3 additions & 3 deletions docs/book/src/capi/providers/oci.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ PACKER_VAR_FILES=oci.json make build-oci-oracle-linux-8
#### Build an Arm based image

Building an Arm based image requires some overrides to use the correct installation files . An example for an
`oci.json` file for Arm is shown below. The parameters for containerd, crictl and kubernetes
`oci.json` file for Arm is shown below. The parameters for containerd, crictl and Kubernetes
has to point to the corresponding URL for Arm. The containerd SHA can be changed appropriately, the containerd version
is defined in images/capi/packer/config/containerd.json.

Expand Down Expand Up @@ -112,12 +112,12 @@ If the password doesn't comply WinRM will fail to connect to the instance since
password failed to be updated.

> NOTE: The `OPC_USER_PASSWORD` will be set in the `winrm_bootstrap.txt` file temporarily, while building the image.
This is required in order for winrm to access the instance building the image. Once the build process is complete
This is required in order for WinRM to access the instance building the image. Once the build process is complete
the password will be deleted along with the fil so the password isn't stored long term in a cleartext file.

#### Build a Windows based image

The following example json would use the [Windows Server 2019 Datacenter Edition BM E4 image in the us-ashburn-1 region](https://docs.oracle.com/en-us/iaas/images/image/4d56c93a-2165-49b0-9c6e-f9e9a9b05011/).
The following example JSON would use the [Windows Server 2019 Datacenter Edition BM E4 image in the us-ashburn-1 region](https://docs.oracle.com/en-us/iaas/images/image/4d56c93a-2165-49b0-9c6e-f9e9a9b05011/).

```json
{
Expand Down
2 changes: 1 addition & 1 deletion docs/book/src/capi/providers/openstack.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ make deps-qemu

From the `images/capi` directory, run `make build-qemu-ubuntu-xxxx`. The image is built and located in images/capi/output/BUILD_NAME+kube-KUBERNETES_VERSION. Please replace xxxx with `1804` or `2004` depending on the version you want to build the image for.

For building a ubuntu-2004 based capi image, run the following commands -
For building a ubuntu-2004 based CAPI image, run the following commands -

```bash
$ git clone https://github.com/kubernetes-sigs/image-builder.git
Expand Down
2 changes: 1 addition & 1 deletion docs/book/src/capi/providers/raw.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ make deps-raw

From the `images/capi` directory, run `make build-raw-ubuntu-xxxx`. The image is built and located in images/capi/output/BUILD_NAME+kube-KUBERNETES_VERSION. Please replace xxxx with `1804` or `2004` depending on the version you want to build the image for.

For building a ubuntu-2004 based capi image, run the following commands -
For building a ubuntu-2004 based CAPI image, run the following commands -

```bash
$ git clone https://github.com/kubernetes-sigs/image-builder.git
Expand Down
2 changes: 1 addition & 1 deletion docs/book/src/capi/providers/virtualbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ make build-node-vbox-local-windows-2019

#### Windows ISO download

This field should point to an Windows evaluation ISO, it can be found at [Microsoft Evaluation Center](https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server) page. Make sure you have the correct Windows Server version.
This field should point to a Windows evaluation ISO, it can be found at [Microsoft Evaluation Center](https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2019) page. Make sure you have the correct Windows Server version.

```json
{
Expand Down
Loading