使用Kind搭建集群

一 安装docker

# 安装docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
				  
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

yum install -y docker-ce

docker -v 

systemctl start docker   # 启动Docker服务
systemctl stop docker    # 停止Docker服务
systemctl restart docker # 重启Docker服务 
systemctl status docker  # 查看Docker服务状态
systemctl enable docker  # 设置Docker开机启动
systemctl disable docker # 取消Docker开机启动

systemctl stop firewalld    # 关闭防火墙
systemctl disable firewalld # 禁止开机启动防火墙
systemctl status firewalld  # 查看防火墙状态


sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://e6lk7p2e.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://registry.docker-cn.com",
    "https://reg-mirror.qiniu.com",
    "https://dockerhub.azk8s.cn"
  ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二 安装kubectl

# 设置 kubectl yum 下载源
cat > /etc/yum.repos.d/k8s.repo << EOF
[kubernetes]
name=kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

# 安装kubectl指定的版本
yum install -y kubectl-1.16.3
 
# 查看 kubectl 版本
kubectl version

三 安装Kind

# 下载 kind 二进制安装包
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.8.1/kind-$(uname)-amd64

# 添加执行权限
chmod +x ./kind

# 移动文件到执行路径
 mv ./kind /usr/local/bin/kind
 
# 查看kind版本 
kind version

四 安装ingress

cat <<EOF | kind create cluster --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  image: kindest/node:v1.21.1
  kubeadmConfigPatches:
  - |
    kind: InitConfiguration
    nodeRegistration:
      kubeletExtraArgs:
        node-labels: "ingress-ready=true"
  extraPortMappings:
  - containerPort: 80
    hostPort: 80
    protocol: TCP
  - containerPort: 443
    hostPort: 443
    protocol: TCP
EOF

# 安装ingress-nginx
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml

# 上面的网站一般需要外网才能访问,可以使用下面博客中的方法
https://blog.csdn.net/weixin_43988498/article/details/122792536
(修改407行,secretName: ingress-nginx-admission改成secretName: ingress-nginx-admission-token-l2nx8)

kubectl wait --namespace ingress-nginx \
  --for=condition=ready pod \
  --selector=app.kubernetes.io/component=controller \
  --timeout=90s

五 安装K8S Dashboard

# 执行如下命令,以安装 Kubernetes Dashboard
kubectl apply -f https://kuboard.cn/install-script/k8s-dashboard/v2.0.0-beta5.yaml

# Kubernetes Dashboard 当前,只支持使用 Bearer Token登录。 由于 Kubernetes Dashboard 默认部署时,只配置了最低权限的 RBAC。因此,我们要创建一个名为 admin-user 的 ServiceAccount,再创建一个 ClusterRolebinding,将其绑定到 Kubernetes 集群中默认初始化的 cluster-admin 这个 ClusterRole。
# 执行如下命令可创建 ServiceAccount 和 ClusterRoleBinding
kubectl apply -f https://kuboard.cn/install-script/k8s-dashboard/auth.yaml

# 获取Bearer Token	
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

# 开启proxy,后台运行
kubectl proxy >/dev/null &

# 访问
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
posted @ 2022-09-30 21:08  碧水云天4  阅读(146)  评论(0编辑  收藏  举报