跳到主要内容

ubuntu20 下 minikube 进行 k8s 单节点的搭建

在线版的 minikube:https://www.katacoda.com/courses/kubernetes

1.安装 kubectl【可能会被墙】

下载最新版本的 kubectl

curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl

下载指定版本的 kubectl

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.16.0/bin/linux/amd64/kubectl

增加可执行权限

chmod +x ./kubectl

移动到 bin 目录下并测试是否成功

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

kubectl version

image-20210330114118271

2.安装 virtualbox

sudo apt install virtualbox virtualbox-ext-pack

如下图即成功

image-20210330114239664

3.安装 minikube

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube

sudo mkdir -p /usr/local/bin/
sudo install minikube /usr/local/bin/

检查版本

minikube version

启动

minikube start --wait=false

image-20210330114446639

image-20210330115054901

image-20210330143825290

启动成功界面

image-20210330145507942

4.查询集群信息

kubectl cluster-info

报错及解决办法

测试集群启动成功

kubectl get nodes

image-20210330145649418

将容器部署到集群中

kubectl create deployment first-deployment --image=katacoda/docker-http-server

结果

deployment.apps/first-deployment created

其中,kubectrl create deployment表示创建具有指定名称的 deployment 部署。

deployment NAME --image=image [--dry-run]

部署的状态可以从运行的 Pods 中被查看

kubectl get pods

image-20210330150711549

什么是 pod

5.启用仪表盘

minikube addons enable dashboard

通过/opt/kubenretes-dashboard.yaml文件部署 dashboard(可以看到 yaml 是一种很好的部署方式)

apiVersion: v1
kind: Namespace
metadata:
labels:
addonmanager.kubernetes.io/mode: Reconcile
kubernetes.io/minikube-addons: dashboard
name: kubernetes-dashboard
selfLink: /api/v1/namespaces/kubernetes-dashboard
spec:
finalizers:
- kubernetes
status:
phase: Active
---
apiVersion: v1
kind: Service
metadata:
labels:
app: kubernetes-dashboard
name: kubernetes-dashboard-katacoda
namespace: kubernetes-dashboard
spec:
ports:
- port: 80
protocol: TCP
targetPort: 9090
nodePort: 30000
selector:
k8s-app: kubernetes-dashboard
type: NodePort

使用 yaml 文件

kubectl apply -f /opt/kubernetes-dashboard.yaml

查看仪表盘的启动状态

kubectl get pods -n kubernetes-dashboard -w

image-20210330180325215

然后访问 30000 端口

image-20210330175626668

6.中文官方的部署和更新教程

k8s 部署 NodeJs