centos7下kubernetes(1。kubernetes---start)
kubernetes官网:https://kubernetes.io/docs/home/
也是怀着不情愿的心情,要开始kubernetes了,本身是非常热爱技术,尤其是容器技术,可能是最近有点累和懈怠,变得有些懒惰了。
每每这种情况,我都会去智联招聘搜一下docker。。。。薪资很高,看了具体的招聘要求,差距很大很大,感觉好累啊。只能说学海无涯,回头可能是岸。。。。话不多说了。开始吧
跑起来~~~
https://kubernetes.io/docs/tutorials/kubernetes-basics/
左面是教程菜单。
我们先来创建一个kubernetes集群,感受一下:
显示以下操作界面:
很热情的开始界面
左边是操作说明,右边是terminal,命令终端口
根据操作说明,我们在terminal中执行minikube start,然后执行kubectl get nodes,这样就创建好了一个单节点的kubernetes集群
集群的唯一节点为host01,需要注意的是当前执行命令的地方并不是host01.我们是在通过kubernetes的命令行工具远程管理集群
heapster,kubernetes-dashboard都是集群中运行的服务
集群就这么创建好了
kubernetes核心功能
部署应用:
kubectl run kubernetes-bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080
注:显示的有点不正常
这里的deployment是kubernetes的一个术语,可以理解为应用。
kubernetes还有一个重要的术语:Pod
pod是容器的集合,通常会将紧密相关的一组容器放到一个POd中,同一个Pod中的所有容器共享IP地址和port空间,也就是说他们在一个newwork namespace中
Pod是kubernetes调度的最小单位,同一Pod中的容器始终被一起调度。
运行kubectl get pods
kubernetes-bootcamp-390780338-rsrzj 就是应用的pod
访问应用:
默认情况下,所有pod只能在集群内部访问。对于上面这个例子,要访问应用只能直接访问容器的8080端口。为了能从外部访问应用,我们需要将容器的8080端口映射到节点的端口。
执行如下命令:
kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080
执行kubectl get services可以查看应用被映射到那个端口
这里有两个service
kubernetes是默认的service,暂时不考虑
kubernetes-bootcamp是我们应用的service,8080端口已经映射到host01的31068端口,端口号是随机分配的,可以执行如下命令访问应用:
curl host01:31068
Scale应用:
默认情况下只运行一个副本,可以通过kubectl get deployments
执行以下命令将副本数增加到3个:
kubectl scale deployments/kubernetes-bootcamp --replicas=3
通过curl访问应用:
可以看到每次请求发送到不同的pod,三个副本轮询处理,这样就实现了负载均衡
要scale down也很方便,执行命令:
滚动更新:
当前应用使用的image版本为v1,执行如下命令将其升级到v2:
kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
如果要退回v1版本也很容易,执行kubectl rollout undo
验证版本已经回退到v1
centos7下kubernetes(1。kubernetes---start)的更多相关文章
- Centos7下yum安装kubernetes
一.前言 Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动态扩缩容等功能套件,目前centos yum源上 ...
- [Kubernetes]关于 Kubernetes ,你想要的,都在这儿了
陆陆续续,关于 Kubernetes 写了有 20+ 篇文章了. 今天这篇文章来一个整合,从实践到理论,可以按需查看(我是按照博客发表时间来排序的,如果后续有想要更新的内容,也会及时更新到这篇文章中) ...
- centos7下kubernetes(3。部署kubernetes)
环境:三个centos7 K8s2是Master;K8s1是node1:K8s3是node2 官方文档:https://kubernetes.io/docs/setup/independent/ins ...
- [Kubernetes]CentOS7下Etcd集群搭建
Etcd简要介绍 Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息 Etcd构建自身高可用集群主要有三种形式: ①静态发现: 预先已知 Etcd 集 ...
- centos7.5下kubeadm安装kubernetes集群安装
文章是按https://blog.csdn.net/Excairun/article/details/88962769,来进行操作并记录相关结果 版本:k8s V14.0,docker-ce 18.0 ...
- [Kubernetes]CentOS7下搭建Harbor仓库
环境依赖: Harbor仓库需要环境:Python 2.7或以上版本,Docker 1.10或以上,Docker Compose 1.6.0或以上. CentOS7自带Python,所以不需要安装. ...
- Centos7 使用 kubeadm 安装Kubernetes 1.13.3
目录 目录 什么是Kubeadm? 什么是容器存储接口(CSI)? 什么是CoreDNS? 1.环境准备 1.1.网络配置 1.2.更改 hostname 1.3.配置 SSH 免密码登录登录 1.4 ...
- centos7使用kubeadm安装kubernetes集群
参考资料:官方文档 一.虚拟机安装 配置说明: windows下使用vbox,centos17.6 min版,kubernetes的版本是1.14.1, 安装如下三台机器: 192.168.56.15 ...
- centos7使用kubeadm搭建kubernetes集群
一.本地实验环境准备 服务器虚拟机准备 IP CPU 内存 hostname 192.168.222.129 >=2c >=2G master 192.168.222.130 >=2 ...
- 从centos7镜像到搭建kubernetes集群(kubeadm方式安装)
在网上看了不少关于Kubernetes的视频,虽然现在还未用上,但是也是时候总结记录一下,父亲常教我的一句话:学到手的东西总有一天会有用!我也相信在将来的某一天会用到现在所学的技术.废话不多扯了... ...
随机推荐
- Java多线程之wait、notify/notifyAll 详解,用wait 和notifyAll 以及synchronized实现阻塞队列,多线程拓展之ReentrantLock与Condition
前言:这几天看了很多关于多线程的知识,分享一波.(但是目前接触的项目还未用到过,最多用过线程池,想看线程池 请看我之前的博客) 关于基本的理论等 参考如下: https://www.cnblogs.c ...
- CSS制作镂空字体
1.效果图 2.html内容: <!doctype html><html lang="en"><head> <meta charset=& ...
- 学linux,从Ubuntu开始
1.安装过程出现0x00000000指令引用的0x00000000内存该内存不能为written 如果你安装的是inux系统 需要在设置-->系统--> 处理器--启用PAE支持我的就是这 ...
- Tomcat_记一次tomcatwar包应用简单部署过程
记一次tomcat war包应用简单部署过程 by:授客 QQ:1033553122 1. 实践环境 Linux apache-tomcat-7.0.73 2. 实践步骤 # 解压tomcat压缩 ...
- Spinner的简单使用
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- Windows系统java下载与安装
Windows系统java下载与安装 一.前言 作者:深圳-风尘 联系方式:QQ群[585499566] 博客:https://www.cnblogs.com/1fengchen1/ 能读懂本文档人: ...
- 章节一、1-Selenium简介
一.Selenium WebDriver介绍 1.跨平台,用web浏览器做自动化的工具. 2.可以在浏览器上运行的一个框架,用来进行界面的自动化. 3.支持多种计算机语言. 4.可以模拟真实的用户去操 ...
- centos开发环境安装的备忘
#Centos visudo运行普通用户$(whomai)执行sudo操作 http://www.cnblogs.com/xianyunhe/archive ...
- vue使用axios请求后端数据
1. 安装axios $ npm install axios 2.在main.js里面导入axios import axios from 'axios' Vue.prototype.$http = a ...
- linux hadoop2.x快速安装
........ http://blog.csdn.net/se7en_q/article/details/47258007