kind 搭建k8s+dashboard的记录
1.KIND官方文档:https://kind.sigs.k8s.io/docs/user/quick-start/
(1)安装go:https://golang.org/dl/
(2)安装kind
(3)安装docker:https://docs.docker.com/engine/install/ubuntu/
(4) 在主机上作为工具去操作kind中的kubectl, 需要安装kubuctl,教程: https://www.kubernetes.org.cn/installkubectl
2.用kind创建K8S集群:
(1)编写好 yaml文件:如:kind-example-config.yaml

(2)kind create cluster --config kind-example-config.yaml --name kind1 创建集群
3.安装dashboard:
(1)参考安装教程:https://github.com/kubernetes/dashboard:
1。。下载文件:wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
2.。。修改文件,映射端口:

3.。。部署文件:
kubectl apply -f recommended.yaml
(2)通过之间创建kind集群的时候映射的端口如3004--》30004,我们就可以通过http://主机IP:3004访问dashboard了
登录需要token,生成方法是:https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md
3.部署mysql+adminer到集群
(1)编写好yml文件:如mysqladminer.yml
apiVersion: v1
kind: ReplicationController
metadata:
name: mysql-rc
labels:
name: mysql-rc
spec:
replicas: 1
selector:
name: mysql-pod
template:
metadata:
labels:
name: mysql-pod
spec:
containers:
- name: mysql
image: mysql
args:
- "--default-authentication-plugin=mysql_native_password"
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "example"
- name: adminer
image: adminer
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
(2)kubectl apply -f mysqladminer.yml
(3)编写svc yml:如svc_mysqladminer.yml. 也可以与上面的文件写在一起一起部署
apiVersion: v1
kind: Service
metadata:
name: mysql-svc
labels:
name: mysql-svc
spec:
type: NodePort
ports:
- port: 3306
protocol: TCP
targetPort: 3306
name: mysql
nodePort: 30001
- port: 8080
protocol: TCP
targetPort: 8080
name: adminer
nodePort: 30002
selector:
name: mysql-pod
(4)部署svc :kubectl apply -f svc_mysqladminer.yml
(5) 访问adminer 主机IP:映射端口30002 (kind 容器暴露到主机的端口)
浙公网安备 33010602011771号