k8s入门】的更多相关文章

k8s集群以及一些扩展插件已经安装完毕,本篇文章介绍一下如何在k8s集群上快速部署guestbook应用. •实验环境为集群:master(1)+node(4),详细内容参考<k8s入门系列之集群安装篇> •guestbook应用示例介绍:应用包含2部分:web前端和redis(1主2从),用户通过web前端提交数据,写入到redis-master上,然后通过读取同步到redis-slave上的数据展示给用户. 提示:所有的定义文件都存放在master端,所有的操作也都是在master端操作.…
DNS (domain name system),提供域名解析服务,解决了难于记忆的IP地址问题,以更人性可读可记忆可标识的方式映射对应IP地址. Cluster DNS扩展插件用于支持k8s集群系统中各服务之间发现与调用. 组件: •SkyDNS 提供DNS解析服务 •Etcd 存储DNS信息 •Kube2sky 监听kubernetes,当有Service创建时,生成相应的记录到SkyDNS. 本文章的实验环境与<k8s入门系列之集群安装篇>介绍中一致.master(1) + node(4…
关于kubernetes组件的详解介绍,请阅读上一篇文章<k8s入门系列之介绍篇> Kubernetes集群安装部署 •Kubernetes集群组件: - etcd 一个高可用的K/V键值对存储和服务发现系统 - flannel 实现夸主机的容器网络的通信 - kube-apiserver 提供kubernetes集群的API调用 - kube-controller-manager 确保集群服务 - kube-scheduler 调度容器,分配到Node - kubelet 在Node节点上按…
中文文档:https://www.kubernetes.org.cn/kubernetes%E8%AE%BE%E8%AE%A1%E6%9E%B6%E6%9E%84 小结大白话 Portainer 挺好的,可以GUI管理集群.可以把很多机器(节点)加到 endpoint 中做集群管理: kubectl run和docker run一样,它能将一个镜像运行起来,我们使用kubectl run来将一个sonarqube的镜像启动起来. 简介 k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一…
关于kubernetes组件的详解介绍,请阅读上一篇文章<k8s入门系列之介绍篇> Kubernetes集群安装部署 •Kubernetes集群组件: - etcd 一个高可用的K/V键值对存储和服务发现系统 - flannel 实现夸主机的容器网络的通信 - kube-apiserver 提供kubernetes集群的API调用 - kube-controller-manager 确保集群服务 - kube-scheduler 调度容器,分配到Node - kubelet 在Node节点上按…
layout: post title: 反手来个K8S入门到跑路 category: linux date: 2019-06-09 tags: linux k8s 反手来个K8S入门到跑路 前言 放假前一两天发现腾讯云托管K8S集群上线好一阵子了, 还支持把原有主机迁入k8s集群, 索性开始搞事了. 先简单科普一下, 什么是k8s? k8s 科普时间 Kubernetes (K8s) is an open-source system for automating deployment, scal…
body { margin: 0; overflow: auto; font: normal 14px Verdana; background: rgba(255, 255, 255, 1); padding: 2px 4px 0; cursor: text } body, p, font, div, li { line-height: 1.5 } body, td, th { color: rgba(0, 0, 0, 1) } .i { width: 100%; *width: auto; t…
一.准备三台节点 从上篇文章 k8s入门之基础环境准备(一)安装的Ubuntu虚拟机克隆出三台虚拟机,如图所示 启动这三台虚拟机节点,分别做如下配置 虚拟机名称 IP HostName k8sMaster 192.168.59.110 k8sMaster k8sWorker01 192.168.59.111 k8sWorker01 k8sWorker02 192.168.59.112 k8sWorker02 二.操作系统相关参数设置 注意:三台节点都要执行以下步骤 1.关闭selinux ubu…
一.关于这个系列 自从2018年底离开工作了3年的M公司加入X公司之后,开始了ASP.NET Core的实践,包括微服务架构与容器化等等.我们的实践是渐进的,当我们的微服务数量到了一定值时,发现运维工作量已将增加了很多,因此容器编排引擎的需求也随之产生(虽然我们一直都知道K8S的必要性).同时,在张队发的<.NET云原生采用情况调查>中已经表明,容器编排和自动化领域Kubernetes已经占据了主体地位,学习Kubernetes刻不容缓! 所以,我将K8S的入门学习放到了2019年的学习列表中…
kube-ui是k8s提供的web管理界面,可以展示节点的内存.CPU.磁盘.Pod.RC.SVC等信息. 1.编辑kube-dashboard-rc.yml定义文件[root@master kube-dashboard]# cat kubernetes-dashboard-rc.yml kind: ReplicationController apiVersion: v1 metadata: labels: app: kubernetes-dashboard name: kubernetes-d…
•Kubernetes介绍1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境2.什么是kubernetes Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性. Kubernetes优势: - 容器编排 - 轻量级…
一.k8s是个什么鬼? k8s全名:kubernetes 它是一个工具,在linux上管理应用生命周期的一个工具. 二.k8s有什么卵用? 1.当你把项目部署到服务器集群上,一台服务器挂了,k8s它可以自动将这个服务器上的服务调度到另一个主机上运行. 2.还有当你的项目更新了代码之后,要打包重新发布,使用k8s可以做到不用中断服务而更新发布项目. 3.从开发环境到测试环境到生产环境的迁移极其方便,一个配置文件搞定,一次生成image,到处运行.(这个暂时没搞懂,还没有亲手去弄一下,也没做过什么测…
•Kubernetes介绍1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境2.什么是kubernetes Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性. Kubernetes优势: - 容器编排 - 轻量级…
一个目标:容器操作:两地三中心:四层服务发现:五种Pod共享资源:六个CNI常用插件:七层负载均衡:八种隔离维度:九个网络模型原则:十类IP地址:百级产品线:千级物理机:万级容器:相如无亿,K8s有亿:亿级日服务人次. 一个目标:容器操作Kubernetes(k8s)是自动化容器操作的开源平台.这些容器操作包括:部署,调度和节点集群间扩展.具体功能:自动化容器部署和复制.实时弹性收缩容器规模.容器编排成组,并提供容器间的负载均衡.调度:容器在哪个机器上运行.组成:kubectl:客户端命令行工具…
1.docker的三种编排工具 Docker的第一类编排工具: a.docker compose(docker原生):只能对一个主机上的容器进行编排,无法编排多个主机上的容器; b.docker swarm(docker原生):可以对多个主机上的容器进行编排; c.docker machine(docker原生):可以将一个主机迅速初始化到docker swarm集群里. 以上三个称为docker三剑客 Docker的第二类编排工具: mesos:它不是docker的编排工具,而是资源分配工具,…
组件版本和配置策略 组件版本 Kubernetes 1.16.2 Docker 19.03-ce Etcd 3.3.17 https://github.com/etcd-io/etcd/releases/ Flanneld 0.11.0 https://github.com/coreos/flannel/releases/ 插件: Coredns Dashboard Heapster (influxdb.grafana) Metrics-Server EFK (elasticsearch.flu…
node节点组件 docker kubelet kube-proxy kubernetes-server-linux-amd64.tar.gz(相关的这里都能找到二进制文件!) falnnel 1. 系统初始化 1.01 系统环境&&基本环境配置 [root@localhost ~]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x8…
1. k8s概述 Kubernetes(简称K8S) 是Google开源的分布式的容器管理平台,方便我们在服务器集群中管理我们容器化应用. 教程主要介绍怎么使用阿里云容器服务(kubernetes版本). 2. k8s常用概念介绍 节点 (Master node and Worker node)节点通常指的就是服务器,在k8s中有两种节点:管理节点(Master Node)和工作节点(Worker Node)管理节点(Master Node):负责管理整个k8s集群,一般由3个管理节点组成HA的…
摘要: 集群其他组件全部完成后我们应当部署集群 DNS 使 service 等能够正常解析,1.11版本coredns已经取代kube-dns成为集群默认dns. https://github.com/coredns/deployment/blob/master/kubernetes/ 1. yaml配置清单 [root@k8s-master01 ~]# mkdir -p /opt/coredns [root@k8s-master01 ~]# vi /opt/coredns/coredns.ya…
pod是k8s项目中的最小编排单位,它是运行中的一组(一个或多个)容器,这些容器共享存储.网络.调度等资源,pod是一个逻辑概念,同一个名称空间下不同pod可以通过ip互相访问. 一.通过命令行方式管理 1.创建 在dev名称空间下创建名称为mynginx的pod,如果不指定-n参数,则默认创建在default名称空间下 kubectl run mynginx --image=nginx -n dev 2.查看dev名称空间下所有pod的简单信息 kubectl get pod -n dev 创…
namespace的作用就是用来隔离资源,将同一集群中的资源划分为相互隔离的组.同一名称空间内的资源名称要唯一,但不同名称空间时没有这个要求.有些k8s资源对象与名称空间没有关系,例如 StorageClass.Node.PersistentVolume 等. 一.使用命令行管理 1.创建 kubectl create ns test 2.获取 kubectl get ns 3.删除 该名称空间下所有的资源都将被一起删除 kubectl delete ns test 二.使用yaml文件管理 1…
一.在虚拟机中安装Ubuntu20.04.4系统 1.下载Ubuntu20.04.4服务器版本系统 下载链接地址如下: https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04 2.在Vmware Workstation中安装该版本的系统(安装步骤略),注意虚拟机网络使用NAT模式 二.配置Ubuntu系统 1.设置root密码 sudo passwd 2.设置静态IP (1)查看网卡设备号 ip a (2)更改网络配置文件 首先查看网…
Deployment控制器通常用来部署无状态的应用,这样可以在任意的节点上扩容或者删除,而不用考虑数据的问题,它可以管理pod对象. 一.多副本 1.使用命令行方式创建Deployment 在dev名称空间下创建3个副本的nginx pod kubectl create deployment nginx --image=nginx --replicas=3 -n dev 监控创建进度 kubectl get deploy -n dev -w 可以看到副本可用数量从0变到3 2.查看Deploym…
Ingress 的功能其实很容易理解:所谓 Ingress,就是 Service 的"Service",代理不同后端 Service 而设置的负载均衡服务. 一.安装ingress 1.查找ingress安装文件 从github上查看ingress对应k8s版本的deploy文件,链接地址是: https://github.com/kubernetes/ingress-nginx/tree/main/deploy/static/provider/baremetal 2.点击Raw按钮可…
某些应用是要持久化数据的,如果直接持久化在pod所在节点,当pod因为某种原因重建或被调度另外一台节点,是无法访问到之前持久化的数据,所以需要一个公共存储数据的地方,无论pod删除重建或重新调度到其他节点都能访问原来的数据,使用nfs就可以到达此目的. 一.安装nfs 1.在k8sMaster主节点上安装nfs服务端 apt install -y nfs-kernel-server systemctl start nfs-server systemctl enable nfs-server sy…
ConfigMap是k8s的配置管理工具,通常用来保存明文的配置信息,以key-value形式传递配置. 一.使用命令创建ConfigMap对象 1.通过--from-literal参数创建 kubectl create configmap mycm1 --from-literal=appid=order-app --from-literal=appsecret=dfdg12342 (1)查看创建结果 kubectl get secret (2)使用describe命令查看详情 kubectl…
kubernetes master 节点包含的组件: 1.kube-apiserver :集群核心,集群API接口.集群各个组件通信的中枢:集群安全控制: 2.kube-scheduler: 集群调度器 ,根据node负载(cpu.内存.存储.策略等)将pod分配到合适node. 3.kube-controller-manager:集群状态管理器 .当集群状态与集群期望值不同时,该控制器会根据已有策略将其恢复到指定状态. kube-scheduler.kube-controller-manage…
Kubernetes的kubectl常用命令 1. pod操作 # 获取所有的pod kubectl get pods --all-namespaces -o wide # 使用yaml文件创建pod kubectl create -f YAML_FILE.yaml # 使用yaml文件删除pod kubectl delete -f YAML_FILE.yaml # 显示指定命名空间的pod的日志 kubectl logs POD_NAME -n kube-system 2. 服务器操作 # 获…
将一组pod公开为网络服务,通过service代理,可以实现负载均衡 一.ClusterIP 此方式只能在集群内访问 1.使用命令暴露已存在的pod (1)继续使用前面章节的案例,查看名称为nginx的deploy下的pod kubectl get pod -n dev -owide 进入每个pod容器,更改index.html内容 kubectl exec nginx-6799fc88d8-2rf2c -it /bin/bash -n dev cd /usr/share/nginx/html/…
Secret与ConfigMap都是用来存储配置信息的,不同之处在于ConfigMap是明文存储的,而Secret用来保存敏感信息,如:密码.OAuth令牌,ssh key等等.Secret常用有三种类型: Opaque:使用base64编码格式存储密码等信息,加密性很弱. kubernetes.io/dockerconfigjson:用来存储私有docker registry的认证信息(仓库地址.登录用户名密码). kubernetes.io/service-account-token:用来创…