这篇文章仅仅是个人学习的记录,因为很多细节未在文中说明,最好是先阅读参考内容中的两篇文章。
操作系统推荐使用ubuntu 18.04
参考
microk8s how to install and use kubernetes part-1
microk8s how to install and use kubernetes part-2
一、新加坡虚拟机
从阿里云上购买一台新加坡ECS,使用抢占式实例,每小时大概就0.05元不到,非常适合学习。
二、安装 microk8s
apt update
apt install snapd
snap remove microk8s
snap install microk8s --classic --channel=1.14/stable
cat >> ~/.bashrc << EOF
export PATH=/snap/bin:$PATH
EOF
source ~/.bashrc
三、启动 microk8s
microk8s.start
microk8s.status
四、查看版本信息
snap alias microk8s.kubectl kubectl
kubectl version
五、安装插件
# 启用插件
microk8s.enable dns dashboard ingress
# 查看进度
kubectl get pods --all-namespaces
# 查看详情
kubectl describe pod --all-namespaces
六、使用代理访问microk8s
# 找到pod名
kubectl get pods --all-namespaces | grep dashboard
# 查看pod的开放端口
kubectl describe --namespace kube-system pod/kubernetes-dashboard-6fd7f9c494-dgxlj
# 将pod的开放端口映射到本地
kubectl port-forward --namespace=kube-system --address=0.0.0.0 pod/kubernetes-dashboard-6fd7f9c494-dgxlj 8443:8443
七、打开防火墙
iptables -I INPUT -p tcp --dport 8443 -j ACCEPT
iptables -t filter -L INPUT --line-numbers
这个步骤,大多数情况下,可以忽略。
八、打开浏览器
浏览器打开 https://{Ubuntu_IP_address}:8443即可,下面是登录页面
使用token登录管理页面,下面是查看token的命令
# kubectl get secrets --all-namespaces | grep dashboard-token
# kubectl describe --namespace kube-system secrets kubernetes-dashboard-token-bhpxc
九、使用代理
上面直接使用端口转发的话,其实是绕过了service这一层,所以无法提供负载均衡的功能,只能固定访问一个pod。如果想使用使用service,可以设置代理
# 后台执行
kubectl proxy --accept-hosts=.* --address=0.0.0.0 &
浏览器访问
http://{Ubuntu_IP_address}:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/