K8S安装-minikube

安装 kubectl

Kubectl 是 Kubernetes 自带的命令行工具

1.查询版本
https://storage.googleapis.com/kubernetes-release/release/stable.txt

2.下载(自行替换版本)
https://storage.googleapis.com/kubernetes-release/release/v1.18.4/bin/linux/amd64/kubectl

3.安装
赋可执行权限

1
chmod +x ./kubectl
移动到系统PATH中
1
sudo mv ./kubectl /usr/local/bin/kubectl

前期准备

1.各类参数调整

1
2
3
4
yum install conntrack
sysctl -w net.bridge.bridge-nf-call-iptables=1
echo "net.bridge.bridge-f-call-iptables=1" > /etc/sysctl.d/k8s.conf
swapoff -a && sed -i '/ swap / s/^/#/' /etc/fstab

2.docker安装源(保存为shell执行)

1
2
3
4
5
6
7
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://youraddr.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3.K8S安装源(保存为shell执行)

1
2
3
4
5
6
7
8
9

cat >> /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF

安装

1.下载minikube

1
curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.11.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

2.安装minikube
使用非virtualbox驱动模式
minikube start –driver=none

3.验证安装状态
minikube status

4.后续启动minikube
minikube start

Kubernetes Dashboard安装

1.下载部署文档

1
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

2.检查docker images是否下载成功
docker images
如果镜像无法下载,k8s.gcr.io 替换为了 reg.qiniu.com/k8s 或者使用代理

3.修改DashBoard的Service端口暴露模式为NodePort

1
kubectl edit service kubernetes-dashboard -n kubernetes-dashboard
1
2
spec:
type: NodePort

4.创建Service Account 及 ClusterRoleBinding
保存下面信息为auth.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
1
kubectl apply -f auth.yaml

5.查看部署端口

1
kubectl get svc -A

6.访问
获取token

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