web-dev-qa-db-fra.com

Comment accéder à l'API Kubernetes lors de l'utilisation de minkube?

Quelle est la bonne façon de configurer un cluster kubernetes à l'aide de minikube via l'API kubernetes? Pour le moment, je ne trouve pas de port par lequel le cluster kubernetes est accessible.

15
KarateKid

Fonctionnement minikube start configurera automatiquement kubectl.

Tu peux courir minikube ip pour obtenir l'adresse IP sur laquelle se trouve votre mini-cube. Le serveur API fonctionne sur 8443 par défaut.


Mise à jour : pour accéder directement au serveur API, vous devrez utiliser les certificats SSL personnalisés qui ont été générés. par minikube. Le certificat client et la clé sont généralement stockés dans: ~/.minikube/apiserver.crt et ~/.minikube/apiserver.key. Vous devrez les charger dans votre client HTTPS lorsque vous ferez des demandes.

Si vous utilisez curl utilisez le --cert et le --key options pour utiliser le fichier cert et key. Consultez le docs pour plus de détails.

12
iamnat

La façon la plus simple d'accéder à l'API Kubernetes lors de l'exécution de minikube est d'utiliser

kubectl proxy --port=8080

Vous pouvez ensuite accéder à l'API avec

curl http://localhost:8080/api/

Cela vous permet également de parcourir l'API dans votre navigateur. Lancez minikube en utilisant

minikube start --extra-config=apiserver.Features.EnableSwaggerUI=true

puis commencez kubectl proxy, et accédez à http: // localhost: 8080/swagger-ui / dans votre navigateur.

Vous pouvez accéder directement à l'API Kubernetes avec curl en utilisant

curl --cacert ~/.minikube/ca.crt --cert ~/.minikube/client.crt --key ~/.minikube/client.key https://`minikube ip`:8443/api/

mais il n'y a généralement aucun avantage à le faire. Les navigateurs courants ne sont pas satisfaits des certificats générés par minikube, donc si vous souhaitez accéder à l'API avec votre navigateur, vous devez utiliser kubectl proxy.

16
Sven Marnach

J'ai parcouru beaucoup de réponses, mais beaucoup d'entre elles ont tort.

Avant de le faire, nous avons besoin d'IP et de jetons.

Comment obtenir l'IP: minikube ip Comment générer un jeton:

$export secret=kubectl get serviceaccount default -o json | jq -r '.secrets[].name'

$kubectl get secret $secret -o yaml | grep "token:" | awk {'print $2'} |  base64 -D > token

Remarque: base64 utilise -D pour mac, mais -d pour Linux.

Ensuite, la commande correcte est:

#curl -v -k -H --cacert ~/.minikube/ca.crt -H "Authorization: Bearer $(cat ~/YOUR_TOKEN)"  "https://{YOUR_IP}:8443/api/v1/pods"
9
xichen

Ces instructions ont fonctionné pour moi https://github.com/jenkinsci/kubernetes-plugin#configuration-on-minikube

Nécessaire pour générer et télécharger un fichier pfx, ainsi que les autres étapes mentionnées ici.

0
ObjectNameDisplay