Kubernetes

  • 时间:
  • 来源:互联网
  • 文章标签:

Kubernetes

    • 单机开发环境准备
      • 1:安装Docker
      • 2:开启阿里云加速
      • 3:开启Kubernetes
      • 4:安装DashBoard
      • 5:安装Ingress-nginx
    • 基本概念
      • Pod
      • Replication Controller
      • Service
      • Label
      • Node
    • Pod
    • Replication Controller
    • Service
    • Volume
    • Ingress
    • Kubernetes API
    • Kubernetes网络
    • Kubernetes安全
    • Kubernetes资源管理
    • Kubernetes管理和监控
    • Kubernetes生态

在这里插入图片描述

单机开发环境准备

相信绝大多数的系统还是window系统,所以搭建学习环境还是很简单的,主要的过程为:

  • 1:安装Docker
  • 2:开启阿里云加速
  • 3:开启Kubernetes
  • 4:安装DashBoard
  • 5:安装Ingress-nginx

1:安装Docker

安装Docker很简单,可以直接去官网进行下载Docker for window版本。然后点击安装即可。

2:开启阿里云加速

登录阿里云官网,并选择容器镜像服务,然后选择镜像加速器,就可看到个人的加速地址.
然后选择镜像加速器,就可看到个人的加速地址
打开window中Docker的settings,找到Docker Engine,然后修改registry-mirrors的值。
mirrors

3:开启Kubernetes

在Docker的settings中打开kubernetes,如果自己内存和CPU资源足够的情况下可以适当多分配些资源。剩下的等待自动下载相关镜像和运行相关容器。(可能需要翻墙)
开启Kubernetes
运行相关容器
可通过执行kubectl get nodes进行查看是否部署完毕。

4:安装DashBoard

此时虽然已经安装完毕kubernetes,但是还能不能够看到相关的数据,所以可以安装dashboard进行简单的观测,当然也有很多工具实现了该功能。
安装DashBoard很简单,只需要通过github找到部署文件,然后kubctl执行一下部署文件即可。

  • 创建dashboard
 
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.1/aio/deploy/recommended.yaml
  • 创建帐号
vim ServiceAccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
  • 创建角色
vim ClusterRoleBinding.yaml
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
  • 获取token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | sls admin-user | ForEach-Object { $_ -Split '\s+' } | Select -First 1)
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
  • 代理启动
kubectl proxy
  • 通过登录http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/页面,使用上述获得token

5:安装Ingress-nginx

kubernetes提倡通过ingress暴露服务。主要的请求流程为:用户—>ingress-nginx—>ingress—>service—>Deployment—>pod。所以需要安装ingress-nginx

  • ingress-nginx的部署和dashboard相似,需要先获取配置文件,然后执行命令即可。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.26.0/deploy/static/mandatory.yaml
  • ingress-nginx需要暴露对应的端口,从而让其他服务通过域名加上ingress-nginx暴露的端口进行访问,如果不进行修改github提供的配置文件,则端口号随机暴露,若想暴露指定端口号,则可修改文件。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.26.0/deploy/static/provider/baremetal/service-nodeport.yaml

修改的文件:

apiVersion: v1
kind: Service
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
spec:
  type: NodePort
  ports:
    - name: http
      port: 80
      targetPort: 80
      protocol: TCP
      nodePort: 32080  # 修改地方
    - name: https
      port: 443
      targetPort: 443
      protocol: TCP
      nodePort: 32443 # 修改地方
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
  • 通过访问本地ip+暴露端口号就可检测是否部署成功,若成功则会显示404 Not Found
    至此基本的学习环境已经配置完成。

基本概念

Pod

Replication Controller

Service

Label

Node

Pod

Replication Controller

Service

Volume

Ingress

Kubernetes API

Kubernetes网络

Kubernetes安全

Kubernetes资源管理

Kubernetes管理和监控

Kubernetes生态

本文链接http://www.taodudu.cc/news/show-83192.html