文档章节

Kubenetes:Minikube与kubectl(基于Ubuntu18.04)

RogueQ
 RogueQ
发布于 11/21 00:15
字数 970
阅读 19
收藏 1

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1、下载Minikube二进制文件

sudo curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/latest/minikube-linux-amd64

2、设置权限

sudo chmod +x minikube

3、添加到/usr/local/bin目录下

sudo install minikube /usr/local/bin

4、启动Minikube(使用aliyun镜像仓)

minikube start --vm-driver=virtualbox --registry-mirror=https://registry.docker-cn.com --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

如果报错,那么在重试之前执行 minikube delete 和 rm -rf ~/.minikube。

为了能够在Mac / Linux主机上使用docker守护进程,请在您的Shell中使用docker-env命令:

eval $(minikube docker-env)

然后给docker分配权限

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "/home/$USER/.docker" -R

5、开启Minikube可视化面板

minikube dashboard

6、安装kubectl

sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
sudo chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

7、查看kubectl版本

kubectl version

8、查看所有pod状态

kubectl get pod --all-namespaces

9、查看集群是否正常工作

kubectl cluster-info

10、查看集群节点

kubectl get node

查看更多详细信息

kubectl describe node minikube

11、部署应用

kubectl run gwp --image=registry.cn-hangzhou.aliyuncs.com/rogueq/gwp:v1 --port=8080 --generator=run/v1

12、查看Pod

kubectl get pod

13、创建服务对象

kubectl expose rc gwp --type=LoadBalancer --name gwp-http

14、查看服务

kubectl get svc

注意:Minikube不支持LoadBanlancer类型的服务,因此不会有外部IP,但是可以通过外部端口访问服务。

可以通过如下方式访问:

minikube service gwp-http

0

15、查看replicationcontrollers

kubectl get rc

增加期望的副本数

kubectl scale rc gwp --replicas=3

再次查看pod

发送多次请求,请求随即地切换到不同的pod。

16、查看pod所在节点

kubectl get pod -owide

 

17、查看pod yaml/json描述文件

kubectl get pod gwp-p76j2 -o yaml
kubectl get pod gwp-p76j2 -o json

pod定义的几个主要部分:

apiVersion:Kubenets API版本;

kind:yaml描述的资源类型;

metadata:名称、命名空间、标签和关于该容器的其他信息;

spec:包含pod内容的实际说明,例如pod的容器、卷和其他数据;

status:运行中的pod的当前信息,例如pod所处的条件、每个容器的描述和状态,以及内部IP和其他信息。

18、从YAML文件创建pod

编辑gwp-manual.yaml文件

apiVersion: v1
kind: Pod
metadata:
  name: gwp-manual
spec:
  containers:
  - image: registry.cn-hangzhou.aliyuncs.com/rogueq/gwp:v1
    name: gwp
    ports:
    - containerPort: 8080
      protocol: TCP
kubectl create -f gwp-manual.yaml

查看pod状态

kubectl get pod 

查看pod完整描述(输出yaml)

kubectl get pod gwp-manual -o yaml

查看pod完整描述状态(输出json)

kubectl get pod gwp-manual -o json

19、获取pod日志

kubectl logs gwp-manual

每天或每次日志文件达到10MB大小,容器日志都会自动轮替,kubectl logs命令仅显示最后一次轮替后的日志条目,而且只能显示仍然存在的pod的日志,如果一个pod被删除,日志也会被删除,如果希望在pod删除之后仍然可以获取其日志,我们需要设置中心化的、集群范围的日志系统,将所有日志存储到中心存储中。

获取多容器pod时指定容器名称

kubectl logs gwp-manual -c gwp

20、将本地网络端口转发到pod中的端口

执行如下命令,会将本地端口8888转发到pod的端口8080,这样就可以通过本地端口连接到我们的pod

kubectl port-forward gwp-manual 8888:8080

然后在另一个终端向pod发送一个请求

curl localhost:8888

21、删除和停止pod

1)按名称删除

kubectl delete pod gwp-gpu

2)按标签删除

kubectl delete pod -l creation_method=manual

3)删除整个命名空间来删除pod

kubectl delete ns custom

4)删除命名空间中所有的pod,但保留命名空间

kubectl delete pod -n custom --all

5)删除命名空间中几乎所有资源

kubectl delete all --all

最终查看所有命名空间的pod


 

© 著作权归作者所有

RogueQ
粉丝 5
博文 23
码字总数 23323
作品 0
西安
程序员
私信 提问
mac使用minikube安装kubernetes

安装minikube 安装kubectl 启动cluster 打开dashboard 关闭cluster docs minikube

go4it
2016/10/03
129
0
mac本地安装kubernetes

安装minikube 启动minikube 安装kubectl 查看 doc Kubernetes in 30 minutes with minikube on Mac

go4it
2016/11/15
409
0
VPS 单节点部署 Kubernetes 的方法与对比

Docker 在生产环境的部署方案,目前的最优解显然是 Kubernetes 了,Kubernetes 提供了非常完备的功能,几乎能覆盖所有能想到的运维场景,这点无需多言。 唯独对于流量不大,对于机器资源要求...

Docker
03/13
0
0
Kubernetes 环境搭建

入坑第一天,差点没爬起来😂😂😂 1. Kubernetes是什么 Kubernetes (K8s)是一个用于自动化部署、自动扩缩容和管理容器化应用程序的开源系统。 关于Kubernetes,说得最多的就是自动容器部...

废物大师兄
11/17
0
0
如何在Mac中创建MiniKube

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:http://blog.csdn.net/forezp。 https://blog.csdn.net/forezp/article/details/82563153 转载请标明出处...

方志朋
2018/09/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何管stderr,而不是stdout?

我有一个要写入信息的程序stdout和stderr ,我需要grep通过什么是未来标准错误 ,而忽视标准输出 。 我当然可以分2步完成: command > /dev/null 2> temp.filegrep 'something' temp.file...

技术盛宴
27分钟前
5
0
centos7.5上通过docker安装并运行mysql5.7

1. docker pull mysql:5.7 2. docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7...

Ryub
30分钟前
6
0
什么是比赛条件?

在编写多线程应用程序时,遇到的最常见问题之一是竞争条件。 我对社区的问题是: 什么是比赛条件? 您如何检测到它们? 您如何处理它们? 最后,如何防止它们发生? #1楼 当设备或系统试图同...

javail
42分钟前
6
0
SpringMVC源码分析-DispatcherServlet-init方法分析

上一篇:SpringMVC源码分析-DispatcherServlet实例化干了些什么 先吐槽一下。。。写了两小时的博客突然被俺家小屁孩按了刷新,东西不见了,建议OSCHINA能够自动定时保存啊。让我先安静一下。...

特拉仔
49分钟前
7
0
python协程 生成器

协程,又称微线程,纤程。英文名Coroutine。 线程是系统级别的它们由操作系统调度,而协程则是程序级别的由程序根据需要自己调度。在一个线程中会有很多函数,我们把这些函数称为子程序,在子...

沙门行道
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部