ControlPlane

kubernetes(八) kubernetes的使用

99封情书 提交于 2020-07-29 10:24:39
kubernetes的使用 kubectl命令行管理工具 参考命令: kubectl常用的命令行管理命令 部署应用 kubectl create deployment web --image=nginx:1.14 kubectl get deploy,pods 暴露应用 kubectl expose deployment web --port=80 --type=NodePort --targer-port=80 --name=web kubectl get service 应用升级 kubectl set image deployment/web nginx=nginx:1.16 kubectl rollout status deployment/web 应用回滚 kubectl rollout undo deployment/web #回滚到上一个版本 kubectl rollout history deploy/web #查看版本(版本号递增,最新的也就是版本号最大的) kubectl rollout undo deploy/web --to-revision=1 #指定版本回滚 扩缩容 kubectl scale deployment web --replicas=4 #扩容至4个pod kubectl scale deployment web --replicas=1

使用Rancher在Microsoft Azure上搭建Kubernetes集群

穿精又带淫゛_ 提交于 2020-07-29 04:44:35
Rancher 是一种简化Kubernetes集群部署的方案,它的理念是,在任何地方运行Kubernetes集群。由于在最近的工作中需要用到,因此,就写一篇文章介绍一下Rancher的使用,以及通过Rancher在Azure上搭建Kubernetes集群的方式。 开始使用Rancher Rancher的基本使用非常简单,英语比较好的可以直接翻看 Rancher官网上的文档 ,我们先从Rancher的安装开始。Rancher的安装非常简单,在装有docker的机器上直接运行以下命令,就可以启动Rancher。 sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher 启动完成后,打开浏览器,使用http或者https访问运行Rancher容器的主机,就可以看到用户界面。第一次使用时,Rancher会提示为admin用户设置新的密码,输入密码后,就可以开始使用Rancher了。进入主界面后,页面会显示Add Cluster的按钮,点击该按钮就可以开始创建一个新的Kubernetes集群。但在开始创建集群前,有些配置是需要预先设置好的,因此,我们不急于点击这个Add Cluster按钮,我们先点击界面右上方的用户头像,然后可以看到两个重要的菜单项:Cloud

Kubernetes容器云——基础概念篇

怎甘沉沦 提交于 2020-05-05 13:03:09
Kubernetes容器云——基础概念篇 前言 ​ 前面我们讲解了有关docker的基础以及进阶的部分内容,本文开始将进入Kubernetes的云原生平台结合容器的云服务的世界。本文将从Kubernetes的基础概念,核心作用,基本组件、架构和原理来讲述Kubernetes,带你从入门到进阶搞定Kubernetes。 Kubernetes基础概念 从docker容器引入Kubernetes ​ 近十几年来,IT领域的技术发展可谓是日新月异,新的架构新的概念层出不穷,例如DevOPs、微服务、容器、云计算及区块链等。而由于各种业务的需要,IT应用模型也在不断变革,而前面所讲数的docker容器技术的出现,其终结了Devops中交付和部署环节因环境、配置及开发语言等不同因素造成的困境,如今愈来愈多的企业或组织开始选择以镜像文件为交付载体。容器镜像内包含了应用程序及其依赖的系统环境、库、基础程序等,从而可以在安装了容器引擎上直接运行。这样,IT运维工程师就无需关注编程语言和开发环境,只需要掌握管理容器的工具链即可。 新的问题 ​ 虽然部署简化了,但是以容器形式运行的应用程序之间的协同却是一个新的问题,于是各种编排系统应运而生,其中为代表的就是Kubernetes。 Kubernetes概述 ​ Kubernetes,来着希腊语,意为“舵手”或者说是“飞行员”

kubernetes实战(二十六):kubeadm 安装 高可用 k8s 1.16.x dashboard 2.x

偶尔善良 提交于 2020-04-28 18:55:26
1、基本配置   基本配置、内核升级、基本服务安装参考https://www.cnblogs.com/dukuan/p/10278637.html,或者参考《再也不踩坑的Kubernetes实战指南》第一章第一节 2、Kubernetes组件安装   所有节点安装Kubeadm、Kubectl、kubelet yum install -y kubeadm- 1.16 . 0 - 0 .x86_64 kubectl- 1.16 . 0 - 0 .x86_64 kubelet- 1.16 . 0 - 0 .x86_64   所有节点启动Docker [root@k8s-master01 ~]# systemctl enable -- now docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/ docker.service. [root@k8s -master01 ~ ]# docker version Client: Version: 17.09 . 1 - ce API version: 1.32 Go version: go1. 8.3 Git commit: 19e2cf6 Built: Thu Dec

k8s试用尝试

自闭症网瘾萝莉.ら 提交于 2020-04-24 09:56:20
https://blog.csdn.net/Michael_HM/article/details/79621134?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158753725319725219902795%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=158753725319725219902795&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-2 (base) [root@localhost k8s_images]# kubeadm init --kubernetes-version=v1.9.0 --pod-network-cidr=10.244.0.0/16 [init] Using Kubernetes version: v1.9.0 [init] Using Authorization modes: [Node RBAC] [preflight] Running pre-flight checks. [WARNING FileExisting-crictl]:

kubernetes 高可用的配置

穿精又带淫゛_ 提交于 2020-04-10 08:13:02
kubernetes 高可用的配置 标签(空格分隔): kubernetes系列 一:kubernetes 高可用的配置 一:kubernetes 的 kubeadmn高可用的配置 二: 系统初始化 2.1 系统主机名 192.168.100.11 node01.flyfish 192.168.100.12 node02.flyfish 192.168.100.13 node03.flyfish 192.168.100.14 node04.flyfish 192.168.100.15 node05.flyfish 192.168.100.16 node06.flyfish 192.168.100.17 node07.flyfish ---- node01.flyfish / node02.flyfish /node03.flyfish 作为master 节点 node04.flyfish / node05.flyfish / node06.flyfish 作为work节点 node07.flyfish 作为 测试节点 keepalive集群VIP 地址为: 192.168.100.100 2.2 关闭firewalld 清空iptables 与 selinux 规则 系统节点全部执行: systemctl stop firewalld && systemctl disable

开发者必须要了解的架构技术趋势:Service Mesh

假装没事ソ 提交于 2020-02-27 14:27:50
内容概要 Service Mesh 是干啥的?解决了什么问题? Service Mesh 的特性 Service Mesh 的主流实现有哪些? 1. Service Mesh 是什么? 简单来讲,Service Mesh 简化 了微服务架构中服务间 调用复杂度 。 这就涉及到了2个问题: 服务调用怎么复杂了? Service Mesh 怎么解决的? (1)服务调用复杂度问题 对于每个微服务,我们可以简单的视为包含2个部分: 业务逻辑 网络功能 其中网络部分是非常复杂的,需要解决很多问题,例如: 使用什么网络传输协议(HTTP1.x/2.x, gRPC ……) 服务发现 熔断机制 处理超时 重试 服务调用时的负载均衡 …… 每个微服务都需要处理这些网络问题,如果所有微服务都使用同一套语言还好,可以使用一个框架统一解决,但如果使用了多种语言,那么每种语言又需要统一处理一遍。 所以,可以说: 微服务架构中, 最复杂 的不是构建服务本身,而是处理 服务间调用问题 。 (2)Service Mesh 怎么解决的? 核心部分说明: 业务逻辑 微服务实现自己的业务功能。 内部网络功能 虽然很多网络功能都可以统一由 Service Mesh 解决,但有些基础的功能还需要微服务自己来解决。 例如,和 Service Mesh 如何沟通呢?使用 HTTP1.x, gRPC, TCP?

使用kubeadm部署高可用Kubernetes 1.17.0

别说谁变了你拦得住时间么 提交于 2020-01-07 02:07:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 因为Kubernetes集群1.16升级1.17后崩溃,计划重新部署。以前是手工创建的高可用集群,现在使用kubeadm来部署高可用Kubernetes,因为1.17.0已经增加了很多新的功能,正好来体验一下。 参考: 创建高可用集群: Creating Highly Available clusters with kubeadm 获取新的镜像: Kubernetes 1.17.0 已发布 本地存储提供者: Kubernetes的Local Path Provisioner 获取Kubeadm更新: kubernetes for china 创建集群: sudo kubeadm init --kubernetes-version=v1.17.0 \ --apiserver-advertise-address=192.168.199.173 \ --control-plane-endpoint=192.168.199.173:6443 \ --pod-network-cidr=10.244.0.0/16 \ --upload-certs 注意: 增加--control-plane-endpoint参数,是用于多Master的部署使用,必须加上。 使用多个Master节点的kubeadm init方法后

“编程到接口”是什么意思?

自闭症网瘾萝莉.ら 提交于 2019-12-19 17:07:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我已经看过几次这个问题了,我不清楚它是什么意思。 您何时以及为什么要这样做? 我知道接口的作用,但是我对此不清楚,这使我觉得我错过了正确使用它们的机会。 如果要这样做,是否只是这样: IInterface classRef = new ObjectWhatever() 您可以使用实现 IInterface 任何类吗? 您什么时候需要这样做? 我唯一能想到的是,如果您有一个方法,并且不确定要实现 IInterface 对象,则不确定该对象将被传递。 我不认为您需要多久这样做一次。 另外,您如何编写一个接受实现接口的对象的方法? 那可能吗? #1楼 接口的编程与Java或.NET中的抽象接口绝对无关。 它甚至不是OOP概念。 这意味着不要搞乱对象或数据结构的内部。 使用抽象程序接口或API与您的数据进行交互。 在Java或C#中,这意味着使用公共属性和方法而不是原始字段访问。 对于C,这意味着使用函数而不是原始指针。 编辑: 对于数据库,这意味着使用视图和存储过程,而不是直接表访问。 #2楼 C ++解释。 将接口视为类的公共方法。 然后,您可以创建一个“依赖”这些公共方法的模板,以执行其自己的功能(它使在类的公共接口中定义的函数调用)。 可以说,此模板是一个容器,例如Vector类,并且它依赖的接口是搜索算法。

Creating Highly Available clusters with kubeadm

瘦欲@ 提交于 2019-12-13 13:45:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Creating Highly Available clusters with kubeadm This page explains two different approaches to setting up a highly available Kubernetes cluster using kubeadm: With stacked control plane nodes. This approach requires less infrastructure. The etcd members and control plane nodes are co-located. With an external etcd cluster. This approach requires more infrastructure. The control plane nodes and etcd members are separated. Before proceeding, you should carefully consider which approach best meets the needs of your applications and environment. This comparison