Chapter 6. Working with Skaffold Container Image Builders and Deployers
Делаю:
2025.12.14
docker
$ cd ~/tmp/Effortless-Cloud-Native-App-Development-Using-Skaffold/Chapter06/
$ skaffold run --profile docker
$ kubectl get all
NAME READY STATUS RESTARTS AGE
pod/reactive-web-app-5b4f98987b-9bpxp 1/1 Running 0 2m14s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 35m
service/reactive-web-app LoadBalancer 10.106.199.20 <pending> 8080:31242/TCP 2m14s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/reactive-web-app 1/1 1 1 2m14s
NAME DESIRED CURRENT READY AGE
replicaset.apps/reactive-web-app-5b4f98987b 1 1 1 2m14s
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 36m
reactive-web-app LoadBalancer 10.106.199.20 <pending> 8080:31242/TCP 2m30s
$ export \
PROFILE=${USER}-minikube
// Перестало отображаться в новых версиях
$ minikube --profile ${PROFILE} service reactive-web-app
|-----------|------------------|-------------|---------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|------------------|-------------|---------------------------|
| default | reactive-web-app | 8080 | http://192.168.49.2:31242 |
|-----------|------------------|-------------|---------------------------|
🎉 Opening service default/reactive-web-app in default browser...
// Но можно
$ minikube --profile ${PROFILE} service --all
$ curl -X GET "http://192.168.49.2:31242/employee" \
| jq
[
{
"id": 1,
"firstName": "Peter",
"lastName": "Parker",
"age": 25,
"salary": 20000
},
{
"id": 2,
"firstName": "Tony",
"lastName": "Stark",
"age": 30,
"salary": 40000
},
{
"id": 3,
"firstName": "Clark",
"lastName": "Kent",
"age": 31,
"salary": 60000
},
{
"id": 4,
"firstName": "Bruce",
"lastName": "Wayne",
"age": 33,
"salary": 100000
}
]
$ skaffold delete
Jib and Helm
Helm установлен
// Проверка, что проект билдится
// Нет необходимости выполнять
$ ./mvnw package
$ vi pom.xml
Прописываю подходящую версию библиотеки jib-maven-plugin
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>3.4.0</version>
Если протухнет, смотреть здесь:
https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#quickstart
$ skaffold run --profile jibWithHelm
$ skaffold delete --profile jibWithHelm
Kustomize
$ skaffold dev
$ skaffold run --profile=kustomizeBase --default-repo=gcr.io/basic-curve-316617
$ skaffold run --profile=kustomizeProd --default-repo=gcr.io/basic-curve-316617
$ skaffold delete
$ skaffold run --profile=kustomizeDev
$ echo $PROFILE
marley-minikube
$ eval $(minikube -p ${PROFILE} docker-env)
Fail!