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.
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.
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
.
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"
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.