minikube部署k8s(代码片段)

czl389 czl389     2023-02-05     349

关键词:

1. 下载安装minikube

最新版(目前是v1.20.0)

https://storage.googleapis.com/minikube/releases/latest/minikube-installer.exe

2. minikube start 命令

  • windows 环境下,minikube需要启动虚拟机,这里使用virtualbox。
minikube start --driver=virtualbox --registry-mirror=https://registry.docker-cn.com,https://shraym0v.mirror.aliyuncs.com --embed-certs=true --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

说明:通过上面的命令启动minikube,会出现有的镜像无法拉取的问题,也就是说registry.cn-hangzhou.aliyuncs.com/google_containers镜像仓库很多镜像不存在,经过不断的测试,使用如下命令就可以正常启动并拉取镜像,所以我们不需要设置这两个参数:–image-mirror-country=cn和 --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

  • 成功的命令如下
minikube start --driver=virtualbox --registry-mirror=https://registry.docker-cn.com,https://dmkkj9xm.mirror.aliyuncs.com --embed-certs=true

3. 验证minikube和检查k8s状态

C:\\Windows\\system32>minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
C:\\Windows\\system32>minikube kubectl -- get nodes
NAME       STATUS   ROLES                  AGE   VERSION
minikube   Ready    control-plane,master   28m   v1.20.2
C:\\Windows\\system32>minikube kubectl -- get pods -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE
kube-system   coredns-74ff55c5b-mrhr2            1/1     Running   0          28m
kube-system   etcd-minikube                      1/1     Running   0          28m
kube-system   kube-apiserver-minikube            1/1     Running   0          28m
kube-system   kube-controller-manager-minikube   1/1     Running   0          28m
kube-system   kube-proxy-z87px                   1/1     Running   0          28m
kube-system   kube-scheduler-minikube            1/1     Running   0          28m
kube-system   storage-provisioner                1/1     Running   1          28m
C:\\Windows\\system32>minikube kubectl -- get svc -A
NAMESPACE     NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
default       kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP                  29m
kube-system   kube-dns     ClusterIP   10.96.0.10   <none>        53/UDP,53/TCP,9153/TCP   29m
C:\\Windows\\system32>minikube kubectl -- get cs -A
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS      MESSAGE                                                                                       ERROR
controller-manager   Unhealthy   Get "http://127.0.0.1:10252/healthz": dial tcp 127.0.0.1:10252: connect: connection refused
scheduler            Unhealthy   Get "http://127.0.0.1:10251/healthz": dial tcp 127.0.0.1:10251: connect: connection refused
etcd-0               Healthy     "health":"true"                       

4. windows 使用kubectl 命令

C:\\Users\\xxx\\.minikube\\cache\\windows\\v1.20.2\\kubectl.exe 拷贝到C:\\Program Files\\Kubernetes\\Minikube目录下即可。 因为后者已经加入环境变量Path, 所以可以直接运行kubectl命令。

C:\\Windows\\system32>kubectl cluster-info
Kubernetes control plane is running at https://192.168.99.100:8443
KubeDNS is running at https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

5. 在minikube 虚拟机中使用kubectl 命令

  • CMD运行minikube ssh 即可ssh进入虚拟机。
C:\\Windows\\system32>minikube ssh
                         _             _
            _         _ ( )           ( )
  ___ ___  (_)  ___  (_)| |/')  _   _ | |_      __
/' _ ` _ `\\| |/' _ `\\| || , <  ( ) ( )| '_`\\  /'__`\\
| ( ) ( ) || || ( ) || || |\\`\\ | (_) || |_) )(  ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\\___/'(_,__/'`\\____)

$ whoami
docker
$

但是这样有点不方便,可以先获取虚拟机IP和登录方式,然后使用xshell登录。

  • 查询虚拟机ip
C:\\Windows\\system32>minikube ip
192.168.99.100
  • 登录用户为docker(通过whoami 查询得知)

  • ssh登录,需要配置ssh秘钥,秘钥地址在C:\\Users\\xxx\\.minikube\\machines\\minikube\\id_rsa

  • 将kubectl 文件拷贝进虚拟机内

minikube cp C:\\Users\\xxx\\.minikube\\cache\\linux\\v1.20.2\\kubectl /usr/bin/kubectl
  • 将k8s config 拷贝进虚拟机内
minikube cp C:\\Users\\xxx\\.kube\\config /root/.kube/config 

在虚拟内切换root后, 即可执行kubectl

6. 开启dashboard 服务

C:\\Windows\\system32>minikube dashboard
* 正在开启 dashboard ...
  - Using image kubernetesui/dashboard:v2.1.0
  - Using image kubernetesui/metrics-scraper:v1.0.4
* 正在验证 dashboard 运行情况 ...
* Launching proxy ...
* 正在验证 proxy 运行状况 ...
* Opening http://127.0.0.1:54567/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...
C:\\Windows\\system32>kubectl get svc -A
NAMESPACE              NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                  AGE
default                kubernetes                  ClusterIP   10.96.0.1        <none>        443/TCP                  4h40m
kube-system            kube-dns                    ClusterIP   10.96.0.10       <none>        53/UDP,53/TCP,9153/TCP   4h40m
kubernetes-dashboard   dashboard-metrics-scraper   ClusterIP   10.106.205.128   <none>        8000/TCP                 2m57s
kubernetes-dashboard   kubernetes-dashboard        ClusterIP   10.108.222.19    <none>        80/TCP                   2m57s

7. 部署一个nginx服务

# kubectl create deployment nginx --image=nginx
deployment.apps/nginx created
# kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-6799fc88d8-rmnjp   1/1     Running   0          91s
# kubectl expose deployment nginx --type=NodePort --port=80
service/nginx exposed
# kubectl get svc -o wide
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE     SELECTOR
kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP        4h45m   <none>
nginx        NodePort    10.99.80.130   <none>        80:30421/TCP   70s     app=nginx

使用虚拟机ip+端口, 访问nginx

# curl -I http://10.0.2.15:30421
HTTP/1.1 200 OK
Server: nginx/1.21.0
Date: Wed, 09 Jun 2021 06:22:01 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 25 May 2021 12:28:56 GMT
Connection: keep-alive
ETag: "60aced88-264"
Accept-Ranges: bytes

8. 删除刚刚部署的nginx服务

# kubectl delete deployment,svc nginx
service "nginx" deleted
deployment.apps "nginx" deleted

minikube之win10单机部署(代码片段)

...通过它可以很方便的进行Docker集群的管理。今天我们使用minikube在单机上进行Kubernetes集群的部署,目的是让我们对k8s 查看详情

minikube部署k8s(代码片段)

1.下载安装minikube最新版(目前是v1.20.0)https://storage.googleapis.com/minikube/releases/latest/minikube-installer.exe2.minikubestart命令windows环境下,minikube需要启动虚拟机,这里使用virtualbox。minikubestart--driver=virtualbox--registry-mirro... 查看详情

使用minikube创建k8s单机环境-填坑指南(代码片段)

...示此篇博文主要是记录如何在本地环境使用CentOS系统安装minikube,对于安装过程中大量出现镜像下载失败的问题做了填坑,主要是使用kubernete1.12.1版本,对于其他不同版本,方法是一样的。1.下载部署安装包wgethttps://storage.googleapis.... 查看详情

深入k8s:k8s部署&在k8s中运行第一个程序(代码片段)

搭建k8s集群由于在国内网络问题,我们无法很好的使用minikube进行部署k8s实验环境,所以可以使用阿里提供的minikube进行搭建。除了minikube,也可以使用kubeasz进行部署。下面我基于kubeaze给出部署方法。1.基础系统配置准备一台虚... 查看详情

在k8s上安装openfaas(代码片段)

...群开始之前,你需要拥有一个k8s集群。我这里是使用minikube搭建的单节点k8s。参考minikube部署k8s。安装faas-clif 查看详情

kubectl源码分析之convert(代码片段)

...u.csdn.net/course/detail/26967课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。腾讯课堂连接地址https://ke.qq.com/course/478827?taid=43731099314622 查看详情

k8s教程(代码片段)

1minikube安装minikube官网:https://minikube.sigs.k8s.io/docs/start/我们在centos系统下安装首先我们需要安装docker,这里略下载rpm包curl-LOhttps://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm安装rpm-Uvhminikube-latest.x86_64.rpm创建一个新... 查看详情

k8s学习命令(代码片段)

下载minikube(阿里版)curl-Lominikubehttps://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.13.0/minikube-linux-amd64&&chmod+xminikube&&sudomvminikube/usr/local/bin/minikubestar 查看详情

k8s部署环境(代码片段)

...或独立虚拟机(底层没有云环境)。  k8s部署方式Minikube:Kubernetes官网提供的微型分布式环境,适合学习、初次体验,不过应该需要梯子才能用。Kubeadm:由于二进制部署方式过于复杂,所以后来出现了Kubeadm的部署方式,... 查看详情

云原生kubernetes部署k8s集群架构(admin部署)(代码片段)

...kubernetes有多种部署方式,目前主流的方式有kubeadm、minikube、二进制包minikube:一个用于快速搭建单节点kubenetes的工具kubeadm:一个用于快速搭建kubenetes集群的工具二进制包:从官网下载每个组件的二进制包,一次去安装&#x... 查看详情

轻量级k8s环境本地k8s环境minikube,一键使用(史上最全)(代码片段)

文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+... 查看详情

minikube使用小结(代码片段)

...,造轮子耗时过长;选择自家的k8s云服务又要收钱.索性使用minikube简单开箱即用.不过在使用过程中也会遇到一些坑,这里总结一下以及提供相应的最快解决方案(不是最优解)启动失败网上很多讨论启动失败的问题.归根到底都是依赖... 查看详情

minikube使用小结(代码片段)

...,造轮子耗时过长;选择自家的k8s云服务又要收钱.索性使用minikube简单开箱即用.不过在使用过程中也会遇到一些坑,这里总结一下以及提供相应的最快解决方案(不是最优解)启动失败网上很多讨论启动失败的问题.归根到底都是依赖... 查看详情

minikube使用小结(代码片段)

...,造轮子耗时过长;选择自家的k8s云服务又要收钱.索性使用minikube简单开箱即用.不过在使用过程中也会遇到一些坑,这里总结一下以及提供相应的最快解决方案(不是最优解)启动失败网上很多讨论启动失败的问题.归根到底都是依赖... 查看详情

minikube使用小结(代码片段)

...,造轮子耗时过长;选择自家的k8s云服务又要收钱.索性使用minikube简单开箱即用.不过在使用过程中也会遇到一些坑,这里总结一下以及提供相应的最快解决方案(不是最优解)启动失败网上很多讨论启动失败的问题.归根到底都是依赖... 查看详情

minikube入门基础:基础操作命令(代码片段)

启动停止操作启动集群minikubestart 升级集群minikubestart--kubernetes-version=latest停止集群minikubestop删除集群minikubedelete删除本地所有的集群和配置minikubedelete--all服务相关命令创建服务当你启动了minikube后,你可以像操作其他k8s集... 查看详情

云原生kubernetes基于minikube搭建第一个k8s集群

一、前言对于k8s来说,搭建方式有多种,如果是生产环境,一般来说,至少需要3台节点确保服务的高可用性,常用的搭建方式列举如下(提供参考):kubeadm搭建(推荐)一个K8s部署工具,提供kubeadminit和kubeadmjoin ;用于快速... 查看详情

轻量级k8s环境本地k8s环境minikube,一键使用(史上最全)(代码片段)

文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+... 查看详情