[kubernetes]-k8s in k8s
导语:感觉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相关推荐
- Kubernetes精华问答 | K8s架构和组件是怎样的?
kubernetes,简称K8s,是用8代替8个字符"ubernete"而成的缩写.是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化 ...
- Kubernetes 为何称为 K8s?
您可能听说过 Kubernetes,这是当今市场上最热门.需求最大的 DevOps 技术,它是一个开源的容器编排平台. 您还会遇到术语 K8s,您会发现它被用作 Kubernetes 的同义词,这可能 ...
- Kubernetes(简称K8s)将被带入到物联网边缘计算场景中
作者:物女王(彭昭) 物联网智库 原创 最近在边缘计算领域,发生了一次具有非凡意义的合作,有可能以节点的身份被载入物联网史册. 两大著名开源组织,Linux基金会和Eclipse基金会正在合 ...
- 灵活、高效的云原生集群管理经验:用 K8s 管理 K8s
作者 | 淮右.临石 **导读:**单 K8s 集群为用户提供了 Namespace 级别的隔离能力,理论上支持不超过 5K Node.15W Pod.多 K8s 集群则解决了单集群的资源隔离.故障隔 ...
- K8S——关于K8S控制台的yaml文件编写(基于上一章多节点K8S部署)
K8S--关于K8S控制台的yaml文件编写(基于上一章多节点K8S部署) 一.yaml文件编写流程 二.证书自签 一.yaml文件编写流程 rbac.yaml---->secret.yaml- ...
- 【云原生之k8s】k8s管理工具kubectl详解
[云原生之k8s]k8s管理工具kubectl详解 前言 一.陈述式管理 (1)陈述式资源管理方法 (2)k8s相关信息查看 ①查看版本信息 ②查看节点信息 ③查看资源对象简写 ④查看集群信息 ⑤配置 ...
- 【云原生之k8s】k8s基础详解
[云原生之k8s]k8s基础详解 前言 一.kubernetes介绍 (1)kubernetes简介 (2)应用部署方式的演变 二.kubernetes组件 (1)kubernetes架构 (2)ma ...
- 【K8S】K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本)
写在前面 K8S集群部署成功了,如何对集群进行可视化管理呢?别着急,接下来,我们一起搭建kubernetes-dashboard来解决这个问题. 有关K8S集群的安装可以参考<[K8S]基于单M ...
- Kubernetes 学习2 k8s基础概念
一.架构描述 1.基本架构 2.pod ,有两类 a.自主式pod 自我管理的,创建之后,任然是需要提交给API Server,API Server接受之后然后由调度器调度到指定的 node节点,由n ...
最新文章
- 在图数据上做机器学习,应该从哪个点切入?
- IOS开发1-动画 背景渐隐,view上移
- 5月以来的学习,软件工程+设计模式+J2EE开发+portal开发,以及SOA技术
- 陶哲轩实分析命题10.1.7
- TypeError: Can not convert a float32 into a Tensor or Operation.
- python波峰波谷算法_波动均分算法
- Bitcoin比特币与BlockChain区块链技术
- python脚本设置环境变量_详解如何设置Python环境变量?
- java类内部的变量
- Struts 2框架创建的第一个项目
- 月薪1万的乞丐--转载
- localhost 127.0.0.1 本机IP
- 迎亚运 广州推出全国首个地铁导向地图
- java pdf tiff_关于java:使用iText将tiff文件转换为pdf文件时出现异常
- 企业如何推动组织变革?
- B站笔试真题之[编程题]扭蛋机
- 【硬件】以太网PHY芯片有三个时钟说明
- php开发的app商城,如何利用PHP语言开发手机APP
- 开发者测试笔记08--ASAN、TSAN、UBSAN、KASAN使用总结
- Wiznote为知笔记私有部署(docker)删除多余用户账号.md
热门文章
- div添加阴影(盒子阴影)box-shadow各参数含义
- 一个七年Java女程序员的年终总结,写给过去一年的自己
- 【CG】汇总开源的三维图形/计算几何/CAD算法库
- 5.4.1 映射Blob和Clob类型@Lob
- 告别2022,重新出发
- C#2.0新特性-泛型
- H264编码器5( x264源代码简单分析:x264_slice_write() 与H264 编码简介)
- 调用“elm_kernel_adda>kernel_matrix3“时,未对输出参数“omega“ (可能还包括其他参数)赋值。
- BIOS密码清除方法--unlock6的使用.
- 位运算符+位运算的应用