关键词:
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集群的工具二进制包:从官网下载每个组件的二进制包,一次去安装... 查看详情
轻量级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页+面试必备+大厂必备+... 查看详情