一、configMap资源
configMap资源 1.为什么要用configMap?将配置文件和POD解耦2.congiMap里的配置文件是如何存储的?键值对key:value文件名:配置文件的内容3.configMap支持的配置类型 直接定义的键值对 基于文件创建的键值对4.configMap创建方式 命令行 资源配置清单 5.configMap的配置文件如何传递到POD里 变量传递 数据卷挂载6.命令行创建configMapkubectl create configmap --helpkubectl create configmap nginx-config --from-literal=nginx_port=80 --from-literal=server_name=nginx.cookzhang.comkubectl get cmkubectl describe cm nginx-config 7.POD环境变量形式引用configMapkubectl explain pod.spec.containers.env.valueFrom.configMapKeyRefcat >nginx-cm.yaml <www.conf <nginx-cm-volume.yaml <nginx-configMap.yaml <nginx-cm-volume-all.yaml <
二、安全认证和RBACAPI
Server是访问控制的唯一入口在k8s平台上的操作对象都要经历三种安全相关的操作1.认证操作 http协议 token 认证令牌 ssl认证 kubectl需要证书双向认证2.授权检查 RBAC 基于角色的访问控制 3.准入控制 进一步补充授权机制,一般在创建,删除,代理操作时作补充k8s的api账户分为2类 1.实实在在的用户 人类用户 userAccount 2.POD客户端 serviceAccount 默认每个POD都有认真信息RBAC就要角色的访问控制 你这个账号可以拥有什么权限 以traefik举例:1.创建了账号 ServiceAccount:traefik-ingress-controller2.创建角色 ClusterRole: traefik-ingress-controller Role POD相关的权限 ClusterRole namespace级别操作 3.将账户和权限角色进行绑定 traefik-ingress-controller RoleBinding ClusterRoleBinding4.创建POD时引用ServiceAccount serviceAccountName: traefik-ingress-controller注意!!!kubeadm安装的k8s集群,证书默认只有1年
三、dashboard创建
k8s 1.官方项目地址https://github.com/kubernetes/dashboard2.下载配置文件wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml3.修改配置文件 39 spec: 40 type: NodePort 41 ports: 42 - port: 443 43 targetPort: 8443 44 nodePort: 300004.应用资源配置kubectl create -f recommended.yaml5.创建管理员账户并应用https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.mdcat > dashboard-admin.yaml<