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
Split 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: |
|||
- 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: |
|||
kubectl: "{{bin_dir}}/kubectl" |
|||
filename: "/tmp/oci-cloud-controller-manager-rbac.yaml" |
|||
filename: "{{ kube_config_dir }}/oci-rbac.yml" |
|||
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