首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes + calico + replicaSet

Kubernetes + calico + replicaSet
EN

Stack Overflow用户
提问于 2020-03-18 23:00:26
回答 1查看 1.4K关注 0票数 0

所以我发现自己处于一个相当棘手的境地。我正在尝试创建一个简单的replicaSet,但不幸的是我遇到了一些关于calico的问题。

我有两个虚拟机在OracleVM上运行。我已经将它们配置为使用enp0s8接口。主节点IP为192.168.56.2,工作节点ip为192.168.56.3

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

代码语言:javascript
复制
kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.56.2

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

代码语言:javascript
复制
export KUBECONFIG=/etc/kubernetes/admin.conf

现在,我通过运行以下命令来创建POD网络:

代码语言:javascript
复制
kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml

在此之后,我成功地从工作节点加入。每当我使用以下命令启动复制副本时:

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

代码语言:javascript
复制
kubectl create -f replicaset-definition.yml

其中的yml如下所示:

代码语言:javascript
复制
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-node,它最终会被卡住

代码语言:javascript
复制
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,我会得到以下日志:

代码语言:javascript
复制
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,并在环境中添加了以下行:

代码语言:javascript
复制
- name: IP_AUTODETECTION_METHOD
  value: "interface=enp0s8"

但结果仍然是一样的。

非常感谢你阅读这篇文章,如果你有任何建议,我将非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-19 15:40:03

好了,现在开始了。似乎是因为服务CIDR和主机CIDR重叠而导致calico节点崩溃。

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

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60742165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档