aws s3api create-bucket --bucket my-kops-bucket --location- eu-west-1 --create-bucket-configuration LocationConstraint=eu-west-1
export NAME=my-kops-cluster-name
export KOPS_STATE_STORE=s3://my-kops-bucket-name
kops create cluster --zones eu-west-1a,eu-west-1b --name $NAME --node-count=2 --node-size=t2.medium --authorization=RBAC --networking=calico --encrypt-etcd-storage --kubernetes-version=v1.7.10
kops update cluster --yes
kops validate cluster
Enable storageSpec
kubectl create ns monitoring
cd ~/go/src/github.com/coreos/prometheus-operator/helm
kubectl -n kube-system create sa tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller
helm install --name prometheus-operator --set rbacEnable=true --namespace=monitoring prometheus-operator
helm install --name grafana --set externalUrl=grafana.kops.k8s.live --set ingress.enabled=true --set ingress.fqdn=grafana.kops.k8s.live --namespace=monitoring grafana
helm install --name alertmanager --set externalUrl=http://alertmanager.kops.k8s.live/ --set ingress.enabled=true --set ingress.fqdn=alertmanager.kops.k8s.live --namespace=monitoring alertmanager
helm install --name prometheus --set externalUrl=http://prometheus.kops.k8s.live/ --set ingress.enabled=true --set serviceMonitorsSelector.app=prometheus --set ruleSelector.app=prometheus --set ingress.fqdn=prometheus.kops.k8s.live --set retention=140h --namespace=monitoring prometheus
cd ~/go/src/github.com/kubernetes/charts/stable/
helm install --name ingress-0-9-0-beta-11 --set controller.image.tag=0.9.0-beta.11 --set controller.stats.enabled=true --namespace=kube-system stable/nginx-ingress/
helm install --name ingress-0-9-0-beta-11 --set controller.image.tag=0.9.0-beta.11 --set controller.stats.enabled=true --namespace=kube-system .
# proxy protocol
export ELB_NAME=ae91d7320781d11e7a29306250de84a3
export INSTANCE_PORT=30046
aws elb create-load-balancer-policy --load-balancer-name $ELB_NAME --policy-name my-ProxyProtocol-policy --policy-type-name ProxyProtocolPolicyType --policy-attributes AttributeName=ProxyProtocol,AttributeValue=true
aws elb set-load-balancer-policies-for-backend-server --load-balancer-name $ELB_NAME --instance-port 30046 --policy-names my-ProxyProtocol-policy
#edit configmap
enable-vts-status: "true"
log-format-upstream: '{ "time": "$time_iso8601", "remote_addr": "$proxy_protocol_addr",
"x-forward-for": "$proxy_add_x_forwarded_for", "request_id": "$request_id", "remote_user":
"$remote_user", "bytes_sent": $bytes_sent, "request_time": $request_time, "status":
$status, "vhost": "$host", "request_proto": "$server_protocol", "path": "$uri",
"request_query": "$args", "request_length": $request_length, "duration": $request_time,
"method": "$request_method", "http_referrer": "$http_referer", "http_user_agent":
"$http_user_agent" }'
proxy-real-ip-cidr: 172.20.0.0/16
proxy-send-timeout: "600"
server-tokens: "false"
use-proxy-protocol: "true"
https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch
kubectl create sa kube-lego -n kube-system
helm install --name kube-lego --set [email protected] --set config.LEGO_URL=https://acme-v01.api.letsencrypt.org/directory --set serviceAccount=kube-lego --namespace=kube-system stable/kube-lego/
``