k8s

为程序员节日献礼--2019中国.NET开发者峰会主题内容发布

时光总嘲笑我的痴心妄想 提交于 2020-03-21 13:01:04
2019年10月24日,组委会正式发布了China .NET Conf 2019中国 .NET 开发者峰会的主题内容。 2014年微软组织并成立.NET基金会,微软在成为主要的开源参与者的道路上又前进了一步。2014年以来已经有众多知名公司加入.NET基金会,Google,微软,AWS三大云厂商已经齐聚.NET基金会,在平台项目中,.NET平台上有87%贡献者其实并不在Microsoft工作。为了将.NET基金会变成一个更加多样化和成员驱动的组织,微软把.NET 的发展真正交给社区,为了让OSS真正蓬勃发展。 在中国这几年时间里我们不再局限于单打独斗的开源,我们通过协作来推动.NET开源项目和社区的发展,我们在github上成立了中国的开源组织dotnetcore,我们在全国各大城市有.NET 俱乐部定期举办活动。9月23号的2019年.Net Conf,今年它比以往任何时候规模都更大, .NET Core 3.0已经在大会上正式发布。中国区的活动也正式提上日程,好多年都没有像这样规模的社区大会,今年举办 .NET社区的中国峰会。预计1000人规模,覆盖中国 14个城市的.NET 社区及机构。 我们从开始筹备2019 中国.NET 开发者峰会已经有好一段时间,从确定主题到寻找举办地,我们都是在业余时间进行,这次完全由中国.NET社区自发组织的大会,我们希望通过这次大会汇聚中国

k8s创建资源的两种方式(5)

故事扮演 提交于 2020-03-21 06:38:14
一、创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令直接创建,比如: kubectl run httpd-app --image= reg.yunwei.edu/learn/httpd:latest --replicas=2 在命令行中通过参数指定资源的属性。 2. 通过配置文件和 kubectl apply 创建,要完成前面同样的工作,可执行命令: kubectl apply -f httpd.yml httpd.yml 的内容为: 下面对这两种方式进行比较。 基于命令的方式: 简单直观快捷,上手快。 适合临时测试或实验。 基于配置文件的方式: 配置文件描述了 What ,即应用最终要达到的状态。 配置文件提供了创建资源的模板,能够重复部署。 可以像管理代码一样管理部署。 适合正式的、跨环境的、规模化部署。 这种方式要求熟悉配置文件的语法,有一定难度。 kubectl apply 不但能够创建 Kubernetes 资源,也能对资源进行更新,非常方便。不过 Kubernets 还提供了几个类似的命令,例如 kubectl create 、 kubectl replace 、 kubectl edit 和 kubectl patch 。 为避免造成不必要的困扰,我们会尽量只使用 kubectl apply,

[k8s]helm原理&私有库搭建&monocularui和kubeapp探究

有些话、适合烂在心里 提交于 2020-03-21 05:28:40
运行最简单的charts示例 helm的2个chart例子: https://github.com/kubernetes/helm/tree/master/docs/examples/nginx helm fetch xxx # 得到tgz helm install --dry-run --debug docs/examples/nginx ## 查看模板和value组合后生成的yaml. diy yaml后再运行 构建charts私有仓库: 参考: https://github.com/rootsongjc/kubernetes-handbook/blob/a44ca7efac0b04bf130a4c39ceba3473b9c34210/practice/create-private-charts-repo.md https://jimmysong.io/posts/manage-kubernetes-native-app-with-helm/ 启动本地仓库 helm serve 添加本地仓库 仓库名 仓库地址 helm repo add monocular https://kubernetes-helm.github.io/monocular 第三方的chars库: https://feisky.gitbooks.io/kubernetes/apps/helm-app.html

当AI遇上K8S:使用Rancher安装机器学习必备工具JupyterHub

余生颓废 提交于 2020-03-20 11:23:51
3 月,跳不动了?>>> Jupyter Notebook是用于科学数据分析的利器,JupyterHub可以在服务器环境下为多个用户托管Jupyter运行环境。本文将详细介绍如何使用Rancher安装JupyterHub来为数据科学和机器学习开发创建可扩展的工作区。 本文来自 Rancher Labs 人工智能(AI)和机器学习(ML)正在成为技术领域的关键差异化因素。从本质上讲,人工智能和机器学习都是计算量巨大的工作负载,它们需要一流的分布式计算环境才能够蓬勃发展。因此,AI和ML为Kubernetes提供了一个完美的用例,他们能够最大化展现Kubernetes可以运行大量工作负载的特点。 什么是JupyterHub? Jupyter Notebook是用于科学数据分析的利器,JupyterHub可以在服务器环境下为多个用户托管Jupyter运行环境。JupyterHub是一个多用户数据探索工具,通常是数据科学和机器学习研究与开发的关键工具。它为工程师、科学家、研究人员和学生提供了云或数据中心的计算能力,同时仍然像本地开发环境一样易于使用。本质上,JupyterHub使用户可以访问计算环境和资源,而不会给他们增加安装和维护任务的负担。用户可以在工作区中使用共享资源,系统管理员会对其进行有效管理。 在AI/ML工作负载中使用Kubernetes

构建企业级镜像仓库

 ̄綄美尐妖づ 提交于 2020-03-20 07:35:10
构建企业级镜像仓库 Harbor是由VMware公司开源的镜像仓库,harbor是在docker Registry上进行了企业级扩展,从而获得了更广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制,AD/LDAP继承以及审计日志的功能,足以满足企业需求. 官方地址: https://vmware.github.io/barbor/cn/ 安装harbor wget https://www.chenleilei.net/soft/k8s/harbor-offline-installer-v1.9.3.tgz tar xf harbor-offline-installer-v1.9.3.tgz cd harbor vi harbor.yml 修改hostname为本机IP地址 #hostname: reg.mydomain.com hostname: 10.0.0.64 修改完毕后保存. 准备harbor仓库: [root@master1 harbor]# ./prepare #注意安装harbor需要依赖两个环境 一个是docker 一个是docker compose docker已经安装完毕.现在安装docker compose 同时你直接安装也会提醒你 没有安装docke-compose: Note: docker version: 19.03.7 ✖ Need

k8s相关

旧时模样 提交于 2020-03-20 06:11:59
卸载kubernetes-dashboard kubectl get secret,sa,role,rolebinding,services,deployments --namespace=kube-system | grep dashboard sudo kubectl delete deployment kubernetes-dashboard --namespace=kube-system sudo kubectl delete service kubernetes-dashboard --namespace=kube-system sudo kubectl delete role kubernetes-dashboard-minimal --namespace=kube-system sudo kubectl delete rolebinding kubernetes-dashboard-minimal --namespace=kube-system sudo kubectl delete sa kubernetes-dashboard --namespace=kube-system sudo kubectl delete secret kubernetes-dashboard-certs --namespace=kube-system sudo kubectl

从零开始入门 K8s | K8s 安全之访问控制

随声附和 提交于 2020-03-20 02:48:32
作者 | 匡大虎 阿里巴巴技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 27 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 导读: 访问控制是云原生安全的一个重要组成部分,也是 K8s 集群在多租环境下必要且基本的安全加固手段。在 K8s 体系中,访问控制又分为三个重要的组成部分,请求认证,鉴权和运行时刻的 admission 准入控制。在本文中,作者将带领大家了解这 3 部分的基本定义和使用方法,并给出多租环境下安全加固的相关最佳实践。 一、Kubernetes API 请求访问控制 访问控制 大家都知道访问控制是云原生安全中的一个重要组成部分。也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全防护手段。 那么在概念上可以抽象的定义为谁在何种条件下可以对什么资源做什么操作。这里的资源就是在 Kubernetes 中我们熟知的:Pod、 ConfigMaps、Deployment、Secrets 等等这样的资源模型。 Kubernetes API 请求 由上图来介绍一下 Kubernetes API 的请求从发起到其持久化入库的一个流程。 首先看一下请求的发起,请求的发起分为两个部分: 第一个部分是人机交互的过程。 是大家非常熟悉的用

从零开始入门 K8s | K8s 安全之访问控制

最后都变了- 提交于 2020-03-20 02:29:28
作者 | 匡大虎 阿里巴巴技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 27 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 导读: 访问控制是云原生安全的一个重要组成部分,也是 K8s 集群在多租环境下必要且基本的安全加固手段。在 K8s 体系中,访问控制又分为三个重要的组成部分,请求认证,鉴权和运行时刻的 admission 准入控制。在本文中,作者将带领大家了解这 3 部分的基本定义和使用方法,并给出多租环境下安全加固的相关最佳实践。 一、Kubernetes API 请求访问控制 访问控制 大家都知道访问控制是云原生安全中的一个重要组成部分。也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全防护手段。 那么在概念上可以抽象的定义为谁在何种条件下可以对什么资源做什么操作。这里的资源就是在 Kubernetes 中我们熟知的:Pod、 ConfigMaps、Deployment、Secrets 等等这样的资源模型。 Kubernetes API 请求 由上图来介绍一下 Kubernetes API 的请求从发起到其持久化入库的一个流程。 首先看一下请求的发起,请求的发起分为两个部分: 第一个部分是人机交互的过程。 是大家非常熟悉的用

K8S实践Ⅸ(集群监控)

陌路散爱 提交于 2020-03-18 13:52:03
一、PrometheusOperator介绍 PrometheusOperator是CoreOS开源的一套用于管理在Kubernetes集群上的Prometheus的控制器,简化在Kubernetes上部署、管理和运行Prometheus和Alertmanager集群的操作。 二、部署 1.从官方下载部署文件 # git clone https://github.com/coreos/kube-prometheus.git 2.更改镜像仓库地址 # mkdir prometheus # cp kube-prometheus/manifests/* prometheus/ # sed -i 's#k8s.gcr.io#gcr.azk8s.cn/google_containers#g' prometheus/* # sed -i 's#quay.io#quay.azk8s.cn#g' prometheus/* # cat prometheus/* | grep image 3.部署所有资源 # kubectl apply -f prometheus/ 4.查看创建的ns和crd # kubectl get ns |grep monitoring monitoring Active 3m30s # kubectl get crd NAME CREATED AT alertmanagers

rke高可用部署K8S集群及rancher server 高可用

不羁的心 提交于 2020-03-18 13:51:27
环境说明: # 工作系统: win 10 on linux # 操作系统:centos7 # docker版本:19.03.5 # rancher版本: latest # rke 版本: v1.0.4 # K8S master 节点IP:192.168.2.175,192.168.2.176,192.168.2.177 # K8S worker节点IP: 192.168.2.175,192.168.2.176,192.168.2.177,192.168.2.185,192.168.2.187 # K8S etcd 节点IP:192.168.2.175,192.168.2.176,192.168.2.177 # helm 版本:v3.0.2 部署准备: # 操作在所有节点进行 # 修改内核参数: 关闭swap vim /etc/sysctl.conf vm.swappiness=0 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 sysctl -p 临时生效 swapoff -a && sysctl -w vm.swappiness=0 # 修改 fstab 不在挂载 swap vi /etc/fstab # /dev