K8s 搭建与使用

本文内容

  1. 主要对K8s 的安装做记录
  2. 安装前,请准备两台以上的linux服务器,且都已经安装好docker了
  3. 安装大致步骤
    1. 安装 kubectl
    2. 安装 minikube
    3. 启动可视化界面 dashboard

安装 kubectl

  1. 下载 kubectl

    1. 下载最新的稳定版本
    curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
    
    1. 常用版本下载
    curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
    
  2. 添加执行权限

    chmod +x ./kubectl
    
  3. 使其在全局都可执行

    sudo mv ./kubectl /usr/local/bin/kubectl
    

安装 minikube

  1. 下载minikube
    curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
    
  2. 使其在全局都可执行
    mv minikube /usr/local/bin/
    

minikube 不可以使用 root 用户执行

  1. 添加用户
    $ useradd test
    $ echo 1234 | passwd test --stdin
    $ visudo  # 将用户添加到 sudo 文件中,就可以使用 sudo 进行授权执行高权限命令了
    # 改成下面这样
    root     ALL=(ALL)   ALL
    test     ALL=(ALL)   ALL
    
  2. 将用户 添加到 root组
    $ usermod -aG root test
    
  3. 将用户添加到 docker组
    $ sudo usermod -aG docker test  && newgrp docker
    

启动 minikube

  1. 进入 test 用户
    $ su test
    
  2. 使用国内的docker镜像源启动 minikube
    $ minikube start --image-mirror-country='cn' --registry-mirror=https://registry.docker-cn.com --driver=docker
    
  3. 查看是否安装成功
    $ minikube status
    type: Control Pline
    host: Running
    kubelet: Running
    kubeconfig: Configured
    
  4. 查看k8s节点
    $ kubectl get nodes
    NAME      STATUS  ROLES   AGE   VERSION
    minikube  Ready   master  73m   v1.18.3
    
  5. 创建部署文件,deployment.yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: hello-world
    spec:
      selector:
        matchLabels:
          run: load-balancer-example
      replicas: 2
      template:
        metadata:
          labels:
            run: load-balancer-example
        spec:
          containers:
            - name: hello-world
              image: registry.cn-hangzhou.aliyuncs.com/aliyun_google/google-sample-node-hello:1.0
              ports:
                - containerPort: 8080
                  protocol: TCP
    
  6. 在该文件的目录下执行命令,部署hello-world
    $ kubectl apply -f deployment.yaml
    
  7. 暴露端口
    $ kubectl expose deployment hello-world --type=NodePort --name=node-service
    
  8. 查看访问的地址
    $ minikube service list
    或者
    $ minikube service node-service --url
    
  9. 出现 Hello Kubernetes!

启动 dashboard

  1. minikube dashboard

  2. 报错如下

    Failed to open connection to "session" message bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    Running without a11y support!
    Error: no DISPLAY environment variable specified
    
    • 因为linux除ubuntu外没有浏览器,所以需要加上 --url
    • minikube dashboard --url
  3. 默认地址只能是 本机地址,暴露地址 1.1.1.1 是服务器的地址 8888 是访问端口

    nohup kubectl proxy  --port=8888 --address='1.1.1.1' --accept-hosts='^1.1.1.1$'  >/dev/null 2>&1& 
    
    • 参考https://www.jianshu.com/p/ef020fa8ca97
  4. 界面展示

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42290927/article/details/107083965