kubernetes
搭建 方案一
安装 kubectl
1 2 3 4 5 6 7
| curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256" echo "$(<kubectl.sha256) kubectl" | sha256sum --check
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client
|
安装 minikube
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start
kubectl get po -A minikube kubectl -- get po -A alias kubectl="minikube kubectl --" minikube dashboard
kubectl proxy --address='0.0.0.0' --port=8080 --accept-hosts='^\*$'
http://192.168.31.24:8080/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default
|
创建服务 hello-minikube
1 2 3 4 5 6 7 8 9 10
| kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4 kubectl expose deployment hello-minikube --type=NodePort --port=8080
kubectl get services hello-minikube
minikube service hello-minikube
kubectl port-forward service/hello-minikube 7080:8080
|
创建服务 balanced
1 2 3 4 5 6 7 8
| kubectl create deployment balanced --image=k8s.gcr.io/echoserver:1.4 kubectl expose deployment balanced --type=LoadBalancer --port=8080
minikube tunnel
kubectl get services balanced
|
开放端口
1 2 3 4 5 6 7 8 9 10
| port=$1
echo 'add port is : '$port
firewall-cmd --query-port=$port/tcp firewall-cmd --add-port=$port/tcp --permanent firewall-cmd --reload firewall-cmd --query-port=$port/tcp
|
搭建 方案二 Kuboard Spray
Kuboard Spray 搭建
1 2 3 4 5 6 7 8 9
| docker run -d \ --privileged \ --restart=unless-stopped \ --name=kuboard-spray \ -p 80:80/tcp \ -e TZ=Asia/Shanghai \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/kuboard-spray-data:/data \ eipwork/kuboard-spray
|
在浏览器地址栏中输入 http://这台机器的 IP 地址,输入默认密码 Kuboard123
kuboard 安装 k8s 图形化管理界面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.7/metrics-server.yaml
# 查看状态 kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system # 结果 NAME READY STATUS RESTARTS AGE kuboard-54c9c4f6cb-6lf88 1/1 Running 0 45s
# 获取token echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep ^kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)
eyJhbGciOiJSUzI1NiIsImtpZCI6Im45Z25UWDhma2l2bERNZDUtd1IwX3FaOVczRkJDSnVib0l6V1VLdHh3TmsifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXVzZXItdG9rZW4tdDRjNHgiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoia3Vib2FyZC11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNzAyZGY0ZTktZGY4Ni00NzhkLWI2YjMtYjljZjUwMjg3NjRiIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmt1Ym9hcmQtdXNlciJ9.C5mh0Iq0bXMTjNUhYMeCD_U3Cm5Ut02M7lTGKO39GSvfQaw9l1JnqlRyfhmjOD_grq7IpCOl0RYiif6zS43nDa0_y0t3PmJUbpJU_-XbyElCz1cLu2i1V3XhHA9yzsdz4AvZGBIbyczDfBM7dAxfE6mY5sFfn5Sfj_SY6_tx18S9B9EaYAZxryByzL-3JKjV9OYeQtCoPDGIMEO6D_oJw5Tj_dY36955aO6Xg5nSDOkqadvECLWi5eVk_QYmu_oFDtHjF7hoVNuuLLIqLMOpT1khNr7JJE9BbIdFJWfuYAhctPbJgbaYm4ZNBBfuQBWBNCtBM4J-XWDkiDbeTfxc4Q
# 访问kuboard http://任意一个Worker节点的IP地址:32567/
|
问题
- 如何访问服务?
- https 证书怎么解决?
参考
- kubernetes 官网
- minikube 官网
- 远程查看 k8s 面版
- kuboard-spray 教程
- kuboard-k8s 图形管理平台