diff options
Diffstat (limited to 'ci/kubernetes')
-rw-r--r-- | ci/kubernetes/kube_cni_multus.yml | 91 | ||||
-rw-r--r-- | ci/kubernetes/nginx-app.yaml | 31 | ||||
-rwxr-xr-x | ci/kubernetes/post-install.sh | 12 |
3 files changed, 134 insertions, 0 deletions
diff --git a/ci/kubernetes/kube_cni_multus.yml b/ci/kubernetes/kube_cni_multus.yml new file mode 100644 index 00000000..219af57c --- /dev/null +++ b/ci/kubernetes/kube_cni_multus.yml @@ -0,0 +1,91 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: cnimultus + namespace: kube-system +--- +kind: ConfigMap +apiVersion: v1 +metadata: + name: kube-cnimultus-cfg + namespace: kube-system + labels: + tier: node + app: cnimultus +data: + cni-conf.json: | + { + "name": "multus", + "type": "multus", + "delegates": [ + { + "name": "CDK-flannel-network", + "type": "flannel", + "masterplugin": true + "delegate": { + "isDefaultGateway": true + } + } + }, + { + "name": "mynet", + "type": "bridge", + "bridge": "cni0", + "isGateway": true, + "ipMasq": true, + "ipam": { + "type": "host-local", + "subnet": "10.22.0.0/16", + "routes": [ + { "dst": "0.0.0.0/0" } + ] + } + } + ] + } +--- +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: kube-cnimultus-ds + namespace: kube-system + labels: + tier: node + app: cnimultus +spec: + template: + metadata: + labels: + tier: node + app: cnimultus + spec: + hostNetwork: true + nodeSelector: + beta.kubernetes.io/arch: amd64 + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + serviceAccountName: cnimultus + containers: + - name: install-cni + image: openretriever/cnimultus + command: [ "/bin/bash", "/cni/install_cni.sh" ] + volumeMounts: + - name: cni-bin + mountPath: /opt/cni/bin + - name: cni-cfg + mountPath: /etc/cni/net.d + - name: cnimultus-cfg + mountPath: /etc/kube-cnimultus + volumes: + - name: cni-bin + hostPath: + path: /opt/cni/bin + - name: cni-cfg + hostPath: + path: /etc/cni/net.d + - name: cnimultus-cfg + configMap: + name: kube-cnimultus-cfg diff --git a/ci/kubernetes/nginx-app.yaml b/ci/kubernetes/nginx-app.yaml new file mode 100644 index 00000000..f80881a2 --- /dev/null +++ b/ci/kubernetes/nginx-app.yaml @@ -0,0 +1,31 @@ +apiVersion: v1 +kind: Service +metadata: + name: nginx + labels: + app: nginx +spec: + type: NodePort + ports: + - port: 80 + protocol: TCP + name: http + selector: + app: nginx +--- +apiVersion: v1 +kind: ReplicationController +metadata: + name: nginx +spec: + replicas: 2 + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx + ports: + - containerPort: 80 diff --git a/ci/kubernetes/post-install.sh b/ci/kubernetes/post-install.sh new file mode 100755 index 00000000..104f9794 --- /dev/null +++ b/ci/kubernetes/post-install.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -ex + +if [[ $1 == *"multus"* ]]; then + /snap/bin/kubectl apply -f kubernetes/kube_cni_multus.yml +fi + +/snap/bin/kubectl apply -f kubernetes/nginx-app.yaml +/snap/bin/kubectl cluster-info +/snap/bin/kubectl get nodes +/snap/bin/kubectl get pods --all-namespaces +/snap/bin/kubectl get services,endpoints,ingress --all-namespaces |