- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在链接https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/之后部署了mysql statefulset,所有3个mysql pod都运行良好。
我已经用Golang编写了一个应用程序,该应用程序在连接到本地计算机上的MySQL服务器时会从config.toml文件读取MySQL环境变量。 config.toml文件包含这些变量。这些在我的应用程序在本地计算机上运行时使用。
MySQLServer = "127.0.0.1"
Port = "3306"
MySQLDatabase = "hss_lte_db"
User = "hss"
Password = "hss"
apiVersion: v1
data:
config.toml: |
MySQLServer = "mysql-0.mysql,mysql-1.mysql,mysql-2.mysql"
Port = "3306"
MySQLDatabase = "hss_lte_db"
User = "root"
Password = ""
GMLCAddressPort = ":8000"
NRFIPAddr = "192.168.31.115"
NRFPort = "30005"
kind: ConfigMap
metadata:
name: vol-config-gmlcapi
namespace: default
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gmlc-instance
namespace: default
spec:
selector:
matchLabels:
app: gmlc-instance
replicas: 1
template:
metadata:
labels:
app: gmlc-instance
version: "1.0"
spec:
nodeName: k8s-worker-node2
containers:
- name: gmlc-instance
image: abrahaa1/gmlcapi:1.0.0
imagePullPolicy: "Always"
ports:
- containerPort: 8000
volumeMounts:
- name: configs
mountPath: /gmlcapp/config.toml
subPath: config.toml
volumeMounts:
- name: gmlc-configs
mountPath: /gmlcapp/profile.json
subPath: profile.json
volumes:
- name: configs
configMap:
name: vol-config-gmlcapi
- name: gmlc-configs
configMap:
name: vol-config-profile
ubuntu@k8s-master:~/gmlc$ kubectl describe pod gmlc-instance-5898989874-s5s5j -n default
Name: gmlc-instance-5898989874-s5s5j
Namespace: default
Priority: 0
Node: k8s-worker-node2/192.168.31.151
Start Time: Sun, 10 May 2020 19:50:09 +0300
Labels: app=gmlc-instance
pod-template-hash=5898989874
version=1.0
Annotations: <none>
Status: Running
IP: 10.244.1.120
IPs:
IP: 10.244.1.120
Controlled By: ReplicaSet/gmlc-instance-5898989874
Containers:
gmlc-instance:
Container ID: docker://b756e67a39b7397e24fe394a8b17bc6de14893329903d3eace4ffde86c335213
Image: abrahaa1/gmlcapi:1.0.0
Image ID: docker-pullable://abrahaa1/gmlcapi@sha256:e0c8ac2a3db3cde5015ea4030c2099126b79bb2472a9ade42576f7ed1975b73c
Port: 8000/TCP
Host Port: 0/TCP
State: Terminated
Reason: Error
Exit Code: 1
Started: Sun, 10 May 2020 19:50:33 +0300
Finished: Sun, 10 May 2020 19:50:33 +0300
Last State: Terminated
Reason: Error
Exit Code: 1
Started: Sun, 10 May 2020 19:50:17 +0300
Finished: Sun, 10 May 2020 19:50:17 +0300
Ready: False
Restart Count: 2
Environment: <none>
Mounts:
/gmlcapp/profile.json from gmlc-configs (rw,path="profile.json")
/var/run/secrets/kubernetes.io/serviceaccount from default-token-prqdp (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
configs:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: vol-config-gmlcapi
Optional: false
gmlc-configs:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: vol-config-profile
Optional: false
default-token-prqdp:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-prqdp
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Pulling 9s (x3 over 28s) kubelet, k8s-worker-node2 Pulling image "abrahaa1/gmlcapi:1.0.0"
Normal Pulled 7s (x3 over 27s) kubelet, k8s-worker-node2 Successfully pulled image "abrahaa1/gmlcapi:1.0.0"
Normal Created 7s (x3 over 26s) kubelet, k8s-worker-node2 Created container gmlc-instance
Normal Started 6s (x3 over 26s) kubelet, k8s-worker-node2 Started container gmlc-instance
Warning BackOff 6s (x3 over 21s) kubelet, k8s-worker-node2 Back-off restarting failed container
ubuntu@k8s-master:~/gmlc$ kubectl get configmaps
NAME DATA AGE
mysql 2 4d3h
vol-config-gmlcapi 1 97m
vol-config-profile 1 7h56m
ubuntu@k8s-master:~/gmlc$ kubectl logs gmlc-instance-b4ddd459f-fd8nr -n default
root:@tcp(mysql-0.mysql,mysql-1.mysql,mysql-2.mysql:3306)/hss_lte_db
2020/05/10 18:39:43 GMLC cannot ping MySQL sever
2020/05/10 18:39:43 Cannot read json file
panic: Cannot read json file
goroutine 1 [running]:
log.Panic(0xc00003dda8, 0x1, 0x1)
/usr/local/go/src/log/log.go:351 +0xac
gmlc-kube/handler.init.0()
/app/handler/init.go:43 +0x5e9
最佳答案
我通过更改部署中的volumeMount使它运行。
解决方案如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: gmlc-instance
namespace: default
spec:
selector:
matchLabels:
app: gmlc-instance
replicas: 1
template:
metadata:
labels:
app: gmlc-instance
version: "1.0"
spec:
nodeName: k8s-worker-node2
containers:
- name: gmlc-instance
image: abrahaa1/gmlcapi:1.0.0
imagePullPolicy: "Always"
ports:
- containerPort: 8000
volumeMounts:
- name: configs
mountPath: /gmlcapp/config.toml
subPath: config.toml
readOnly: true
- name: gmlc-configs
mountPath: /gmlcapp/profile.json
subPath: profile.json
volumes:
- name: configs
configMap:
name: vol-config-gmlcapi
- name: gmlc-configs
configMap:
name: vol-config-profile
关于mysql - 如何将我的应用程序连接到kubernetes mysql statefulset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61712133/
https://codelabs.developers.google.com/codelabs/cloud-mongodb-statefulset/index.html?index=..%2F..in
https://codelabs.developers.google.com/codelabs/cloud-mongodb-statefulset/index.html?index=..%2F..in
我对 Kubernetes 进行了大量的挖掘,我很喜欢我所看到的东西!我一直无法清楚地了解的一件事是 Deployment 和 StatefulSet 资源之间的确切区别是什么,以及您将在哪些场景中使
上下文:我一直在学习 Kubernetes 并试图获得一些实践经验。我一直在使用 AKS 来抽象处理控制平面的复杂性(并且因为我有一个免费的学生 azure 帐户)。我正在部署一个连接到 MongoD
背景 我的应用程序使用分片 mongodb 和 elasticsearch statefulsets 在 kubernetes 集群中运行。我在我的应用程序中为部署组件设置了水平 pod 自动缩放器,
我的开发环境和 CI 上的 StatefulSet 更新有一个简单的问题。 我想在不先使用 Kubectl delete 的情况下立即替换所有 StatefulSet 副本。是否可以将 list 更改
我有一个启动MySQL数据库的StatefulSet。目前唯一的缺点是,对于每个副本,我需要创建一个“持久卷”和“持久卷声明”,并选择与标签和podindex相匹配的选择。 这意味着如果没有手动交互,
我有一个kubernetes集群,并且有一个带有mongodb持久卷集的NFS的简单部署。它工作正常,但是由于数据库等资源都是stateful,因此我想到将Statefulset用作mongodb,但
在Kubernetes中,可以在Statefulset中添加hostPath存储。如果是这样,有人可以帮我举例吗? 最佳答案 是的,但绝对是出于测试目的。 首先,您需要创建尽可能多的持久卷 kind:
我目前正在尝试创建一组 X pod,每个都有一个个人持久卷。为此,我创建了一个 StateFulSet带有 X 个副本和一个 PersistentVolumeClaimTemplate这部分正在工作。
我正在尝试运行一个 zookeeper 集合体,但在将唯一 ID 作为环境变量 ZOO_MY_ID 传递时遇到问题,这是官方 zookeeper 图片所要求的 here . 我已尝试阅读此内容并发现了
我正在部署两个作为无外设服务运行的相同图像的 statefulset pod。我希望将单独的 env 变量传递给在 statefulset pod 中运行相同图像的容器。谁能告诉我如何实现这一目标?
我正在使用 Google Kubernetes Engine 并且想要我的 StatefulSet使用我之前创建的磁盘my-app-disk而不是为集合中的每个副本动态创建新的永久磁盘。我的配置如下:
Kubernetes StatefulSets创建具有稳定网络 ID 的内部 DNS 条目。文档在此处对此进行了描述: Each Pod in a StatefulSet derives its ho
事件探针应该触发失败容器的重新启动。他们是否尊重默认的状态集deployment and scaling guarantees 。例如。如果同一状态集中的多个 pod 的 active 探测同时失败,
我们有一个状态集,我们希望有最短的停机时间(就像我想的任何其他状态集一样),但是由于就绪探测失败阈值为 5(在“无故终止”状态)。因此,为了更快地终止,我将故障阈值降低到 1,它现在终止得更快,但是现
如果您在 StatefulSet 规范中修补镜像名称,Kubernetes StatefulSet (v1.8) 将自动将其管理的 pod 滚动到新镜像——毕竟,编排这种更新是其主要工作之一。但是,如
我已经在链接https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/之后部署了mysq
我有一个有 2 个副本的 StatefulSet。我想创建一个端点以便能够访问此副本中的任何一个,将主机名 id 传递给它,并且如果我将其扩展到更多副本,则需要可以访问新的 pod。 我可以这样做,创
目前,我们将其中一个有状态集扩展为具有11个副本。我们当前的更新策略是 updateStrategy: type: RollingUpdate 如果我们从头开始部署有状态集,Kubernetes就
我是一名优秀的程序员,十分优秀!