- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
上下文
我安装了Docker
关注 this我的Ubuntu 18.04 LTS (Server)
上的说明之后是 Kubernetes
紧随其后的是 kubeadm
.在初始化( kubeadm init --pod-network-cidr=10.10.10.10/24
)并加入第二个节点(我开始有一个双节点集群)后,我无法让我的 coredns 以及后来应用的 Web UI(仪表板)实际进入状态运行。
作为 pod 网络,我尝试了 Flannel ( kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
) 和 Weave Net - 没有任何改变。即使经过数小时的等待,它仍然显示状态 ContainerCreating:
问题
为什么容器创建没有按预期工作,这可能是什么根本原因?最重要的是:我该如何解决这个问题?
编辑
总结一下我的回答,原因如下:
cgroups
而不是 systemd
iptables
正确 kubeadm init
因为法兰绒标准 yaml 需要 --pod-network-cidr
成为 10.244.0.0/16
最佳答案
由于回答这个问题花了我很多时间,我想分享是什么让我摆脱了这个问题。可能有一些不必要的代码,但如果我或其他人必须重做所有步骤,我也希望它在一个地方。
首先,这一切都始于 Docker...
我发现这大概都是从我安装 Docker 的方式开始的。按照我使用的链接在线说明sudo apt-get install docker.io
为了安装 Docker 并将其与 cgroups
一起使用通过做sudo usermod -aG docker $USER
.
好吧,看看 Kubernetes 的官方说明,这是一个错误:systemd
是推荐的方式!
所以我通过关注 these great instructions 彻底清除了我对 docker 所做的一切。从
Mayur Bhandare:
sudo apt-get purge -y docker-engine docker docker.io docker-ce
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce
sudo rm -rf /var/lib/docker /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock
# Reboot to be sure
# Install Docker CE
## Set up the repository:
### Install packages to allow apt to use a repository over HTTPS
apt-get update && apt-get install -y \
apt-transport-https ca-certificates curl software-properties-common gnupg2
### Add Docker’s official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
### Add Docker apt repository.
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
## Install Docker CE.
apt-get update && apt-get install -y \
containerd.io=1.2.10-3 \
docker-ce=5:19.03.4~3-0~ubuntu-$(lsb_release -cs) \
docker-ce-cli=5:19.03.4~3-0~ubuntu-$(lsb_release -cs)
# Setup daemon.
cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
mkdir -p /etc/systemd/system/docker.service.d
# Restart docker.
systemctl daemon-reload
systemctl restart docker
systemd
!
sudo kubeadm init
已完成
--pod-network-cidr=10.10.10.10/24
因为后者是我主人的IP。
--pod-network-cidr=10.244.0.0/16
导致错误 例如使用
kubectl proxy
或使用提供的
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
时的容器创建.
10.244.0.0/16
在
.yaml
中硬链接(hard link)因此,这是强制性的 - 或者您只需在
.yaml
中更改它.
sudo kubeadm reset
来实现并使用
sudo rm -r ~/.kube/config
删除配置.
kubeadm
进行了完全重置并确保它确实使用了
iptables
这次(我之前也忘了做......)。
kubeadm reset
sudo apt-get purge kubeadm kubectl kubelet kubernetes-cni kube*
sudo apt-get autoremove
sudo rm -rf ~/.kube
# ensure legacy binaries are installed
sudo apt-get install -y iptables arptables ebtables
# switch to legacy versions
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo update-alternatives --set arptables /usr/sbin/arptables-legacy
sudo update-alternatives --set ebtables /usr/sbin/ebtables-legacy
# Install Kubernetes with kubeadm
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
#reboot
# Initialize with correct cidr
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
kubectl get pods --all-namespaces
/run/flannel/subnet.env: no such file or directory
-在描述未创建的核心时,我在这些步骤之前遇到的错误。
关于docker - Kubernetes 使用 flannel 创建容器时卡在 "ContainerCreating"-state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60049036/
在安装 Kubernetes 时,我被困在 CNI 插件安装和配置部分。我已经安装了 Flannel,但我在 kubelet 日志中看到错误,因为哪些 coredns pod 处于挂起状态。 操作系统
首先,我使用 Flannel 启动 Kubernetes 10.244.0.0 . 然后我重置所有并重新启动 10.84.0.0 . 但是,界面flannel.1仍然是 10.244.1.0 这就是我
我有一个运行良好的 kubernetes 设置,但我似乎无法向外部公开服务。我认为我的网络设置不正确: kubernetes 服务地址:--service-cluster-ip-range=172.1
我在使用 flannel 安装 kubeadm 时遇到了一个非常奇怪的 kubernetes 网络问题。能否请你帮忙? 我有 3 个节点,1 个用于主节点,2 个用于从属节点。并且有 4 个 pod
我想使用 Docker 在多裸机集群中安装 Hadoop 2.3.0。我有一个主容器和一个从属容器(在第一个设置中)。当 Master 和 Slave 容器位于同一主机(因此位于同一 Flannel
1、VXLAN 简介 VXLAN (Virtual Extensible LAN)是一种网络虚拟化技术,它使用一种隧道协议,将二层以太网帧封装在四层UDP报文中,通过三层网络传输,组成一个虚拟
我是 Kubernetes 的新手,我想尝试不同的 CNI。 在我当前的集群中,我使用的是法兰绒 现在,我想使用 Calico,但找不到合适的指南来清理 Flannel 和安装 Calico。 你能指
我正在尝试使用两个 Vagrant 实例来遵循本教程: http://kubernetes.io/v1.0/docs/getting-started-guides/docker-multinode.h
在 pod 中运行的 Flannel 得到了错误的子网并且网络不愉快,症状是从 10.105.0.0/16 分配给 flannel/24。它应该从 10.105.5.128/21 分配/26。谢谢你的
我希望有人能在 Kubernetes 网络设置上给我启发。我想使用 flannel 作为 Kubernetes 网络层。 我在 Kubernetes 上:1.5.5 顺便说一句。 问题是,你可以(应该
我们刚刚开始在 kubernetes 上创建我们的集群。 现在我们尝试部署分蘖,但出现错误: NetworkPlugin cni failed to set up pod "tiller-deploy
我想在 docker 上设置一个 kubernetes 多节点集群 http://kubernetes.io/v1.1/docs/getting-started-guides/docker-multi
我已成功在 1 个主节点 + 6 个节点(均运行 CentOS)上部署了 Kubernetes 1.3.5 集群,包括 DNS 和 Kubernetes Dashboard 插件。起初一切似乎都正常。
我是法兰绒和 K8s 的新手。我在我的 1 个主节点和 2 个节点集群(从 KVM 创建)上玩弄它们。 我用法兰绒网络插件初始化了我的集群。然后我发现我无法到达内部。 结果证明我的网络或 DNS 进程
我正在关注 this guide关于如何设置 kubernetes swarm。 我的群将如下所示: 10.0.2.1: swarm1 (master) 10.0.2.2:swarm2(worker)
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关专业服务器或网络相关基础设施管理的问题。您可以编辑问
我计划将我们的 Kubernetes 实例迁移到 etcd v3。您知道 Flannel 是否可以与 etcd v3 一起使用吗? 最佳答案 从我的部署过程来看,现在(2019/09/06)flann
我正在尝试按照以下文档创建一个 kubernetes 集群:https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ 首
我一直在尝试在单个节点中设置 k8s,一切都安装得很好。但是当我检查我的 kube-system pod 的状态时, CNI -> 法兰绒 pod 有 坠毁 , 原因 -> 超出了名称服务器限制,省略
上下文 我安装了Docker关注 this我的Ubuntu 18.04 LTS (Server)上的说明之后是 Kubernetes紧随其后的是 kubeadm .在初始化( kubeadm init
我是一名优秀的程序员,十分优秀!