k8s安装

溢出露台
• 阅读 2805

k8s安装

minikube方式

介绍

Minikube 是一种可以让您在本地轻松运行 Kubernetes 的工具。

Minikube可以实现一种轻量级的Kubernetes集群,通过在本地计算机上创建虚拟机并部署只包含单个节点的简单集群

官网文档:

英文文档

minikube中文文档

minikube英文文档

kubectl安装

MiniKube 的安装需要先安装 kubectl (k8s客户端)及相关驱动

这里使用二进制方式进行安装

本地环境: Fedora x29 x64

1.查看最新的版本号

[jian@laptop tmp]$ curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt
v1.17.2

# 根据版本号进行下载相应的客户端程序
[jian@laptop tmp]$ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.2/bin/linux/amd64/kubectl

也可以直接下载最新版本:

[jian@laptop tmp]$ curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl

2.赋予可执行权限

[jian@laptop tmp]$ chmod +x ./kubectl

3.放入系统环境路径

[jian@laptop tmp]$ sudo mv kubectl /usr/local/bin/kubectl

4.测试版本信息

[root@laptop bin]# kubectl version --client

MiniKube安装

MiniKube 是使用 Go 语言开发的,所以安装其实很方便,这里也使用二进制方式进行安装

下载地址

这里我们下载1.6.2 minikube-linux-amd64 版本

安装
[jian@laptop tmp]$ curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v1.6.2/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
使用

1.开启docker 服务

[root@laptop ~]# systemctl start docker

[root@laptop system]# systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-01-30 11:49:20 CST; 7s ago
     Docs: https://docs.docker.com
     ....

2.默认启动使用的是 VirtualBox 驱动,使用 --vm-driver 参数可以指定其它驱动

参数说明:
--image-registry 使用阿里云镜像进行加速
--vm-driver=none 不使用任何驱动

[root@laptop ~]# minikube start --vm-driver=none --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers
....
🏄  Done! kubectl is now configured to use "minikube"

3.检测状态

[root@laptop ~]# minikube status
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

4.启动k8s dashboard

[root@laptop ~]# minikube dashboard
🤔  Verifying dashboard health ...
🚀  Launching proxy ...
🤔  Verifying proxy health ...
http://127.0.0.1:35173/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

点击上面的地址就可以打开dashboard

5.查看集群情况

[root@laptop ~]# kubectl cluster-info

6.查看节点情况

[root@laptop ~]# kubectl get nodes
部署应用

1.创建一个deployment

[root@laptop ~]# kubectl run hello-world --image=nginx:1.7.9 --port=80

2.查看deployment

[root@laptop ~]# kubectl get deployments
NAME          READY   UP-TO-DATE   AVAILABLE   AGE
hello-world   0/1     1            0           67s

3.查看pod

[root@laptop ~]# kubectl get pods
NAME                          READY   STATUS    RESTARTS   AGE
hello-world-f7dbcbd8f-ghq2r   1/1     Running   0          93s

4.查看日志命令

[root@laptop ~]# minikube logs

5.再次查看deployment

[root@laptop ~]# kubectl get deployments
NAME          READY   UP-TO-DATE   AVAILABLE   AGE
hello-world   1/1     1            1           3m38s

6.创建服务

默认情况下,Pod 只能通过 Kubernetes 集群中的内部 IP 地址访问。

要使得 容器可以从 Kubernetes 虚拟网络的外部访问,您必须将 Pod 暴露为 Kubernetes Service

[root@laptop ~]# kubectl expose deployment hello-world --type=NodePort
# z注意这里--type=NodePort

7.查看服务

[root@laptop ~]# kubectl get services
NAME          TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
hello-world   NodePort    10.96.43.104   <none>        80:31806/TCP   3m55s
kubernetes    ClusterIP   10.96.0.1      <none>        443/TCP        108m

8.访问应用

# --url:将返回访问的URL 
[root@laptop ~]# minikube service hello-world --url
http://192.168.1.102:31806

可以通过浏览器直接访问

kubeadm方式

kubeadm是Kubernetes1.6开始官方推出的快速部署Kubernetes集群工具

其思路是将Kubernetes相关服务容器化(Kubernetes静态Pod)以简化部署

  • 安装过程待补充(需要多台机器才能弄)

区别

minikube是单机版
kubeadm 是运行在docker里面的k8s集群

minikube 基本上你可以认为是一个实验室工具,只能单机部署,里面整合了 k8s 最主要的组件,无法真正搭建集群,且由于程序做死无法安装各种扩展插件(比如网络插件、dns 插件、ingress 插件等等),主要作用是给你了解 k8s 用的。

而 kudeadm 搭建出来是一个真正的 k8s 集群,可用于生产环境(HA 需要自己做),和二进制搭建出来的集群几乎没有区别。

点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Stella981 Stella981
3年前
Git 克隆远程仓库到本地
Git克隆远程仓库到本地参考$gitclonehelphttps://gitscm.com/book/zh/v2/Git%E5%9F%BA%E7%A1%80%E8%8E%B7%E5%8F%96Git%E4%BB%93%E5%BA%93当前目录/e/mozq/0
Wesley13 Wesley13
3年前
Java 入门进阶
Java入门进阶發表於20150416http://xielong.me/2015/04/16/%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%B8%88%E5%85%A5%E9%97%A8%E4%B8%8E%E8%BF%9B%E9%98%B6Java%E7%89%88/
Wesley13 Wesley13
3年前
Oracle 数据库勒索病毒 RushQL 处理办法
Oracle数据库勒索病毒RushQL处理办法办法来自Oracle官方:https://blogs.oracle.com/cnsupport\_news/%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E2%80%9C%E6%AF%94%E7%89%B9%E5%B8%81%E6%94%BB%E5%8
Wesley13 Wesley13
3年前
ubuntu14下atom中文乱码方块
http://blog.leanote.com/post/rexlevin/ubuntu14%E4%B8%8Batom%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81%E6%96%B9%E5%9D%97(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog.le
Wesley13 Wesley13
3年前
Java三大特性
_Java面向对象编程三大特性:封装继承多态(https://snailclimb.gitee.io/javaguide//docs/java/Java%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86?id_11java%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1%e7%bc%96%e
Stella981 Stella981
3年前
Kafka 是怎么存储的?为什么速度那么快?
文章收录地址:JavaBang(https://gitee.com/iByteCoding/JavaBang/tree/master/%E7%B2%BE%E9%80%89%E6%8A%80%E6%9C%AF%E4%B8%93%E6%A0%8F/Kafka%E6%A0%B8%E5%BF%83%E5%8E%9F%E7%90%86) 专注于系统架构、
Wesley13 Wesley13
3年前
2、Libgdx配置你的开发环境(Eclipse,Intellij IDEA,NetBeans)
(原文:http://www.libgdx.cn/topic/13/2libgdx%E9%85%8D%E7%BD%AE%E4%BD%A0%E7%9A%84%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83eclipseintellijideanetbeans(https://www.oschina.net/action/G
Wesley13 Wesley13
3年前
v10 升级指南
v10升级指南开始之前(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fng.ant.design%2F%23%E5%BC%80%E5%A7%8B%E4%B9%8B%E5%89%8D)升级步骤(https://www.oschina.net/action/G
Wesley13 Wesley13
3年前
Eclipse插件开发调试篇
介绍本文介绍如何定制一种适合自己项目调试的方式。扩展点查看原文:http://surenpi.com/2015/08/13/eclipse%e6%8f%92%e4%bb%b6%e5%bc%80%e5%8f%91%e8%b0%83%e8%af%95%e7%af%87/(https://www.oschina.net/
九路 九路
2年前
C++之值传递&指针传递&引用传递详解
C之值传递&指针传递&引用传递详解目录C之值传递&指针传递&引用传递详解(about:blankc%E4%B9%8B%E5%80%BC%E4%BC%A0%E9%80%92%E6%8C