【发布时间】:2021-05-31 19:36:16
【问题描述】:
我已经设置了 win 10、minikube、docker。 我需要在本地 minikube 中启动 localstack。我没有找到k8s部署yaml。所以我把他们在 github 上提供的 docker compose yaml 拿去。并创建如下文件:
# disk volume claim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
com.job.service: localstack-claim0
name: localstack-claim0
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}
---
# service account
apiVersion: v1
kind: ServiceAccount
metadata:
name: localstack-account
labels:
com.job.service: localstack-service-account
---
# service
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
com.job.service: localstack-service
name: localstack-service
spec:
type: NodePort
externalTrafficPolicy: Cluster
ports:
- name: "edge"
port: 4566
targetPort: 4566
- name: "es"
port: 4571
targetPort: 4571
- name: "ui"
port: 8080
targetPort: 8080
selector:
com.job.service: localstack-service
status:
loadBalancer: {}
---
# deployment
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
com.job.service: localstack-deployment
name: localstack-deployment
spec:
replicas: 1
selector:
matchLabels:
com.job.service: localstack-deployment
strategy:
type: Recreate
template:
metadata:
creationTimestamp: null
labels:
com.job.service: localstack-deployment
spec:
containers:
- env:
- name: DATA_DIR
value: ' '
- name: DEBUG
value: ' '
- name: DOCKER_HOST
value: tcp://127.0.0.1:2376
- name: HOST_TMP_FOLDER
- name: KINESIS_ERROR_PROBABILITY
value: ' '
- name: LAMBDA_EXECUTOR
value: ' '
- name: PORT_WEB_UI
value: ' '
- name: SERVICES
value: 'sqs'
image: localstack/localstack
imagePullPolicy: IfNotPresent
name: localstack-main
ports:
- name: edge
containerPort: 4566
protocol: TCP
- name: es
containerPort: 4571
protocol: TCP
- name: ui
containerPort: 8080
protocol: TCP
livenessProbe:
failureThreshold: 3
initialDelaySeconds: 0
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
httpGet:
path: /health
port: edge
readinessProbe:
failureThreshold: 3
initialDelaySeconds: 0
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
httpGet:
path: /health
port: edge
resources: {}
volumeMounts:
- mountPath: /tmp/localstack
name: localstack-claim0
restartPolicy: Always
serviceAccountName: localstack-account
volumes:
- name: localstack-claim0
persistentVolumeClaim:
claimName: localstack-claim0
status: {}
但是当我开始使用 kubectl apply -f path_To_yaml 并等到所有服务启动时。我尝试到达健康检查端点,但我只收到无法连接到主机的异常
我尝试使用 minikube 隧道,但没有帮助
可能有人知道如何配置正确的本地化?我是 devops 的新手
尝试使用minikube addons enable ingress,但没有帮助我
尝试使用下一条命令手动公开和转发端口
kubectl expose pod localstack-deployment-7667b8d6bf-6mqbp --type=ClusterIP --name=localstack
和
kubectl port-forward po/localstack-deployment-7667b8d6bf-6mqbp 4566:4566
并与 aws cli 和 awslocal cli 连接;但同样的结果:无法连接
【问题讨论】:
-
你好@faceoff。请问您是否可以直接
kubectl port-forward到吊舱? -
我手动尝试使用下一个命令:``` kubectl expose pod localstack-deployment-7667b8d6bf-6mqbp --type=ClusterIP --name=localstack ``` and ``` kubectl port-forward po/localstack-deployment-7667b8d6bf-6mqbp 4566:4566 ```然后尝试用aws cli连接,但总是一样无法连接
-
谢谢@faceoff。我认为您的案例需要一些澄清,因为它现在有点令人困惑。您从 Minikube 开始,但现在您还提到了 AWS CLI。能否请您解释一下您究竟想要实现什么以及如何实现?
-
我想用正确的清单在 minikube 中启动 localstack; Localstack 是 aws 的本地版本,所以我尝试通过 aws cli 联系 localstack
-
你试过只使用nodePorts吗?我即将进行这样的部署+服务,并在服务上使用 nodePorts 以保持简单。你搞定了吗?
标签: kubernetes minikube localstack