Kubernetes: Difference between revisions
(→Useful) |
(→Useful) |
||
Line 44: | Line 44: | ||
It's in here: /var/run/secrets/kubernetes.io/serviceaccount/token | It's in here: /var/run/secrets/kubernetes.io/serviceaccount/token | ||
=== Manually edit the replicas of a deployment from within the same namespace, but a different pod. | |||
<pre> | |||
export API_URL="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}/${KUBE_ENDPOINT}" | |||
export TOKEN=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` | |||
export CURL_CA_BUNDLE=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |||
curl \ | |||
-H 'Accept: application/json' \ | |||
-H "Authorization: Bearer $TOKEN" \ | |||
$API_URL \ | |||
> scale.json | |||
# edit scale.json, set replicas to 4 | |||
curl -X PUT \ | |||
-d@scale.json \ | |||
-H 'Content-Type: application/json' \ | |||
-H "Authorization: Bearer $TOKEN" \ | |||
$API_URL | |||
</pre> | |||
This was the role that did it ( FIXME) ,par it down . | |||
<pre> | |||
apiVersion: rbac.authorization.k8s.io/v1 | |||
kind: Role | |||
metadata: | |||
name: kube-cloudwatch-autoscaler | |||
labels: | |||
app: kube-cloudwatch-autoscaler | |||
rules: | |||
- apiGroups: | |||
- "" | |||
resources: | |||
- nodes | |||
verbs: | |||
- list | |||
- apiGroups: | |||
- apps | |||
resources: | |||
- deployments | |||
- deployments.apps | |||
- deployments.apps/scale | |||
- "*/scale" | |||
verbs: | |||
- get | |||
- update | |||
- patch | |||
- put | |||
- apiGroups: | |||
- "" | |||
resources: | |||
- configmaps | |||
verbs: | |||
- get | |||
- create | |||
</pre> | |||
== metricss== | == metricss== |
Revision as of 20:22, 21 September 2018
Useful
alias:
alias k="kubectl" alias ks="kubectl --namespace kube-system" alias ke="kubectl get events --sort-by='{.lastTimestamp}'"
dump all :
kubectl get all --export=true -o yaml
list form:
k get pods k get rs # replica set k get rc # replication controller
what are all the things ?
kubectl api-resources
event sorted by time
kubectl get events --sort-by=.metadata.creationTimestamp
what storage classes does my cluster support?
k get storageclass
audit: who tried to do what?
ks get pod | grep kube-apiserver-ip
ks logs $podname
who tried to scale unsuccessfully?
ks logs $podname | grep scale | grep cloud | awk '$8!=200{print $0}'
Where is the service account token that I gave this pod?
It's in here: /var/run/secrets/kubernetes.io/serviceaccount/token
=== Manually edit the replicas of a deployment from within the same namespace, but a different pod.
export API_URL="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}/${KUBE_ENDPOINT}" export TOKEN=`cat /var/run/secrets/kubernetes.io/serviceaccount/token` export CURL_CA_BUNDLE=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt curl \ -H 'Accept: application/json' \ -H "Authorization: Bearer $TOKEN" \ $API_URL \ > scale.json # edit scale.json, set replicas to 4 curl -X PUT \ -d@scale.json \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $TOKEN" \ $API_URL
This was the role that did it ( FIXME) ,par it down .
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: kube-cloudwatch-autoscaler labels: app: kube-cloudwatch-autoscaler rules: - apiGroups: - "" resources: - nodes verbs: - list - apiGroups: - apps resources: - deployments - deployments.apps - deployments.apps/scale - "*/scale" verbs: - get - update - patch - put - apiGroups: - "" resources: - configmaps verbs: - get - create
metricss
wget "$(kubectl config view -o jsonpath='{range .clusters[*]}{@.cluster.server}{"\n"}{end}')"
Practices and Guidlines
- Do not use replication controllers, instead use replica sets
Cgroup / slice errors
https://github.com/kubernetes/kubernetes/issues/56850
log message:
Sep 18 21:32:37 ip-10-10-37-50 kubelet[1681]: E0918 21:32:37.901058 1681 summary.go:92] Failed to get system container stats for "/system.slice/docker.service": failed to get cgroup stats for "/system.slice/docker.service": failed to get container info for "/system.slice/docker.service": unknown container "/system.slice/docker.service"
MAAS ubuntu
https://stripe.com/blog/operating-kubernetes
https://medium.com/@adriaandejonge/moving-from-docker-to-rkt-310dc9aec938
https://coreos.com/rkt/docs/latest/rkt-vs-other-projects.html#rkt-vs-docker
Security
Todo / read:
- https://github.com/aquasecurity/kube-hunter/blob/master/README.md
- https://www.arctiq.ca/events/2018/10/5/building-a-secure-container-strategy-with-aqua-security-microsoft-azure-and-hashicorp-vault/
References and Reading
- Replica set versus Replication controller
- https://www.mirantis.com/blog/kubernetes-replication-controller-replica-set-and-deployments-understanding-replication-options/