feat: Support ARM endpoint with non-trusted certificate#553
feat: Support ARM endpoint with non-trusted certificate#553jackfrancis merged 10 commits intoAzure:masterfrom
Conversation
Codecov Report
@@ Coverage Diff @@
## master #553 +/- ##
==========================================
+ Coverage 54.75% 54.79% +0.03%
==========================================
Files 97 97
Lines 14708 14716 +8
==========================================
+ Hits 8054 8064 +10
+ Misses 5980 5979 -1
+ Partials 674 673 -1 |
|
@honcao, let's do this, to avoid adding add'l ARM deployment payload unnecessarily to Azure Stack-only scenarios. See: ☝️ in the
Does the above make sense? |
|
@jackfrancis , I will make the changes to implement your proposal |
| owner: root | ||
| content: !!binary | | ||
| {{WrapAsVariable "provisionConfigs"}} | ||
|
|
There was a problem hiding this comment.
Are we sure we need this custom controller manager scaffolding on agent nodes? For regular (non-Azure Stack) scenarios, the controller manager implementation is only on master nodes.
There was a problem hiding this comment.
It is also true that controller manager implementation is only on master nodes.
I updated ensureCertificates to check the existence kube controller file before update it.
The logic now are:
-
on Master trust the certificate and update the kube controller config
-
on Agent, only trust the certificate
| hostNetwork: true | ||
| containers: | ||
| - name: kube-controller-manager | ||
| image: <img> |
There was a problem hiding this comment.
I don't see anything that will properly inject a value into <img>
There was a problem hiding this comment.
Got it, you are re-using the kube-controller-manager.yaml filename for Azure Stack scenarios.
| image: <img> | ||
| imagePullPolicy: IfNotPresent | ||
| command: ["/hyperkube", "controller-manager"] | ||
| args: [<args>] |
There was a problem hiding this comment.
I don't see anything that will properly inject a value into <args>
There was a problem hiding this comment.
src/github.com/Azure/aks-engine/parts/k8s/kubernetesmastercustomdata.yml
line 319
/opt/azure/containers/kubelet.sh will replace the
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: honcao, jackfrancis The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Reason for Change:
feat: Support ARM endpoint with non-trusted certificate
Issue Fixed:
Fixes #280
Requirements:
Notes:
Customer will provide the certificate to binding with external endpoint. e.g ARM endpoint.
The certificate could be non-trusted on the Linux Machine since customer could use cooperated signed certificate to deploy azure stack.
Right now, the k8s controller will be not be able to communicate back to ARM endpoint with non-trusted certificate.
AKS engine would need trusted the certificate and mount the certificate to the k8s controllers container.