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

Provide a way to modify the kube-apiserver config same as openshift-apiserver. #2677

Closed
praveenkumar opened this issue Aug 8, 2018 · 7 comments

Comments

@praveenkumar
Copy link
Contributor

General information

  • Minishift version:
  • OS: Linux / macOS / Windows
  • Hypervisor: KVM / xhyve / Hyper-V / VirtualBox

With 3.10 now there is now 2 different config one for openshift-apiserver which you can modify with the minishift config set command and other one is for kube-apiserver for which we don't have any straightforward way to modify.

We might need to add flag to openshift config command which also take kube-apiserver changes and then restart the respective container.

@amitkrout
Copy link
Contributor

amitkrout commented Aug 9, 2018

Pasting the exact lines of Veer Muchandi

I tried that option. It seems to bring up the ValidationAdmissionWebhook and MutatingAdmissionWebhook per the logs here:

$ oc logs -f master-api-localhost  -n kube-system | more
..
..
I0808 00:18:11.861983       1 plugins.go:149] Loaded 1 admission controller(s) successfully in the following order: MutatingAdmissionWebhook.
I0808 00:18:11.862037       1 plugins.go:149] Loaded 1 admission controller(s) successfully in the following order: ValidatingAdmissionWebhook.

However, the behavior is not same as doing this with “oc cluster up”. The instructions for oc cluster up are here https://github.com/knative/docs/blob/master/install/Knative-with-OpenShift.md
Knative deployments are not going through inspite of these webhooks being active on minishift. Perhaps this has to be tested in parallel with “oc cluster up” to figure out why it works with “oc cluster up” and not with minishift.

Here is what we have to do to test:

  1. Follow instructions here https://github.com/knative/docs/blob/master/install/Knative-with-OpenShift.md and deploy native on minishift
  2. Deploy an application this way https://github.com/knative/docs/blob/master/install/getting-started-knative-app.md and test

Also one more question-

Is there an easy way to provide extra-config to minishift like for qinikube

minikube start --memory=8192 --cpus=4 \
  --kubernetes-version=v1.10.5 \
  --vm-driver=hyperkit \
  --bootstrapper=kubeadm \
  --extra-config=controller-manager.cluster-signing-cert-file="/var/lib/localkube/certs/ca.crt" \
  --extra-config=controller-manager.cluster-signing-key-file="/var/lib/localkube/certs/ca.key" \
  --extra-config=apiserver.admission-control="LimitRanger,NamespaceExists,NamespaceLifecycle,ResourceQuota,ServiceAccount,DefaultStorageClass,MutatingAdmissionWebhook"

@praveenkumar
Copy link
Contributor Author

@amitkrout Thanks for putting it here 💯

@VeerMuchandi
Copy link

@amitkrout Thanks for posting here.
@praveenkumar Any next steps for me to figure out?

@praveenkumar
Copy link
Contributor Author

Any next steps for me to figure out?

@VeerMuchandi I didn't tried it myself, will do it soon (currently in conference) and get back to you.

Is there an easy way to provide extra-config to minishift like for minikube

@VeerMuchandi we don't have it as it is :( but we can think it through and add if required that kind of stuff.

@bbrowning
Copy link

As far as I can tell, validating and mutating admission webhooks are never being called on minishift. To use Knative apps as a specific example, the reason they're never coming up is because the MutatingAdmissionWebhook used by Knative to set some defaults is never getting called. Follow the Knative install instructions above does result in the webhook being called when using oc cluster up.

@VeerMuchandi
Copy link

VeerMuchandi commented Aug 22, 2018 via email

@literalice
Copy link

How about using a addon?

I've tried to use knative on the addon and It seems to work correctly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants