Ich habe ein Kubernetes-Cluster-Setup in AWS. Wir verwenden die EC2-Containerregistrierung, um unsere Docker-Images zu speichern. Wir haben die Master/Minions alle Setup und alles scheint mit dem Cluster zu arbeiten.kubernetes und debuggen es im Allgemeinen
ist Meine Spec-Datei wie folgt:
apiVersion: v1
kind: Service
metadata:
name: apim-mysql
labels:
app: apim
spec:
ports:
# the port that this service should serve on
- port: 3306
selector:
app: apim
tier: mysql
clusterIP: None
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: apim-mysql
spec:
strategy:
type: Recreate
template:
metadata:
labels:
app: apim
tier: mysql
spec:
imagePullSecrets:
- name: myregistrykey
containers:
- name: mysql
image: <This points to our EC2 Container Registry and retreives the image>
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: WSO2_ZIP_FILE
value: wso2am-1.10.1-SNAPSHOT.zip
- name: WSO2_VERSION
value: 1.10.1
- name: MYSQL_RANDOM_ROOT_PASSWORD
value: 'yes'
- name: MYSQL_USER
value: username
- name: MYSQL_USER_PASSWD
value: password
- name: GET_HOSTS_FROM
value: dns
# If your cluster config does not include a dns service, then to
# instead access environment variables to find service host
# info, comment out the 'value: dns' line above, and uncomment the
# line below.
#value: env
ports:
- containerPort: 3306
name: mysql
Was dieser Behälter tut, ist setzt nur eine MySQL-up. Wir benötigen andere Knoten innerhalb des Clusters, um eine Verbindung zu diesem Knoten herzustellen. Weil sie die mysql DB benutzen müssen.
Ich denke, meine erste Frage ist, ist alles in Ordnung mit dieser Spec-Datei? Oder sieht jemand etwas falsch?
ich die kubectl Befehl erstellen und es läuft erfolgreich:
kubectl create -f mysql.yaml
service "apim-mysql" created
deployment "apim-mysql" created
kubectl erhalten Schoten zeigt die Schote Lauf:
apim-mysql-545962574-w2qz1 1/1 Running 1 8m
ich manchmal, wenn tun kubectl Protokolle erhalten ein Fehler dieser zeigt:
kubectl logs apim-mysql-545962574-w2qz1
Error from server: dial unix /var/run/docker.sock: no such file or directory
Aber schließlich versuchen genug, es wird durchlaufen ... wenn jemand in Bildung, warum das passiert, wäre großartig.
Wenn es funktioniert so etwas wie diese:
kubectl logs apim-mysql-545962574-w2qz1
Initializing database
2016-07-13T15:51:47.375052Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-07-13T15:51:52.029915Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-07-13T15:51:53.531183Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: b837bd45-4911-11e6-99ba-02420af40208.
2016-07-13T15:51:53.746173Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2016-07-13T15:51:53.746621Z 1 [Warning] [email protected] is created with an empty password ! Please consider switching off the --initialize-insecure option.
2016-07-13T15:52:19.891437Z 1 [Warning] 'user' entry '[email protected]' ignored in --skip-name-resolve mode.
2016-07-13T15:52:19.891705Z 1 [Warning] 'user' entry '[email protected]' ignored in --skip-name-resolve mode.
2016-07-13T15:52:19.891733Z 1 [Warning] 'db' entry 'sys [email protected]' ignored in --skip-name-resolve mode.
2016-07-13T15:52:19.891778Z 1 [Warning] 'proxies_priv' entry '@ [email protected]' ignored in --skip-name-resolve mode.
2016-07-13T15:52:19.891831Z 1 [Warning] 'tables_priv' entry 'sys_config [email protected]' ignored in --skip-name-resolve mode.
Database initialized
MySQL init process in progress...
2016-07-13T15:52:34.632188Z 0 [Note] mysqld (mysqld 5.7.13) starting as process 49 ...
2016-07-13T15:52:49.814764Z 0 [Note] InnoDB: PUNCH HOLE support available
2016-07-13T15:52:49.814846Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-07-13T15:52:49.814859Z 0 [Note] InnoDB: Uses event mutexes
2016-07-13T15:52:49.814870Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2016-07-13T15:52:49.814928Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.8
2016-07-13T15:52:49.814932Z 0 [Note] InnoDB: Using Linux native AIO
2016-07-13T15:52:50.243657Z 0 [Note] InnoDB: Number of pools: 1
2016-07-13T15:52:52.175079Z 0 [Note] InnoDB: Using CPU crc32 instructions
MySQL init process in progress...
MySQL init process in progress...
MySQL init process in progress...
MySQL init process in progress...
MySQL init process in progress...
MySQL init process in progress...
MySQL init process in progress...
Nach einem wenig es der Schote neu zu starten scheint, und es wird wieder sagen initialisieren Datenbank ..
Vor ein paar Tagen, als ich lief kubectl loggt, es würde sofort alles zurückgeben und sehr schnell sein, jetzt ist es sehr langsam und zeigt nichts wirklich. Ich habe meine Spezifikationsdatei nicht wirklich geändert, also habe ich keine Ahnung, was vor sich geht. Für mich sieht es so aus, als ob der Container nicht richtig ausgeführt wird, wenn er tatsächlich einige Logs anzeigt ... aber ich bin mir nicht sicher.
Wenn irgendjemand Ahnung hat, wie man das mit einigen Befehlen, die ich ausführen kann, weiter debuggt, würde es sehr geschätzt werden. Ich bin an diesem Punkt sehr fest und habe google'd so viel aber ohne Glück gehabt.
danke!
passende ' kubectl describe 'und' kubectl get events' kann Ihnen weitere Informationen geben. –
MrE