场景:
公司业务在一个新的云平台上线,该云平台使用的是比较传统的VMware vSphere来做的虚拟化,而且该云平台网络也是我们不清楚的,反正就是不能设置(不能像现在主流云平台自定义网络或者是地址段),是一个政府的云平台,具体各种奇葩的限制就不说啦,你懂的……
k8s部署ingress
k8s部署Weave Scope
k8s部署coredns
k8s集群中的应用通常是通过ingress实现微服务发布的,前文介绍过在K8S集群中使用traefik实现服务的自动发布,其实现方式是traefik通过集群的DNS服务来解析service对应的集群地址(clusterip),从而将用户的访问请求转发到集群地址上。因此,在部署完集群后的第一件事情应该是配置DNS服务,目前可选的方案有skydns, kube-dns, coredns。
kubedns是Kubernetes中的一个内置插件,目前作为一个独立的开源项目维护,见https://github.com/kubernetes/dns。该DNS服务器利用SkyDNS的库来为Kubernetes pod和服务提供DNS请求。CoreDNS项目是SkyDNS2的作者,Miek Gieben采用更模块化,可扩展的框架构建,将此DNS服务器作为KubeDNS的替代品。CoreDNS作为CNCF中的托管的一个项目,在Kuberentes1.9版本中,使用kubeadm方式安装的集群可以通过以下命令直接安装CoreDNS。kubeadm init –feature-gates=CoreDNS=true
准备工作
准备coredns的yaml文件
k8s部署mysql
后端存储利用nfs来进行存储数据,nfs安装不阐述,需要注意注意的是在创建mysql 的共享目录的时候参数设定/data/mysql *(rw,sync,no_root_squash,no_subtree_check)
1 | $ sudo systemctl restart nfs.service |
1、创建mysql存储
1 | # cat mysql-pvc.yaml |
k8s角色访问RBAC
1、rbac介绍
Kubernetes中的两个用于配置信息的重要资源对象:ConfigMap和Secret,其实到这里我们基本上学习的内容已经覆盖到Kubernetes中一些重要的资源对象了,来部署一个应用程序是完全没有问题的了。在我们演示一个完整的示例之前,我们还需要给大家讲解一个重要的概念:RBAC - 基于角色的访问控制。
RBAC使用rbac.authorization.k8s.io API Group 来实现授权决策,允许管理员通过 Kubernetes API 动态配置策略,要启用RBAC,需要在 apiserver 中添加参数–authorization-mode=RBAC,如果使用的kubeadm安装的集群,1.6 版本以上的都默认开启了RBAC,可以通过查看 Master 节点上 apiserver 的静态Pod定义文件:
2、 kubernetes 关于空间权限赋予
1、获取并查看
- Role
- ClusterRole
- RoleBinding
- ClusterRoleBinding
k8s heapster
1、heapster 介绍
Heapster是容器集群监控和性能分析工具,支持Kubernetes和CoreOS。
Kubernetes有个监控agent—cAdvisor。在每个kubernetes Node上都会运行cAdvisor,它会收集本机以及容器的监控数据(cpu,memory,filesystem,network,uptime)。在较新的版本中,K8S已经将cAdvisor功能集成到kubelet组件中。每个Node节点可以直接进行web访问。
2、heapster 安装
下载heapster的yaml文件,下载完成后我们需要对文件修改,以满足我们的的需求.
2.1、grafana修改
grafana添加nodePort: 30003让grafana支持外部访问,我们可以通过这个端口进行但单独的页面配置。
k8s部署eureka集群
eureka 不阐述介绍,这里直接开始在kubernetes下部署eureka集群
1、配置文件的增加
eureka 只一个有状态的服务,部署有状态服务我们可以使用StatefulSet
1.1、增加dockerfile
1 | $ cat Dockerfile |
jira接入LDAP
场景:
之前介绍了jira 和confluence的账户结合,jira和confluence可以使用一个账户,有人员离职之后直接在jira吧用户禁用即可,一端操作,方便两端,但是随着公司人员越来越多,这样的方式已经不在适合这种了,来一个用户就需要去创建,对运维来说,这是重复的工作,提升不了任何效率,而且枯草无味。这里我们就可以使用ldap,jira和confluence都是支持ldap,ldap的好处,这里不阐述,下面来看看如何配置jira介入ldap。confluence还是接入jira,这样我们就只操作ladp和jira,简单省事。
问题点:
由于在建立jira和confluence的时候还没有ldap,ldap是后期才接入的,所以这里就存在于怎么吧以前有jira登录的账户认证切换到ldap。而且不影响之前的文档,但是用户权限会影响,问题不大,可以添加。下面开始操作