diff --git a/azure-pipelines-1.yml b/azure-pipelines-1.yml deleted file mode 100644 index 37a9233..0000000 --- a/azure-pipelines-1.yml +++ /dev/null @@ -1,67 +0,0 @@ -trigger: -- test - - -variables: - - # Container registry service connection established during pipeline creation - dockerRegistryServiceConnection: '855289e7-1034-4e42-90b4-38c072ecefcb' - imageRepository: 'voloeventhub' - containerRegistry: 'voloeventhub.azurecr.io' - dockerfilePath: '**/Dockerfile.EventHub.Web' - tag: '$(Build.BuildNumber)' - - - # Agent VM image name - vmImageName: 'ubuntu-latest' - - -stages: -- stage: Build - displayName: Build stage - jobs: - - job: Build - displayName: Build - pool: - vmImage: $(vmImageName) - steps: - - task: Docker@2 - displayName: Build and push an image to container registry - inputs: - command: buildAndPush - repository: $(imageRepository) - dockerfile: $(dockerfilePath) - containerRegistry: $(dockerRegistryServiceConnection) - tags: | - $(tag) - - - upload: manifests - artifact: manifests - -- stage: Deploy - displayName: Deploy stage - dependsOn: Build - - jobs: - - deployment: Deploy - displayName: Deploy-EventHub-Web - pool: - vmImage: $(vmImageName) - environment: 'volosofteventhub-3839.default' - strategy: - runOnce: - deploy: - steps: - - - - task: KubernetesManifest@0 - displayName: Deploy to Kubernetes cluster - inputs: - action: deploy - manifests: | - $(Pipeline.Workspace)/manifests/deployment.eventhub.web.yml - $(Pipeline.Workspace)/manifests/service.eventhub.web.yml - - containers: | - $(containerRegistry)/$(imageRepository):$(tag) - diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 2f0f171..0000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,63 +0,0 @@ -trigger: -- test - -variables: - - dockerRegistryServiceConnection: 'b46a670b-6940-4de5-b6b1-b06f9dd1c849' - imageRepository: 'voloeventhubhttpapihost' - containerRegistry: 'voloeventhubhttpapihost.azurecr.io' - dockerfilePath: '**/Dockerfile.EventHub.HttpApi.Host' - tag: '$(Build.BuildNumber)' - - # Agent VM image name - vmImageName: 'ubuntu-latest' - - -stages: -- stage: Build - displayName: Build stage - jobs: - - job: Build - displayName: Build - pool: - vmImage: $(vmImageName) - steps: - - task: Docker@2 - displayName: Build and push an image to container registry - inputs: - command: buildAndPush - repository: $(imageRepository) - dockerfile: $(dockerfilePath) - containerRegistry: $(dockerRegistryServiceConnection) - tags: | - $(tag) - - - upload: manifests - artifact: manifests - - -- stage: Deploy - displayName: Deploy stage - dependsOn: Build - - jobs: - - deployment: Deploy - displayName: Deploy-HttpApi-Host - pool: - vmImage: $(vmImageName) - environment: 'volosofteventhub-6504.default' - strategy: - runOnce: - deploy: - steps: - - - task: KubernetesManifest@0 - displayName: Deploy to Kubernetes cluster - inputs: - action: deploy - manifests: | - $(Pipeline.Workspace)/manifests/deployment.eventhub.httpapi.host.yml - $(Pipeline.Workspace)/manifests/service.eventhub.httpapi.host.yml - containers: | - $(containerRegistry)/$(imageRepository):$(tag) - diff --git a/cluster-autoscaler-autodiscover.yaml b/cluster-autoscaler-autodiscover.yaml deleted file mode 100644 index 5a680c2..0000000 --- a/cluster-autoscaler-autodiscover.yaml +++ /dev/null @@ -1,225 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler - name: cluster-autoscaler - namespace: kube-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: cluster-autoscaler - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -rules: - - apiGroups: [""] - resources: ["events", "endpoints"] - verbs: ["create", "patch"] - - apiGroups: [""] - resources: ["pods/eviction"] - verbs: ["create"] - - apiGroups: [""] - resources: ["pods/status"] - verbs: ["update"] - - apiGroups: [""] - resources: ["endpoints"] - resourceNames: ["cluster-autoscaler"] - verbs: ["get", "update"] - - apiGroups: [""] - resources: ["nodes"] - verbs: ["watch", "list", "get", "update"] - - apiGroups: [""] - resources: - - "pods" - - "services" - - "replicationcontrollers" - - "persistentvolumeclaims" - - "persistentvolumes" - verbs: ["watch", "list", "get"] - - apiGroups: ["extensions"] - resources: ["replicasets", "daemonsets"] - verbs: ["watch", "list", "get"] - - apiGroups: ["policy"] - resources: ["poddisruptionbudgets"] - verbs: ["watch", "list"] - - apiGroups: ["apps"] - resources: ["statefulsets", "replicasets", "daemonsets"] - verbs: ["watch", "list", "get"] - - apiGroups: ["storage.k8s.io"] - resources: ["storageclasses", "csinodes"] - verbs: ["get", "list", "watch"] - - apiGroups: ["batch"] - resources: ["jobs", "cronjobs"] - verbs: ["watch", "list", "get"] - - apiGroups: ["coordination.k8s.io"] - resources: ["leases"] - verbs: ["create"] - - apiGroups: ["coordination.k8s.io"] - resourceNames: ["cluster-autoscaler"] - resources: ["leases"] - verbs: ["get", "update"] - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: cluster-autoscaler - namespace: kube-system - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -rules: - - apiGroups: [""] - resources: ["configmaps"] - verbs: ["create","list","watch"] - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: - - "cluster-autoscaler-status" - - "cluster-autoscaler-priority-expander" - verbs: ["delete", "get", "update", "watch"] - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: cluster-autoscaler - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-autoscaler -subjects: - - kind: ServiceAccount - name: cluster-autoscaler - namespace: kube-system - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: cluster-autoscaler - namespace: kube-system - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: cluster-autoscaler -subjects: - - kind: ServiceAccount - name: cluster-autoscaler - namespace: kube-system - ---- -apiVersion: v1 -data: - ResourceGroup: - SubscriptionID: - Deployment: - VMType: c3RhbmRhcmQ= -kind: Secret -metadata: - name: cluster-autoscaler-azure - namespace: kube-system ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app: cluster-autoscaler - name: cluster-autoscaler - namespace: kube-system -spec: - replicas: 1 - selector: - matchLabels: - app: cluster-autoscaler - template: - metadata: - labels: - app: cluster-autoscaler - spec: - hostNetwork: true - serviceAccountName: cluster-autoscaler - tolerations: - - effect: NoSchedule - operator: "Equal" - value: "true" - key: node-role.kubernetes.io/master - nodeSelector: - kubernetes.io/role: master - containers: - - command: - - ./cluster-autoscaler - - --v=3 - - --logtostderr=true - - --cloud-provider=azure - - --skip-nodes-with-local-storage=false - - --node-group-auto-discovery=label:cluster-autoscaler-enabled=true,cluster-autoscaler-name= - env: - - name: ARM_SUBSCRIPTION_ID - valueFrom: - secretKeyRef: - key: SubscriptionID - name: cluster-autoscaler-azure - - name: ARM_RESOURCE_GROUP - valueFrom: - secretKeyRef: - key: ResourceGroup - name: cluster-autoscaler-azure - - name: ARM_USE_MANAGED_IDENTITY_EXTENSION - value: "true" - - name: ARM_VM_TYPE - valueFrom: - secretKeyRef: - key: VMType - name: cluster-autoscaler-azure - - name: ARM_DEPLOYMENT - valueFrom: - secretKeyRef: - key: Deployment - name: cluster-autoscaler-azure - image: k8s.gcr.io/cluster-autoscaler:{{ ca_version }} - imagePullPolicy: Always - name: cluster-autoscaler - resources: - limits: - cpu: 100m - memory: 300Mi - requests: - cpu: 100m - memory: 300Mi - volumeMounts: - - mountPath: /etc/ssl/certs/ca-certificates.crt - name: ssl-certs - readOnly: true - - mountPath: /var/lib/azure/ - name: deploy-parameters - readOnly: true - - mountPath: /var/lib/waagent/ - name: waagent - readOnly: true - dnsPolicy: ClusterFirst - restartPolicy: Always - volumes: - - hostPath: - path: /etc/ssl/certs/ca-certificates.crt - type: "" - name: ssl-certs - - name: deploy-parameters - secret: - secretName: cluster-autoscaler-azure-deploy-parameters - items: - - key: deploy-parameters - path: azuredeploy.parameters.json - - hostPath: - path: /var/lib/waagent/ - name: waagent diff --git a/cluster-autoscaler-vmss.yaml b/cluster-autoscaler-vmss.yaml deleted file mode 100644 index 5a45508..0000000 --- a/cluster-autoscaler-vmss.yaml +++ /dev/null @@ -1,212 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler - name: cluster-autoscaler - namespace: kube-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: cluster-autoscaler - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -rules: - - apiGroups: [""] - resources: ["events", "endpoints"] - verbs: ["create", "patch"] - - apiGroups: [""] - resources: ["pods/eviction"] - verbs: ["create"] - - apiGroups: [""] - resources: ["pods/status"] - verbs: ["update"] - - apiGroups: [""] - resources: ["endpoints"] - resourceNames: ["cluster-autoscaler"] - verbs: ["get", "update"] - - apiGroups: [""] - resources: ["nodes"] - verbs: ["watch", "list", "get", "update"] - - apiGroups: [""] - resources: - - "pods" - - "services" - - "replicationcontrollers" - - "persistentvolumeclaims" - - "persistentvolumes" - verbs: ["watch", "list", "get"] - - apiGroups: ["extensions"] - resources: ["replicasets", "daemonsets"] - verbs: ["watch", "list", "get"] - - apiGroups: ["policy"] - resources: ["poddisruptionbudgets"] - verbs: ["watch", "list"] - - apiGroups: ["apps"] - resources: ["statefulsets", "replicasets", "daemonsets"] - verbs: ["watch", "list", "get"] - - apiGroups: ["storage.k8s.io"] - resources: ["storageclasses", "csinodes"] - verbs: ["get", "list", "watch"] - - apiGroups: ["batch"] - resources: ["jobs", "cronjobs"] - verbs: ["watch", "list", "get"] - - apiGroups: ["coordination.k8s.io"] - resources: ["leases"] - verbs: ["create"] - - apiGroups: ["coordination.k8s.io"] - resourceNames: ["cluster-autoscaler"] - resources: ["leases"] - verbs: ["get", "update"] - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: cluster-autoscaler - namespace: kube-system - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -rules: - - apiGroups: [""] - resources: ["configmaps"] - verbs: ["create","list","watch"] - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: - - "cluster-autoscaler-status" - - "cluster-autoscaler-priority-expander" - verbs: ["delete", "get", "update", "watch"] - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: cluster-autoscaler - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-autoscaler -subjects: - - kind: ServiceAccount - name: cluster-autoscaler - namespace: kube-system - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: cluster-autoscaler - namespace: kube-system - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: cluster-autoscaler -subjects: - - kind: ServiceAccount - name: cluster-autoscaler - namespace: kube-system - ---- -apiVersion: v1 -data: - ClientID: - ClientSecret: - ResourceGroup: - SubscriptionID: - TenantID: - VMType: dm1zcw== -kind: Secret -metadata: - name: cluster-autoscaler-azure - namespace: kube-system ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app: cluster-autoscaler - name: cluster-autoscaler - namespace: kube-system -spec: - replicas: 1 - selector: - matchLabels: - app: cluster-autoscaler - template: - metadata: - labels: - app: cluster-autoscaler - spec: - serviceAccountName: cluster-autoscaler - containers: - - image: k8s.gcr.io/cluster-autoscaler:{{ ca_version }} - imagePullPolicy: Always - name: cluster-autoscaler - resources: - limits: - cpu: 100m - memory: 300Mi - requests: - cpu: 100m - memory: 300Mi - command: - - ./cluster-autoscaler - - --v=3 - - --logtostderr=true - - --cloud-provider=azure - - --skip-nodes-with-local-storage=false - - --nodes=1:10:vmss1 - - --nodes=1:10:vmss2 - env: - - name: ARM_SUBSCRIPTION_ID - valueFrom: - secretKeyRef: - key: SubscriptionID - name: cluster-autoscaler-azure - - name: ARM_RESOURCE_GROUP - valueFrom: - secretKeyRef: - key: ResourceGroup - name: cluster-autoscaler-azure - - name: ARM_TENANT_ID - valueFrom: - secretKeyRef: - key: TenantID - name: cluster-autoscaler-azure - - name: ARM_CLIENT_ID - valueFrom: - secretKeyRef: - key: ClientID - name: cluster-autoscaler-azure - - name: ARM_CLIENT_SECRET - valueFrom: - secretKeyRef: - key: ClientSecret - name: cluster-autoscaler-azure - - name: ARM_VM_TYPE - valueFrom: - secretKeyRef: - key: VMType - name: cluster-autoscaler-azure - volumeMounts: - - mountPath: /etc/ssl/certs/ca-certificates.crt - name: ssl-certs - readOnly: true - restartPolicy: Always - volumes: - - hostPath: - path: /etc/ssl/certs/ca-certificates.crt - type: "" - name: ssl-certs diff --git a/eventhub.httpapi.host.ingress.yaml b/eventhub.httpapi.host.ingress.yaml new file mode 100644 index 0000000..15d336c --- /dev/null +++ b/eventhub.httpapi.host.ingress.yaml @@ -0,0 +1,18 @@ +apiVersion: networking.k8s.io/v1beta1 +kind: Ingress +metadata: + name: volosoft-eventhub-httpapi-host-ingress + namespace: default + annotations: + kubernetes.io/ingress.class: nginx + #nginx.ingress.kubernetes.io/ssl-redirect: "false" + +spec: + rules: + - host: web.eventhub.httpapihost.gokhansengun.com + http: + paths: + - backend: + serviceName: volosoft-eventhub-httpapi-host-service + servicePort: 80 + path: / diff --git a/eventhub.identityserver.ingress.yaml b/eventhub.identityserver.ingress.yaml new file mode 100644 index 0000000..f2900e0 --- /dev/null +++ b/eventhub.identityserver.ingress.yaml @@ -0,0 +1,18 @@ +apiVersion: networking.k8s.io/v1beta1 +kind: Ingress +metadata: + name: volosoft-eventhub-identityserver-ingress + namespace: default + annotations: + kubernetes.io/ingress.class: nginx + #nginx.ingress.kubernetes.io/ssl-redirect: "false" + +spec: + rules: + - host: web.eventhub.identityserver.gokhansengun.com + http: + paths: + - backend: + serviceName: volosoft-eventhub-identityserver-service + servicePort: 80 + path: / diff --git a/testingress.sh b/ingress.sh similarity index 100% rename from testingress.sh rename to ingress.sh diff --git a/manifests/service.eventhub.httpapi.host.yml b/manifests/service.eventhub.httpapi.host.yml index 3602aab..f401a50 100644 --- a/manifests/service.eventhub.httpapi.host.yml +++ b/manifests/service.eventhub.httpapi.host.yml @@ -6,6 +6,6 @@ spec: selector: app: volosoft-eventhub-httpapi-host-pod ports: - - port: 5002 - targetPort: 80 - type: LoadBalancer + - port: 80 + targetPort: 80 + type: ClusterIP diff --git a/manifests/service.eventhub.identityserver.yml b/manifests/service.eventhub.identityserver.yml index 060bb03..dd2b38e 100644 --- a/manifests/service.eventhub.identityserver.yml +++ b/manifests/service.eventhub.identityserver.yml @@ -6,12 +6,6 @@ spec: selector: app: volosoft-eventhub-identityserver-pod ports: - - name: http - port: 5001 - protocol: TCP + - port: 80 targetPort: 80 - - name: https - port: 5000 - targetPort: 443 - protocol: TCP - type: LoadBalancer \ No newline at end of file + type: ClusterIP \ No newline at end of file diff --git a/test-identityserver.yml b/test-identityserver.yml deleted file mode 100644 index 4aee220..0000000 --- a/test-identityserver.yml +++ /dev/null @@ -1,62 +0,0 @@ -trigger: -- test - -variables: - - # Container registry service connection established during pipeline creation - dockerRegistryServiceConnection: '18b12bb9-87a3-4539-a769-7a1e371886cf' - imageRepository: 'voloeventhubidentityserver' - containerRegistry: 'voloeventhubidentityserver.azurecr.io' - dockerfilePath: '**/Dockerfile.EventHub.IdentityServer' - tag: '$(Build.BuildNumber)' - - # Agent VM image name - vmImageName: 'ubuntu-latest' - - -stages: -- stage: Build - displayName: Build stage - jobs: - - job: Build - displayName: Build - pool: - vmImage: $(vmImageName) - steps: - - task: Docker@2 - displayName: Build and push an image to container registry - inputs: - command: buildAndPush - repository: $(imageRepository) - dockerfile: $(dockerfilePath) - containerRegistry: $(dockerRegistryServiceConnection) - tags: | - $(tag) - - - publish: manifests - artifact: manifests - -- stage: Deploy - displayName: Deploy stage - dependsOn: Build - - jobs: - - deployment: Deploy - displayName: Deploy - pool: - vmImage: $(vmImageName) - environment: 'volosofteventhub-1359.default' - strategy: - runOnce: - deploy: - steps: - - task: KubernetesManifest@0 - displayName: Deploy to Kubernetes cluster - inputs: - action: deploy - manifests: | - $(Pipeline.Workspace)/manifests/deployment.eventhub.identityserver.yml - $(Pipeline.Workspace)/manifests/service.eventhub.identityserver.yml - containers: | - $(containerRegistry)/$(imageRepository):$(tag) -