因为冠状病毒导致研究生最后一个假期延长了好多,正好有大段时间用来学习,之前对微服务。云计算挺感兴趣,准备学习一下,在此记录学习云计算的东西,以备查询。
k8是什么
我目前的理解是容器编排即管理很多容器、服务自动扩容缩容即请求量高了就自动启动多个服务,请求下降了就自动关闭多余的服务,还有滚动升级等,可以说是运维的集大成者,热爱探索的程序员必须的学习一下。
Mac安装k8s
简单安装,在Mac上面安装docker desktop但是如果通过brew安装或者官网下载那基本上遥遥无期,幸亏有阿里镜像。http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/stable/。当然了在http://mirrors.aliyun.com/docker-toolbox/有Windows和Linux的。然后启动后,docker desktop已经自带了k8s,不过有个坑就是配置镜像源,因为国内是没法下载的,速度极其慢。具体教程可以参考https://github.com/AliyunContainerService/k8s-for-docker-desktop主要就是查看自己安装的docker desktop需要的k8s版本,然后添加docker镜像源,然后执行./load_images.sh,下载k8s所需镜像,然后在docker desktop中设置k8s启动。这个是目前在单机安装k8s最快并且不报错的方式了。
阿里云学生云服务器安装
阿里云ECS单节点Kubernetes部署只能说太强了,这个博主真的厉害。通过另外一种方法安装,之前我用minikube在学生版阿里云ESC安装k8s一直报错CPU只有一个,这个通过kubeadm可以解决。在文章的最后博主运行了一个nginx服务,需要将端口暴露出来才能访问
kubectl expose deployment nginx-app --port=80 --target-port=80 --type=NodePort
然后运行kubectl get services 查看暴露出来的端口号
ubuntu安装kubernetes dashboard
kubectl apply -f http://mirror.faasx.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
查看service
kubectl --namespace=kube-system get deployment kubernetes-dashboard
kubectl --namespace=kube-system get service kubernetes-dashboard
查看pod
kubectl get pod --namespace=kube-system -o wide | grep dashboard
允许外部访问
kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'
配置登录权限
Dashboard 支持 Kubeconfig 和 Token 两种认证方式,为了简化配置,我们通过配置文件 dashboard-admin.yaml 为 Dashboard 默认用户赋予 admin 权限。
dashboard-admin.yml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: kube-system
执行kubectl apply使之生效
kubectl apply -f dashboard-admin.yml
访问
http://192.168.10.130:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/.
然后点击跳过即可
网友评论