导语:感觉k8s in k8s 很高大上,但是没有特别好的资料。看到一个有点类似的,虽然没有最后执行成功 记录一下。

使用kind安装k8s

wget -c https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64
mv kind-linux-amd64  kind
chmod +x ./kind
cp ./kind /usr/local/bin/kind
kind create cluster # 如果不指定名字则默认为kind
kind create cluster --name kind-2

curl -LO https://dl.k8s.io/release/v1.21.1/bin/linux/amd64/kubectl
chmod +x kubectl
cp kubectl /usr/bin/
cp kubectl /usr/local/bin/
kubectl cluster-info --context kind-kind
kubectl get pods -A

apiVersion: v1
kind: Pod
metadata:name: dind
spec:containers:- image: jieyu/dind-buster:v0.1.8name: dindstdin: truetty: trueargs:- /bin/bashvolumeMounts:- mountPath: /var/lib/dockername: varlibdockersecurityContext:privileged: truevolumes:- name: varlibdockeremptyDir: {}

到这里为止在k8s的pod中运行docker都是ok的

直接在最外层的k8s中创建k8s

yaml如下

apiVersion: v1
kind: Pod
metadata:name: kind-cluster
spec:containers:- image: jieyu/kind-cluster-buster:v0.1.0name: kind-clusterstdin: truetty: trueargs:- /bin/bashenv:- name: API_SERVER_ADDRESSvalueFrom:fieldRef:fieldPath: status.podIPvolumeMounts:- mountPath: /var/lib/dockername: varlibdocker- mountPath: /lib/modulesname: libmodulesreadOnly: truesecurityContext:privileged: trueports:- containerPort: 30001name: api-server-portprotocol: TCPreadinessProbe:failureThreshold: 15httpGet:path: /healthzport: api-server-portscheme: HTTPSinitialDelaySeconds: 120periodSeconds: 20successThreshold: 1timeoutSeconds: 1volumes:- name: varlibdockeremptyDir: {}- name: libmoduleshostPath:path: /lib/modules

启动过程比较久。健康检查需要比较长的时间才能过。


下面在pod中运行docker容器再创建k8s coredns通信 会有一些问题

准备在pod中使用docker再装一个k8s

kubectl cp /srv/kind dind:/srv/
kubectl cp /srv/kubectl dind:/srv/
cp /srv/k* /usr/bin/
docker run -ti --name=123  --rm --privileged  jieyu/dind-buster:v0.1.8 /bin/bash
docker run -ti --name=123  --rm --privileged --network=host jieyu/dind-buster:v0.1.8 /bin/bash

如图这个是在k8s的bind容器中

最终会有报错 不知道是不是因为我network=host的缘故

不清楚是不是少了这一步。

RUN update-alternatives --set iptables  /usr/sbin/iptables-legacy || true && \update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy || true && \update-alternatives --set arptables /usr/sbin/arptables-legacy || true

在pod中执行

apt update
apt-get install -y iptables arptables ebtables
update-alternatives --set iptables /usr/sbin/iptables-legacy
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
update-alternatives --set arptables /usr/sbin/arptables-legacyupdate-alternatives --set ebtables /usr/sbin/ebtables-legacy

安装完成之后coredns依旧有问题

尝试删除coredns的configmap下的loop也没用,虽然不报错了,但是容器创建依旧有问题。

参考

https://cloud.tencent.com/developer/article/1648372

https://d2iq.com/blog/running-kind-inside-a-kubernetes-cluster-for-continuous-integration

[kubernetes]-k8s in k8s相关推荐

  1. Kubernetes精华问答 | K8s架构和组件是怎样的?

    kubernetes,简称K8s,是用8代替8个字符"ubernete"而成的缩写.是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化 ...

  2. Kubernetes 为何称为 K8s?

    您可能听说过 Kubernetes,这是当今市场上最热门.需求最大的 DevOps 技术,它是一个开源的容器编排平台. 您还会遇到术语 K8s,您会发现它被用作 Kubernetes 的同义词,这可能 ...

  3. Kubernetes(简称K8s)将被带入到物联网边缘计算场景中

    作者:物女王(彭昭)      物联网智库 原创 最近在边缘计算领域,发生了一次具有非凡意义的合作,有可能以节点的身份被载入物联网史册. 两大著名开源组织,Linux基金会和Eclipse基金会正在合 ...

  4. 灵活、高效的云原生集群管理经验:用 K8s 管理 K8s

    作者 | 淮右.临石 **导读:**单 K8s 集群为用户提供了 Namespace 级别的隔离能力,理论上支持不超过 5K Node.15W Pod.多 K8s 集群则解决了单集群的资源隔离.故障隔 ...

  5. K8S——关于K8S控制台的yaml文件编写(基于上一章多节点K8S部署)

    K8S--关于K8S控制台的yaml文件编写(基于上一章多节点K8S部署) 一.yaml文件编写流程 二.证书自签 一.yaml文件编写流程 rbac.yaml---->secret.yaml- ...

  6. 【云原生之k8s】k8s管理工具kubectl详解

    [云原生之k8s]k8s管理工具kubectl详解 前言 一.陈述式管理 (1)陈述式资源管理方法 (2)k8s相关信息查看 ①查看版本信息 ②查看节点信息 ③查看资源对象简写 ④查看集群信息 ⑤配置 ...

  7. 【云原生之k8s】k8s基础详解

    [云原生之k8s]k8s基础详解 前言 一.kubernetes介绍 (1)kubernetes简介 (2)应用部署方式的演变 二.kubernetes组件 (1)kubernetes架构 (2)ma ...

  8. 【K8S】K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本)

    写在前面 K8S集群部署成功了,如何对集群进行可视化管理呢?别着急,接下来,我们一起搭建kubernetes-dashboard来解决这个问题. 有关K8S集群的安装可以参考<[K8S]基于单M ...

  9. Kubernetes 学习2 k8s基础概念

    一.架构描述 1.基本架构 2.pod ,有两类 a.自主式pod 自我管理的,创建之后,任然是需要提交给API Server,API Server接受之后然后由调度器调度到指定的 node节点,由n ...

最新文章

  1. 在图数据上做机器学习,应该从哪个点切入?
  2. IOS开发1-动画 背景渐隐,view上移
  3. 5月以来的学习,软件工程+设计模式+J2EE开发+portal开发,以及SOA技术
  4. 陶哲轩实分析命题10.1.7
  5. TypeError: Can not convert a float32 into a Tensor or Operation.
  6. python波峰波谷算法_波动均分算法
  7. Bitcoin比特币与BlockChain区块链技术
  8. python脚本设置环境变量_详解如何设置Python环境变量?
  9. java类内部的变量
  10. Struts 2框架创建的第一个项目
  11. 月薪1万的乞丐--转载
  12. localhost 127.0.0.1 本机IP
  13. 迎亚运 广州推出全国首个地铁导向地图
  14. java pdf tiff_关于java:使用iText将tiff文件转换为pdf文件时出现异常
  15. 企业如何推动组织变革?
  16. B站笔试真题之[编程题]扭蛋机
  17. 【硬件】以太网PHY芯片有三个时钟说明
  18. php开发的app商城,如何利用PHP语言开发手机APP
  19. 开发者测试笔记08--ASAN、TSAN、UBSAN、KASAN使用总结
  20. Wiznote为知笔记私有部署(docker)删除多余用户账号.md

热门文章

  1. div添加阴影(盒子阴影)box-shadow各参数含义
  2. 一个七年Java女程序员的年终总结,写给过去一年的自己
  3. 【CG】汇总开源的三维图形/计算几何/CAD算法库
  4. 5.4.1 映射Blob和Clob类型@Lob
  5. 告别2022,重新出发
  6. C#2.0新特性-泛型
  7. H264编码器5( x264源代码简单分析:x264_slice_write() 与H264 编码简介)
  8. 调用“elm_kernel_adda>kernel_matrix3“时,未对输出参数“omega“ (可能还包括其他参数)赋值。
  9. BIOS密码清除方法--unlock6的使用.
  10. 位运算符+位运算的应用