Browse Source
OCI Cloud Provider Update (#4186)
OCI Cloud Provider Update (#4186)
* OCI subnet AD 2 is not required for CCM >= 0.7.0 Reorganize OCI provider to generate configuration, rather than pull Add pull secret option to OCI cloud provider * Updated oci example to document new parameterspull/4216/head
committed by
Kubernetes Prow Robot
10 changed files with 241 additions and 61 deletions
Unified View
Diff Options
-
3inventory/sample/group_vars/all/oci.yml
-
3roles/kubernetes-apps/cloud_controller/oci/defaults/main.yml
-
6roles/kubernetes-apps/cloud_controller/oci/tasks/credentials-check.yml
-
42roles/kubernetes-apps/cloud_controller/oci/tasks/main.yml
-
8roles/kubernetes-apps/cloud_controller/oci/templates/cloud-provider.yml.j2
-
15roles/kubernetes-apps/cloud_controller/oci/templates/controller-manager-config.yml.j2
-
69roles/kubernetes-apps/cloud_controller/oci/templates/oci-cloud-provider.yml.j2
-
1roles/kubernetes-apps/cluster_roles/defaults/main.yml
-
126roles/kubernetes-apps/cluster_roles/files/oci-rbac.yml
-
29roles/kubernetes-apps/cluster_roles/tasks/oci.yml
@ -1,8 +0,0 @@ |
|||||
apiVersion: v1 |
|
||||
data: |
|
||||
cloud-provider.yaml: {{ controller_manager_config_base64 }} |
|
||||
kind: Secret |
|
||||
metadata: |
|
||||
name: oci-cloud-controller-manager |
|
||||
namespace: kube-system |
|
||||
type: Opaque |
|
@ -0,0 +1,69 @@ |
|||||
|
apiVersion: v1 |
||||
|
data: |
||||
|
cloud-provider.yaml: {{ controller_manager_config_base64 }} |
||||
|
kind: Secret |
||||
|
metadata: |
||||
|
name: oci-cloud-controller-manager |
||||
|
namespace: kube-system |
||||
|
type: Opaque |
||||
|
|
||||
|
--- |
||||
|
apiVersion: apps/v1 |
||||
|
kind: DaemonSet |
||||
|
metadata: |
||||
|
name: oci-cloud-controller-manager |
||||
|
namespace: kube-system |
||||
|
labels: |
||||
|
k8s-app: oci-cloud-controller-manager |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
component: oci-cloud-controller-manager |
||||
|
tier: control-plane |
||||
|
updateStrategy: |
||||
|
type: RollingUpdate |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
component: oci-cloud-controller-manager |
||||
|
tier: control-plane |
||||
|
spec: |
||||
|
{% if oci_cloud_controller_pull_secret is defined %} |
||||
|
imagePullSecrets: |
||||
|
- name: {{oci_cloud_controller_pull_secret}} |
||||
|
{% endif %} |
||||
|
serviceAccountName: cloud-controller-manager |
||||
|
hostNetwork: true |
||||
|
nodeSelector: |
||||
|
node-role.kubernetes.io/master: "" |
||||
|
tolerations: |
||||
|
- key: node.cloudprovider.kubernetes.io/uninitialized |
||||
|
value: "true" |
||||
|
effect: NoSchedule |
||||
|
- key: node-role.kubernetes.io/master |
||||
|
operator: Exists |
||||
|
effect: NoSchedule |
||||
|
volumes: |
||||
|
- name: cfg |
||||
|
secret: |
||||
|
secretName: oci-cloud-controller-manager |
||||
|
- name: kubernetes |
||||
|
hostPath: |
||||
|
path: /etc/kubernetes |
||||
|
containers: |
||||
|
- name: oci-cloud-controller-manager |
||||
|
image: {{oci_cloud_controller_pull_source}}:{{oci_cloud_controller_version}} |
||||
|
command: ["/usr/local/bin/oci-cloud-controller-manager"] |
||||
|
args: |
||||
|
- --cloud-config=/etc/oci/cloud-provider.yaml |
||||
|
- --cloud-provider=oci |
||||
|
- --leader-elect-resource-lock=configmaps |
||||
|
- -v=2 |
||||
|
volumeMounts: |
||||
|
- name: cfg |
||||
|
mountPath: /etc/oci |
||||
|
readOnly: true |
||||
|
- name: kubernetes |
||||
|
mountPath: /etc/kubernetes |
||||
|
readOnly: true |
||||
|
|
@ -1,2 +1 @@ |
|||||
--- |
--- |
||||
oci_cloud_controller_version: 0.5.0 |
|
@ -0,0 +1,126 @@ |
|||||
|
--- |
||||
|
apiVersion: v1 |
||||
|
kind: ServiceAccount |
||||
|
metadata: |
||||
|
name: cloud-controller-manager |
||||
|
namespace: kube-system |
||||
|
--- |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: system:cloud-controller-manager |
||||
|
labels: |
||||
|
kubernetes.io/cluster-service: "true" |
||||
|
rules: |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- nodes |
||||
|
verbs: |
||||
|
- '*' |
||||
|
|
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- nodes/status |
||||
|
verbs: |
||||
|
- patch |
||||
|
|
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- services |
||||
|
verbs: |
||||
|
- list |
||||
|
- watch |
||||
|
- patch |
||||
|
|
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- services/status |
||||
|
verbs: |
||||
|
- update |
||||
|
|
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- events |
||||
|
verbs: |
||||
|
- create |
||||
|
- patch |
||||
|
- update |
||||
|
|
||||
|
# For leader election |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- endpoints |
||||
|
verbs: |
||||
|
- create |
||||
|
|
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- endpoints |
||||
|
resourceNames: |
||||
|
- "cloud-controller-manager" |
||||
|
verbs: |
||||
|
- get |
||||
|
- list |
||||
|
- watch |
||||
|
- update |
||||
|
|
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- configmaps |
||||
|
verbs: |
||||
|
- create |
||||
|
|
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- configmaps |
||||
|
resourceNames: |
||||
|
- "cloud-controller-manager" |
||||
|
verbs: |
||||
|
- get |
||||
|
- update |
||||
|
|
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- serviceaccounts |
||||
|
verbs: |
||||
|
- create |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- secrets |
||||
|
verbs: |
||||
|
- get |
||||
|
- list |
||||
|
|
||||
|
# For the PVL |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- persistentvolumes |
||||
|
verbs: |
||||
|
- list |
||||
|
- watch |
||||
|
- patch |
||||
|
--- |
||||
|
kind: ClusterRoleBinding |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
metadata: |
||||
|
name: oci-cloud-controller-manager |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: system:cloud-controller-manager |
||||
|
subjects: |
||||
|
- kind: ServiceAccount |
||||
|
name: cloud-controller-manager |
||||
|
namespace: kube-system |
@ -1,23 +1,18 @@ |
|||||
--- |
--- |
||||
- name: Get OCI ClusterRole, and ClusterRoleBinding |
|
||||
get_url: |
|
||||
url: "https://raw.githubusercontent.com/oracle/oci-cloud-controller-manager/{{oci_cloud_controller_version}}/manifests/oci-cloud-controller-manager-rbac.yaml" |
|
||||
dest: "/tmp/oci-cloud-controller-manager-rbac.yaml" |
|
||||
force: yes |
|
||||
register: result |
|
||||
until: "'OK' in result.msg" |
|
||||
retries: 4 |
|
||||
delay: "{{ retry_stagger | random + 3 }}" |
|
||||
|
- name: Copy OCI RBAC Manifest |
||||
|
copy: |
||||
|
src: "oci-rbac.yml" |
||||
|
dest: "{{ kube_config_dir }}/oci-rbac.yml" |
||||
when: |
when: |
||||
- cloud_provider is defined |
|
||||
- cloud_provider == 'oci' |
|
||||
- inventory_hostname == groups['kube-master'][0] |
|
||||
|
- cloud_provider is defined |
||||
|
- cloud_provider == 'oci' |
||||
|
- inventory_hostname == groups['kube-master'][0] |
||||
|
|
||||
- name: Apply OCI ClusterRole, and ClusterRoleBinding |
|
||||
|
- name: Apply OCI RBAC |
||||
kube: |
kube: |
||||
kubectl: "{{bin_dir}}/kubectl" |
kubectl: "{{bin_dir}}/kubectl" |
||||
filename: "/tmp/oci-cloud-controller-manager-rbac.yaml" |
|
||||
|
filename: "{{ kube_config_dir }}/oci-rbac.yml" |
||||
when: |
when: |
||||
- cloud_provider is defined |
|
||||
- cloud_provider == 'oci' |
|
||||
- inventory_hostname == groups['kube-master'][0] |
|
||||
|
- cloud_provider is defined |
||||
|
- cloud_provider == 'oci' |
||||
|
- inventory_hostname == groups['kube-master'][0] |
Write
Preview
Loading…
Cancel
Save