Kind---也很方便的微型k8s实验环境

k3s弄好之后,发现使用client-go时,不是很方便,老是提示证书验证书127.0.0.1才可以,其它的IP都有问题。

我是要在k8s上跑二次开发的,就不再细细研究,然后,再考察kind方案吧。

这个kind只依赖于一个docker镜像,感觉还可以接受,关键是,我的websocket可以在这上面跑起来呢。

大约步骤如下:

一,获取kind命令。

go get -u sigs.k8s.io/kind

二,先获取好指定镜像,胜于漫长的命令行等待。

docker pull kindest/node:v1.17.0

三,生成基于国内镜像源的kind-config.yaml文件

kind: Cluster
apiVersion: kind.sigs.k8s.io/v1alpha3
kubeadmConfigPatches:
- |
  apiVersion: kubeadm.k8s.io/v1beta1
  kind: ClusterConfiguration
  metadata:
    name: config
  networking:
    serviceSubnet: 10.0.0.0/16
  imageRepository: registry.aliyuncs.com/google_containers
  nodeRegistration:
    kubeletExtraArgs:
      pod-infra-container-image: registry.aliyuncs.com/google_containers/pause:3.1
- |
  apiVersion: kubeadm.k8s.io/v1beta1
  kind: InitConfiguration
  metadata:
    name: config
  networking:
    serviceSubnet: 10.0.0.0/16
  imageRepository: registry.aliyuncs.com/google_containers
nodes:
- role: control-plane

四,安装指定name的k8s集群

kind create cluster --name aguncn --config kind-config.yaml

五,半支烟的功夫,看输出(要没有Kubectl命令,自己从网上找一个)

kubectl get pod -A
NAMESPACE            NAME                                           READY   STATUS    RESTARTS   AGE
default              nginx-549f84596b-jmkhf                         1/1     Running   0          107m
kube-system          coredns-6955765f44-jkn2x                       1/1     Running   0          110m
kube-system          coredns-6955765f44-xb4hm                       1/1     Running   0          110m
kube-system          etcd-aguncn-control-plane                      1/1     Running   0          110m
kube-system          kindnet-ffv8n                                  1/1     Running   0          110m
kube-system          kube-apiserver-aguncn-control-plane            1/1     Running   0          110m
kube-system          kube-controller-manager-aguncn-control-plane   1/1     Running   0          110m
kube-system          kube-proxy-nk2rm                               1/1     Running   0          110m
kube-system          kube-scheduler-aguncn-control-plane            1/1     Running   0          110m
local-path-storage   local-path-provisioner-7745554f7f-b62wg        1/1     Running   0          110m

六,为了测试一个简单的Nginx,使用kind load命令,先将本地镜像的nginx导入kind中。

kind load docker-image --name aguncn  nginx:1.16-alpine

七,弄一个简单的yaml启动

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      name: nginx
  template:
    metadata:
      labels:
        name: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.16-alpine
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service-nodeport
spec:
  ports:
    - port: 80
      targetPort: 80
      protocol: TCP
  type: NodePort
  selector:
    name: nginx

八,本地应该可以访问了

curl http://172.17.2:32622
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

九,安装一个rinetd作代理

https://www.jianshu.com/p/2605d247b944

https://www.cnblogs.com/Paul-watermelon/p/10365924.html

0.0.0.0 8080 172.17.2 32622

十,跨越主机访问,搞定。

原文地址:https://www.cnblogs.com/aguncn/p/12586806.html

时间: 2024-10-10 17:01:04

Kind---也很方便的微型k8s实验环境的相关文章

k8s实验环境的快速搭建

大部分搜索了网上的文章,有些自己遇到的问题也标记了处理方法! Kubeadm 安装k8s 准备环境:1.配置好各节点hosts文件2.关闭系统防火墙3.关闭SElinux4.关闭swap5.配置系统内核参数使流过网桥的流量也进入iptables/netfilter框架中,在/etc/sysctl.conf中添加以下配置:net.bridge.bridge-nf-call-iptables?=?1net.bridge.bridge-nf-call-ip6tables?=?1sysctl?-p使用k

k8s部署环境

k8s部署环境 公有云环境:AWS.腾讯云.阿里云等等 私有云:OpenStack.vSphere等 Baremetal环境:物理服务器或独立虚拟机(底层没有云环境).    k8s部署方式 Minikube:Kubernetes官网提供的微型分布式环境,适合学习.初次体验,不过应该需要梯子才能用. Kubeadm:由于二进制部署方式过于复杂,所以后来出现了Kubeadm的部署方式,这种方式其实是将k8s的各组件容器化了.注意,使用容器方式部署Master节点各组件时,需要安装kubelet和d

Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试

标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9315560/1901284 0.说明 使用Nginx可以配置基于域名的虚拟主机.基于端口的虚拟主机和基于端口的虚拟主机,比较常用的是基于域名的虚拟主机,这里要做的配置是基于域名的虚拟主机,并且是配置多个基于域名的虚拟主机. 关于Nginx配置文件的说明可以参考官方文档,同时也可以参考老男孩老师的书

如何利用PC机搭建综合实验环境之Vmware workstation篇

无论学习windows还是linux,还是学习这些系统上的应用,我们都需要一台甚至多台服务器.但一台服务器动辄上万元,做为正在学习的学生或个人根本无力购买.况且一些实验不止需要一台,还需要多台服务器.再加上供电等因素,个人买服务器来做实验真的是不可能的事情.但不通过实验的话又很难将知识串联起来,实践是检验真理的唯一标准.因此,今天我们来讲如何通过一台PC模拟多台服务器.PC,并且模拟交换机.路由器.防火墙.AAA服务器,最后将交换机,路由器.防火墙.服务器连接起来,搭建成一个综合的实验环境,完成

准备 KVM 实验环境 - 每天5分钟玩转 OpenStack(3)

KVM 是 OpenStack 使用最广泛的 Hypervisor,本节介绍如何搭建 KVM 实验环境 安装 KVM 上一节说了,KVM 是 2 型虚拟化,是运行在操作系统之上的,所以我们先要装一个 Linux.Ubuntu.Redhat.CentOS 都可以,这里我们以 Ubuntu14.04 为例. 基本的 Ubuntu 操作系统装好之后,安装 KVM 需要的包 $ sudo apt-get install qemu-kvm qemu-system libvirt-bin virt-mana

准备 KVM 实验环境

KVM 是 OpenStack 使用最广泛的 Hypervisor,本节介绍如何搭建 KVM 实验环境 安装 KVM 上一节说了,KVM 是 2 型虚拟化,是运行在操作系统之上的,所以我们先要装一个 Linux.Ubuntu.Redhat.CentOS 都可以,这里我们以 Ubuntu14.04 为例. 基本的 Ubuntu 操作系统装好之后,安装 KVM 需要的包 1 $ sudo apt-get install qemu-kvm qemu-system libvirt-bin virt-ma

搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)

在学习 OpenStack 各服务之前,让我们先搭建起一个实验环境. 毋庸置疑,一个看得到摸得着而且允许我们随便折腾的 OpenStack 能够提高我们的学习效率. 因为是我们自己学习用的实验环境,CloudMan 推荐使用 DevStackhttp://docs.openstack.org/developer/devstack/DevStack 丰富的选项让我们能够灵活地选取和部署想要的 OpenStack 服务,非常适合学习和研究. 部署拓扑 首先我们来设计 OpenStack 的部署拓扑.

在CentOS上编译安装Nginx+实验环境搭建+测试

0.说明 Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理.缓存服务软件,很有必要搭建实验环境来对其进行学习. 1.实验环境 本次实验的测试环境使用的宿主机操作系统为Windows 7,在Vmware虚拟机安装CentOS 6.5,说明如下: 宿主机操作系统Windows 7 虚拟机安装的操作系统CentOS 6.5 虚拟机操作系统上网方式NAT 而当使用NAT的方式进行上网时虚拟机.宿主机之间的网络连接关系可如下所示: 关于为什么网络拓扑结构是这样的,这

操作系统内核Hack:(一)实验环境搭建

操作系统内核Hack:(一)实验环境搭建 三四年前,心血来潮,入手<Orange's:一个操作系统的实现>学习操作系统内核,还配套买了王爽的<汇编语言(第二版)>和<80X86汇编语言程序设计教程>,虽然Orang's只看了不到三分之一,但当时还是很认真的,练习也做了不少.唯一遗憾的就是没有留下文字记录,导致现在忘得差不多一干二净了,后悔不已!如今想再捡起来,弥补当时的懒惰,虽然困难重重,但这么优秀的国产书怎么能看完就算了呢!而且当年还是在Windows下练习的,现在终