Skip to content

Commit

Permalink
moved folders
Browse files Browse the repository at this point in the history
  • Loading branch information
Dennis Zielke committed Apr 12, 2019
1 parent da834c1 commit ae1f18b
Show file tree
Hide file tree
Showing 47 changed files with 155 additions and 63 deletions.
13 changes: 12 additions & 1 deletion AzureContainerRegistry.md
Expand Up @@ -44,12 +44,23 @@ kubectl run helloworld --image $REGISTRY_NAME.azurecr.io/aci-helloworld-ci:lates

# Run builds in ACR

```
ACR_NAME=dzkubereg
RES_GROUP=kuberegistry
LOCATION=northeurope
LOCATION=westeurope
USER=denniszielke
GIT_PAT=a425dcf3895818e502f8895bfbbe0d0e317b497d
az group create --resource-group $RES_GROUP --location $LOCATION
az acr create --resource-group $RES_GROUP --name $ACR_NAME --sku Standard --location $LOCATION
az acr build --registry $ACR_NAME --image helloacr:v1 .
az acr task create --registry $ACR_NAME --name go-calc-backend --image go-calc-backend:{{.Run.ID}} --context https://github.com/$USER/container_demos.git --branch master --file multi-calculator/go-calc-backend/Dockerfile --git-access-token $GIT_PAT
az acr task run --registry $ACR_NAME --name go-calc-backend
```
7 changes: 6 additions & 1 deletion Docker.md
Expand Up @@ -28,4 +28,9 @@ Log in and out to re-evaluate your group membership
3. Test docker engine
~~~
docker run hello-world
~~~
~~~

4. Delete all docker images
```
docker rmi $(docker images -q)
```
20 changes: 13 additions & 7 deletions Features.md
Expand Up @@ -16,7 +16,7 @@ az feature register --name APIServerSecurityPreview --namespace Microsoft.Contai
az feature register --name PodSecurityPolicyPreview --namespace Microsoft.ContainerService
az feature register --name EnableNetworkPolicy --namespace Microsoft.ContainerService
az feature register --name MultiAgentpoolPreview --namespace Microsoft.ContainerService
az feature register --name APIServerSecurityPreview --namespace Microsoft.ContainerService
az feature register --name AKS-RegionEarlyAccess --namespace Microsoft.ContainerService
az feature register --name V20180331API --namespace Microsoft.ContainerService
az feature register --name AksBypassServiceGate --namespace Microsoft.ContainerService
az feature register --name AvailabilityZonePreview --namespace Microsoft.ContainerService
Expand All @@ -32,19 +32,25 @@ az feature list -o table --query "[?contains(name, 'Microsoft.Container‐Servic
Re-register the provider
```
az provider register --namespace Microsoft.ContainerService
az provider unregister --namespace Microsoft.ContainerService
```

Install the preview cli
```
az extension add -n aks-preview
```

Get list of clusters
```
az aks list -o table
```
Unregister a feature
https://github.com/yangl900/armclient-go

Upgrade a cluster
```
az aks upgrade --resource-group kub_ter_a_m_kwsdemo1 --name kwsdemo1 --kubernetes-version 1.11.4
curl -sL https://github.com/yangl900/armclient-go/releases/download/v0.2.3/armclient-go_linux_64-bit.tar.gz | tar xz
./armclient post /subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Features/providers/Microsoft.ContainerService/features/EnableSingleIPPerCCP/unregister?api-version=2015-12-01
./armclient post /subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Features/providers/Microsoft.ContainerService/features/APIServerSecurityPreview/unregister?api-version=2015-12-01
./armclient post /subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Features/providers/Microsoft.ContainerService/features/MultiAgentpoolPreview/unregister?api-version=2015-12-01
./armclient post /subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Features/providers/Microsoft.ContainerService/features/AKS-RegionEarlyAccess/unregister?api-version=2015-12-01
```
17 changes: 17 additions & 0 deletions Kured.md
Expand Up @@ -88,3 +88,20 @@ helm install --name grafana stable/grafana --namespace grafana
kubectl --namespace grafana port-forward $(kubectl get pod --namespace grafana -l app=kube-prometheus-grafana -o template --template "{{(index .items 0).metadata.name}}") 3000:3000

kubectl apply -f https://github.com/weaveworks/kured/releases/download/1.1.0/kured-1.1.0.yaml

az vmss extension list --resource-group $KUBE_GROUP --vmss-name k8s-workers-14540501-vmss

az vmss extension set \
--publisher Folder.Creator \
--version 2.0 \
--name CustomScript \
--resource-group $KUBE_GROUP \
--vmss-name k8s-workers-14540501-vmss \
--settings arm/cse-config.json

az vm extension set \
--resource-group $KUBE_GROUP \
--vm-name exttest \
--name customScript \
--publisher Microsoft.Azure.Extensions \
--protected-settings '{"fileUris": ["https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-linux/scripts/config-music.sh"],"commandToExecute": "./config-music.sh"}'
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
21 changes: 21 additions & 0 deletions apps/go-calc-backend/Dockerfile
@@ -0,0 +1,21 @@
ARG basedir="apps/go-calc-backend/app"
ARG build_info="Docker container build"

FROM golang:alpine AS builder
RUN apk update && apk add --no-cache git
RUN adduser -D -g '' appuser
WORKDIR $GOPATH/src/phoenix/go-calc-backend
COPY ${basedir}/ .
RUN go get -d -v
#RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /go/bin/go-calc-backend .
RUN GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o /go/bin/go-calc-backend

FROM alpine:latest as go-calc-backend
RUN apk --no-cache add ca-certificates
WORKDIR /root/
COPY --from=builder /go/bin/go-calc-backend /go/bin/go-calc-backend
EXPOSE 8080
USER appuser
ENV NODE_ENV production
ENV BUILD_INFO $build_info
ENTRYPOINT ["/go/bin/go-calc-backend"]
Expand Up @@ -3,56 +3,64 @@ package main
import (
"encoding/json"
"fmt"
"strconv"
"strings"
"log"
"net/http"
"time"
"os"
"strconv"
"strings"
"time"

"github.com/gorilla/mux"
"github.com/Microsoft/ApplicationInsights-Go/appinsights"
"github.com/gorilla/mux"
)

type Calculation struct {
Timestamp time.Time `json:"timestamp"`
Value string `json:"value"`
Host string `json:"host"`
Remote string `json:"remote"`
Value string `json:"value"`
Host string `json:"host"`
Remote string `json:"remote"`
}

func main() {
var appInsightsKey = os.Getenv("INSTRUMENTATIONKEY")
var port = os.Getenv("PORT")

if (len(appInsightsKey) > 0) {
client := appinsights.NewTelemetryClient(appInsightsKey)
client.TrackEvent("go-backend-initializing")
client.Context().Tags.Cloud().SetRole("calc-backend-svc")
}
router := mux.NewRouter()
router.HandleFunc("/ping", GetPing).Methods("GET")
router.HandleFunc("/api/dummy", GetPing).Methods("GET")
router.HandleFunc("/api/calculation", GetCalculation).Methods("POST")

hostname, err := os.Hostname()
if err != nil {
panic(err)
}
fmt.Println("hostname:", hostname)
if (len(port) > 0 ) {
http.ListenAndServe(":" + port, router)
}else
{
port = "80"
http.ListenAndServe(":" + port, router)
fmt.Println("hostname:", hostname)
var appInsightsKey, appInsightsKeyExists = os.LookupEnv("INSTRUMENTATIONKEY")
var client appinsights.TelemetryClient
if appInsightsKeyExists {
fmt.Println("appinsights set:", appInsightsKey)
client = appinsights.NewTelemetryClient(appInsightsKey)
client.TrackEvent("go-backend-initializing")
client.Context().Tags.Cloud().SetRole("calc-backend-svc")
} else {
fmt.Println("appinsights not set")
client = nil
}

var port, portExists = os.LookupEnv("PORT")
if portExists {
fmt.Println("port set:", port)
fmt.Println("Listening on", port)
http.ListenAndServe(":"+port, router)
} else {
port = "8080"
fmt.Println("port default:", port)
fmt.Println("Listening on", port)
http.ListenAndServe(":"+port, router)
}
fmt.Println("Listening on " + port)
}

func GetPing(res http.ResponseWriter, req *http.Request) {
res.Header().Set("Content-Type", "application/json")

var calcResult = Calculation{Value: "42", Timestamp: time.Now()}
var calcResult = Calculation{Value: "42", Timestamp: time.Now()}
outgoingJSON, error := json.Marshal(calcResult)
if error != nil {
log.Println(error.Error())
Expand All @@ -75,7 +83,7 @@ func Factors(n int) string {
valuesText = append(valuesText, text)
returnText = strings.Join(valuesText, ",")
rest = rest / divisor
}
}
fmt.Println(returnText)
returnText = strings.Join(valuesText, ",")
return returnText
Expand All @@ -93,36 +101,41 @@ func factor(n, divisor int) int {
func GetCalculation(res http.ResponseWriter, req *http.Request) {
res.Header().Set("Content-Type", "application/json")
start := time.Now()
var appInsightsKey = os.Getenv("INSTRUMENTATIONKEY")
client := appinsights.NewTelemetryClient(appInsightsKey)
client.Context().Tags.Cloud().SetRole("calc-backend-svc")
client.TrackEvent("calculation-go-backend-call")
var client appinsights.TelemetryClient
var appInsightsKey, appInsightsKeyExists = os.LookupEnv("INSTRUMENTATIONKEY")
if appInsightsKeyExists {
client = appinsights.NewTelemetryClient(appInsightsKey)
client.Context().Tags.Cloud().SetRole("calc-backend-svc")
client.TrackEvent("calculation-go-backend-call")
}
var input int
var numberString string
numberString = req.Header.Get("number")
fmt.Println(req.Header.Get("number"))
input, _ = strconv.Atoi(numberString)
fmt.Println(input)
var primestr string
primestr = Factors(input);
primestr = Factors(input)
fmt.Println(primestr)
hostname, err := os.Hostname()
if err != nil {
panic(err)
}
var remoteip string
remoteip = req.RemoteAddr;
remoteip = req.RemoteAddr
var calcResult = Calculation{Value: "[" + primestr + "]", Timestamp: time.Now(), Host: hostname, Remote: remoteip}
elapsed := time.Since(start)
var milliseconds = int64(elapsed / time.Millisecond)
client.TrackEvent("calculation-go-backend-result")
client.TrackMetric("calculation-go-backend-duration", float64(milliseconds));
fmt.Println("Responded with [" + primestr + "] in " + strconv.FormatInt(milliseconds, 10) +"ms")
var milliseconds = int64(elapsed / time.Millisecond)
if appInsightsKeyExists {
client.TrackEvent("calculation-go-backend-result")
client.TrackMetric("calculation-go-backend-duration", float64(milliseconds))
}
fmt.Println("Responded with [" + primestr + "] in " + strconv.FormatInt(milliseconds, 10) + "ms")
outgoingJSON, error := json.Marshal(calcResult)
if error != nil {
log.Println(error.Error())
http.Error(res, error.Error(), http.StatusInternalServerError)
return
}
fmt.Fprint(res, string(outgoingJSON))
}
}
File renamed without changes.
@@ -1,7 +1,7 @@
FROM node:8.12.0-alpine
FROM node:alpine
RUN mkdir -p /usr/src/app
COPY ./app/* /usr/src/app/
WORKDIR /usr/src/app
RUN npm install
EXPOSE 80
EXPOSE 8080
CMD [ "npm", "start" ]
File renamed without changes.
File renamed without changes.
@@ -1,6 +1,6 @@
var config = {}

config.instrumentationKey = process.env.INSTRUMENTATIONKEY;
config.port = process.env.PORT || 80;
config.port = process.env.PORT || 8080;

module.exports = config;
File renamed without changes.
File renamed without changes.
@@ -1,9 +1,9 @@
FROM node:8.12.0-alpine
FROM node:alpine
RUN mkdir -p /usr/src/app
COPY ./app/* /usr/src/app/
RUN mkdir -p /usr/src/app/public
COPY ./app/public/* /usr/src/app/public/
WORKDIR /usr/src/app
RUN npm install
EXPOSE 80
EXPOSE 8080
CMD [ "npm", "start" ]
File renamed without changes.
File renamed without changes.
Expand Up @@ -2,7 +2,7 @@ var config = {}

config.endpoint = "http://" + process.env.ENDPOINT;
config.instrumentationKey = process.env.INSTRUMENTATIONKEY;
config.port = process.env.PORT || 80;
config.port = process.env.PORT || 8080;
config.redisHost = process.env.REDIS_HOST;
config.redisAuth = process.env.REDIS_AUTH;

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions arm/cse-config.json
@@ -0,0 +1,4 @@
{
"fileUris": ["https://raw.githubusercontent.com/denniszielke/container_demos/master/arm/cse.sh"],
"commandToExecute": "./cse.sh"
}
2 changes: 1 addition & 1 deletion arm/zones_template.json
Expand Up @@ -100,7 +100,7 @@
},
"enablePodSecurityPolicy": {
"type": "bool",
"defaultValue": true,
"defaultValue": false,
"metadata": {
"description": "Booleab flag to turn on and off PSP."
}
Expand Down
7 changes: 5 additions & 2 deletions getmekube.sh
Expand Up @@ -20,7 +20,7 @@ VARIABLE_FILE=$CONFIG_PATH/variables_common.tf
APP_FILE=$CONFIG_PATH/kubernetes.tf

if [ "$subscription" == "" ]; then
echo "Subscription [int], [dev]?: "
echo "Subscription [int], [dev], [nin]?: "
read -n 3 subscription
echo
fi
Expand Down Expand Up @@ -73,9 +73,12 @@ VM_SIZE="Standard_D3s_v3"
VM_COUNT=4
fi



if [ "$kube_version" == "" ]; then
echo "Kubernetes version [1.10.9], [1.11.3], [1.11.4]?: "
read -n 6 kube_version
az aks get-versions --location $cluster_region -o table
read kube_version
echo
fi

Expand Down
9 changes: 0 additions & 9 deletions multi-calculator/go-calc-backend/Dockerfile

This file was deleted.

3 changes: 3 additions & 0 deletions terraform/azurecni.tf
Expand Up @@ -134,6 +134,7 @@ resource "azurerm_kubernetes_cluster" "akstf" {
dns_service_ip = "10.2.0.10"
docker_bridge_cidr = "172.17.0.1/16"
#pod_cidr = "" selected by subnet_id
network_policy = "calico"
}

service_principal {
Expand All @@ -150,6 +151,8 @@ resource "azurerm_kubernetes_cluster" "akstf" {

tags {
Environment = "${var.environment}"
Network = "azurecni"
RBAC = "true"
}

# depends_on = ["azurerm_azuread_service_principal.aks_sp"]
Expand Down
2 changes: 2 additions & 0 deletions terraform/kubenet.tf
Expand Up @@ -150,6 +150,8 @@ resource "azurerm_kubernetes_cluster" "akstf" {

tags {
Environment = "${var.environment}"
Network = "kubenet"
RBAC = "true"
}

# depends_on = ["azurerm_azuread_service_principal.aks_sp"]
Expand Down

0 comments on commit ae1f18b

Please sign in to comment.