资源要求:
4C/8G
https://kind.sigs.k8s.io/docs/user/known-issues/#failure-to-create-cluster-with-cgroups-v2
centos 7 在线升级内核
默认内核版本太低

参考链接:https://www.cnblogs.com/liugp/p/16950443.html
安装docker/kubectl
kubectl :https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-linux/
|
|
docker:https://www.runoob.com/docker/centos-docker-install.html
|
|
Helm:https://helm.sh/zh/docs/intro/install/
安装k8s
参考文档:https://github.com/kubernetes-sigs/kind/tree/v0.22.0
-
安装kind 二进制文件
1[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.21.0/kind-$(uname)-amd64*可能比较慢,可以选择手动下载安装,二进制包下载地址:https://github.com/kubernetes-sigs/kind/releases
1 2 3 4# 执行安装操作 chmod +x ./kind chmod +x ./kind mv ./kind /usr/local/bin/ -
拉取镜像(可选)
1 2 3 4 5 6 7 8# 选一个版本 $ docker search kindest/node NAME DESCRIPTION STARS OFFICIAL kindest/node https://sigs.k8s.io/kind node image 104 kindest/node-amd64 2 kindest/node-arm64 0 # 镜像拉取 docker pull kindest/node -
安装集群
1 2 3 4# 在线创建集群 kind create cluster # 指定 配置文件 # kind create cluster --config kind-example-config.yaml配置文件地址:https://kind.sigs.k8s.io/docs/user/configuration/
-
安装ingress
1 2 3 4 5 6 7 8 9 10 11# 1. 获取yaml wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml # 2. 因服务器无外网,mac上进行下载,指定架构:一般是amd64和arm64、aarch64 # registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1 # registry.k8s.io/ingress-nginx/controller:v1.10.1 # registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1 docker pull --platform amd64 xxx # 3. 装载image kind load docker-image img:v1 # 或者 kind load image-archive my-image-archive.tar

kind架构
参考文档:https://kind.sigs.k8s.io/docs/design/initial/

-
k8s中的端口映射
参考地址:https://www.cnblogs.com/baixiaoyong/p/16051137.html
k8s中的pod:https://fly-luck.github.io/2018/04/15/Kubernetes%20Ports/
containerPort vs. hostPort
出现在如Deployment、Pod等资源对象描述文件中的容器部分,针对容器端口起类似于
docker run -p <containerPort>:<hostPort>的作用:containerPort:容器暴露的端口。hostPort:容器暴露的端口直接映射到的主机端口。port vs. targetPort vs. nodePort
出现在Service描述文件中,当Service的类型为
ClusterIP时:port:Service中ClusterIP对应的端口。targetport:clusterIP作为负载均衡, 后端目标实例(容器)的端口,与上述containerPort保持一致。当Service的类型为
NodePort时:nodePort:由于ClusterIP只能集群内访问,配置nodePort会在每个运行kubelet节点的宿主机打开一个端口,用于集群外部访问。