# Enable Alpha/Beta Features on Platform9 Managed Kubernetes API Server

## Problem

A cluster-wide alpha or beta feature is not enabled by default in the version of Platform9 Managed Kubernetes (PMK) being used.

## Environment

* Platform9 Managed Kubernetes - All Versions

## Procedure

1. Verify the Kubernetes versions being used.

{% tabs %}
{% tab title="None" %}

```none
$ kubectl versionClient Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:38:32Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}                                                                                                      Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:25:46Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
```

{% endtab %}
{% endtabs %}

2. Refer to the table at [Kubernetes Reference: Feature Gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to determine if the desired alpha or beta feature is enabled or disabled by default in the version of PMK currently installed.
3. Open the file at */etc/pf9/kube.d/master.yaml* with your preferred text editor.
4. Search for the string *-* `name:"apiserver"`.
5. In this section, add an entry as displayed below with the proper flag and value given in the [Kubernetes Reference: Feature Gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) document.

{% tabs %}
{% tab title="None" %}

```none
- name: "apiserver" 
  image: "gcr.io/google_containers/hyperkube:v1.10.11" 
  command:
  - "/hyperkube"
  - "apiserver"
  - "--admissioncontrol=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,ResourceQuota,Priority"
```

{% endtab %}
{% endtabs %}

6. Restart the ***pf9-kube*** service on the master node to enable the changes.

{% tabs %}
{% tab title="None" %}

```none
# systemctl restart pf9-kube.service
```

{% endtab %}
{% endtabs %}

**Warning:** Be advised that enabling Alpha features may introduce bugs. Platform9 will be unable to support issues arising from enabling these features as well as any Beta features which have not been explicitly released with a version of PMK. These features should be used for testing purposes only.
