【问题标题】:Kubernetes + calico + replicaSetKubernetes + calico + 副本集
【发布时间】:2020-03-19 15:40:03
【问题描述】:

所以我发现自己处于一个非常棘手的境地。我正在尝试创建一个简单的副本集,但不幸的是,我遇到了印花布的一些问题。

我有 2 个 VM 在 OracleVM 上运行。我将它们配置为使用 enp0s8 接口。 master节点的IP是192.168.56.2,worker节点的ip是192.168.56.3

这就是我在 Kubernetes 中所做的事情。首先,我正在创建 Kubernetes 主节点:

kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.56.2

成功初始化后我正在运行:

export KUBECONFIG=/etc/kubernetes/admin.conf

现在我通过运行来创建 POD 网络:

kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml

之后我成功地从工作节点加入。每当我启动副本时:

***编辑:我不必创建副本集以获得与calico-node创建卡住的相同结果

kubectl create -f replicaset-definition.yml

其中的 yml 如下所示:

kind: ReplicaSet
metadata:
  name: myapp-replicaset
  labels:
    app: myapp
    type: front-end
spec:
  template:
    metadata:
      name: myapp-pod
      labels:
        app: myapp
        type: front-end
    spec:
      containers:
        - name: nginx-container
          image: nginx
  replicas: 2
  selector:
    matchLabels:
      app: myapp

我正在创建一个新的 calico 节点,最终会卡住

calico-node-mcb5g                          0/1     Running   6          8m58s
calico-node-t9p5n                          1/1     Running   0          12m

如果我跑 kubectl logs -n kube-system calico-node-mcb5g -f 在上面我得到以下日志:

2020-03-18 14:45:40.585 [INFO][8] startup.go 275: Using NODENAME environment for node name
2020-03-18 14:45:40.585 [INFO][8] startup.go 287: Determined node name: kubenode1
2020-03-18 14:45:40.587 [INFO][8] k8s.go 228: Using Calico IPAM
2020-03-18 14:45:40.588 [INFO][8] startup.go 319: Checking datastore connection
2020-03-18 14:46:10.589 [INFO][8] startup.go 334: Hit error connecting to datastore - retry error=Get https://10.96.0.1:443/api/v1/nodes/foo: dial tcp 10.96.0.1:443: i/o timeout
2020-03-18 14:46:41.591 [INFO][8] startup.go 334: Hit error connecting to datastore - retry error=Get https://10.96.0.1:443/api/v1/nodes/foo: dial tcp 10.96.0.1:443: i/o timeout

我已经尝试配置 calico.yml 并在 env 中添加了以下行:

- name: IP_AUTODETECTION_METHOD
  value: "interface=enp0s8"

但结果还是一样。

非常感谢您阅读本文,如果您有任何建议,我将非常感激!!!

【问题讨论】:

  • 检查 kube 代理 pod 是否正在运行以及 kube-proxy pod 日志中是否有任何错误
  • 好的,所以我在这里检查代理:``` ps auxw | grep kube-proxy 根 7912 0.0 1.4 140108 28724 ? Ssl 11:05 0:02 /usr/local/bin/kube-proxy --config=/var/lib/kube-proxy/config.conf --hostname-override=kubemaster root 19601 0.0 0.0 21292 940 pts/8 S+ 12:09 0:00 grep --color=auto kube-proxy ```
  • 节点上是否有防火墙阻止到 10.96.0.1:443 的流量

标签: kubernetes replicaset project-calico calico


【解决方案1】:

好的,就这样吧。看起来是因为服务 CIDR 和主机 CIDR 重叠导致 calico 节点崩溃。

如果我启动主节点并将 CIDR 更改为:

kubeadm init --pod-network-cidr=20.96.0.0/12 --apiserver-advertise-address=192.168.56.2

像魅力一样工作。

这很有帮助: Cluster Creation Successful but calico-node-xx pod is in CrashLoopBackOff Status

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    • 2018-08-02
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    相关资源
    最近更新 更多