标签: etcd

Kubernetes 集群的正常关闭

我们有一个 4 节点 Kubernetes 集群,使用 Juju 2.0 和官方规范的 Kubernetes 魅力安装。这个非常本地和私人安装的唯一目的是开发和测试。

此安装最大的和记录在案的问题之一是完全缺乏优雅的服务器关闭程序。只有当etcd节点出现故障时,整个配置才会丢失。

我们花了大量时间为 Kubernetes 寻找自动备份/恢复脚本/程序。我们遇到的问题最常见的答案是在我们启动它时使用 Juju 从头开始​​部署服务器。给予 30-35 分钟。部署时间 它似乎不是一个有吸引力的解决方案?

你碰巧对这个问题有任何可行的解决方案吗?

shutdown kubernetes etcd

13
推荐指数
1
解决办法
1710
查看次数

为什么使用 MongoDB 代替 etcd 作为键值存储是一个好主意还是一个坏主意?

我想从社区中获得关于为什么 MongoDB 的键/值会或不会是 etcd 或其他专门构建的键/值存储系统(consol、zookeeper 等)的合适替代品的一般想法。

mongodb zookeeper etcd consul

5
推荐指数
1
解决办法
2278
查看次数

所有 kube-system pod 不断崩溃,etcd 收到 sigterm

我正在尝试设置一个本地 Kubernetes 集群。首先,我使用 kubeadm 在一个节点上初始化我的控制平面。但所有 kube 系统 pod 都会不断崩溃。我通过 crictl 深入研究了 pod 日志,结果发现大多数 pod 崩溃是因为它们无法到达 上的 kube-apiserver <node IP>:6443。并且 kube-apiserver 似乎崩溃了,因为它无法到达 上的 etcd 127.0.0.1: 2379。etcd 会“崩溃”,因为几分钟后它会在没有任何明显原因的情况下收到 sigterm。在 etcd 容器进程上使用 strace 可以得到:

--- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=0, si_uid=0} ---
Run Code Online (Sandbox Code Playgroud)

我尝试过 flanneld、calico 和 weave net 作为 CNI,但没有成功。交换从一开始就被禁用了。防火墙没有任何自定义规则。作为一名 kubernetes 新手,我想不出其他可能的失败原因,如果有任何提示,我将不胜感激。

系统信息:

kubernetes etcd kubeadm containerd

4
推荐指数
1
解决办法
1879
查看次数

etcd2 无法在我的 CoreOS 节点上启动

我正在尝试在我的 CoreOS 节点中启动 etcd2。

我的云配置中有这个:

coreos:
  etcd2:
    discovery: https://discovery.etcd.io/new?size=1
    advertise-client-urls: http://127.0.0.1:2379,http://127.0.0.1:4001
    initial-advertise-peer-urls: http://127.0.0.1:2380
    listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
    listen-peer-urls: http://127.0.0.1:2380
Run Code Online (Sandbox Code Playgroud)

安装后,当我启动系统时出现错误(根据日志):

etcdmain:顶级值后的无效字符“p”

并且 etcd2 无法启动。

这意味着什么?我遵循了https://coreos.com/os/docs/latest/cloud-config.htmlhttps://coreos.com/os/docs/latest/cluster-discovery.html上的指南。

编辑

节点 1

coreos:
  etcd2:
    name: coreos1
    discovery: https://discovery.etcd.io/2d585793b364cf8985ca7a983d6c52e3
    advertise-client-urls: http://127.0.0.1:2379,http://127.0.0.1:4001
    initial-advertise-peer-urls: http://127.0.0.1:2380
    listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
    listen-peer-urls: http://127.0.0.1:2380
Run Code Online (Sandbox Code Playgroud)

节点 2

coreos:
  etcd2:
    name: coreos2
    discovery: https://discovery.etcd.io/2d585793b364cf8985ca7a983d6c52e3
    advertise-client-urls: http://127.0.0.1:2379,http://127.0.0.1:4001
    initial-advertise-peer-urls: http://127.0.0.1:2380
    listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
    listen-peer-urls: http://127.0.0.1:2380
Run Code Online (Sandbox Code Playgroud)

coreos1> journalctl -u etcd2:

Sep 21 20:10:31 coreos1 etcd2[671]: 2015/09/21 20:10:31 discovery: found self e276d5b4c276a19d in the cluster
Sep 21 …
Run Code Online (Sandbox Code Playgroud)

coreos etcd

3
推荐指数
1
解决办法
4236
查看次数

为什么 kubernetes kube-api server 需要 etcd-keyfile 和 kubelet-client-key

据我了解,kube-api 服务器在与 ETCD 和 Kubelet 通信时充当客户端。ETCD 和 Kubelet 都充当 kube-api 的服务器。在安全环境(双向 SSL 认证)下,kube-api 服务器需要 ETCD 和 Kubelet 证书以及 CA 证书。我不明白的是为什么我们在配置 kube-apiserver.yaml 时需要提供 ETCD(etcd-keyfile)和 Kubelet(kubelet-client-key)的私钥?

kubernetes etcd

2
推荐指数
1
解决办法
58
查看次数

标签 统计

etcd ×5

kubernetes ×3

consul ×1

containerd ×1

coreos ×1

kubeadm ×1

mongodb ×1

shutdown ×1

zookeeper ×1