码迷,mamicode.com
首页 > Web开发 > 详细

Kubernetes1.12版本Dashboard和coredns安装

时间:2018-12-20 14:29:27      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:server   abi   text   ica   端口   oca   使用   lin   false   

一.部署Web UI(Dashboard)
1.解压包,进入目录
包就在之前的master部署组件里
这里里面kubernetes-server-linux-amd64.tar.gz
技术分享图片

技术分享图片

2.执行yaml文件
技术分享图片

查看启动的pod,没在默认命名空间,在kube-system下
技术分享图片

注:
其中dashboard-controller.yaml这个里面的dashboard镜像是国外的,如果慢,可以换成国内的镜像地址 image: registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.0
技术分享图片

3.创建Dashboard服务
技术分享图片
技术分享图片
技术分享图片

4.查看启动的Dashboard服务
技术分享图片

外网访问的是端口是44721
技术分享图片

5.设置登陆令牌,访问web界面
创建用户访问,绑定集群管理员,使用它产生的密钥
技术分享图片

创建账户产生的token
技术分享图片

查看token
技术分享图片

复制token到页面上即可
技术分享图片
技术分享图片

二.coredns的安装
安装coredns的yaml文档可以在kubernetes的github上找到https://github.com/kubernetes/kubernetes/edit/master/cluster/addons/dns/coredns/coredns.yaml.sed

[root@master ~]# vim coredns.yaml

 # Warning: This is a file generated from the base underscore template file: coredns.yaml.base

apiVersion: v1
kind: ServiceAccount
metadata:
name: coredns
namespace: kube-system
labels:
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
kubernetes.io/bootstrapping: rbac-defaults
addonmanager.kubernetes.io/mode: Reconcile
name: system:coredns
rules:

  • apiGroups:
    • ""
      resources:
    • endpoints
    • services
    • pods
    • namespaces
      verbs:
    • list
    • watch
  • apiGroups:
    • ""
      resources:
    • nodes
      verbs:
    • get

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
      annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
      labels:
      kubernetes.io/bootstrapping: rbac-defaults
      addonmanager.kubernetes.io/mode: EnsureExists
      name: system:coredns
      roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: system:coredns
      subjects:

  • kind: ServiceAccount
    name: coredns
    namespace: kube-system

    apiVersion: v1
    kind: ConfigMap
    metadata:
    name: coredns
    namespace: kube-system
    labels:
    addonmanager.kubernetes.io/mode: EnsureExists
    data:
    Corefile: |
    .:53 {
    errors
    health
    kubernetes cluster.local in-addr.arpa ip6.arpa {
    pods insecure
    upstream
    fallthrough in-addr.arpa ip6.arpa
    }
    prometheus :9153
    proxy . /etc/resolv.conf
    cache 30
    loop
    reload
    loadbalance
    }

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
    name: coredns
    namespace: kube-system
    labels:
    k8s-app: kube-dns
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
    kubernetes.io/name: "CoreDNS"
    spec:

    replicas: not specified here:

     # 1. In order to make Addon Manager do not reconcile this replicas parameter.
        # 2. Default is 1.
             # 3. Will be tuned in real time if DNS horizontal auto-scaling is turned on.

    strategy:
    type: RollingUpdate
    rollingUpdate:
    maxUnavailable: 1
    selector:
    matchLabels:
    k8s-app: kube-dns
    template:
    metadata:
    labels:
    k8s-app: kube-dns
    annotations:
    seccomp.security.alpha.kubernetes.io/pod: ‘docker/default‘
    spec:
    serviceAccountName: coredns
    tolerations:

    • key: "CriticalAddonsOnly"
      operator: "Exists"
      containers:
      • name: coredns
        image: coredns/coredns:1.2.6
        imagePullPolicy: IfNotPresent
        resources:
        limits:
        memory: 170Mi
        requests:
        cpu: 100m
        memory: 70Mi
        args: [ "-conf", "/etc/coredns/Corefile" ]
        volumeMounts:
    • name: config-volume
      mountPath: /etc/coredns
      readOnly: true
      ports:
    • containerPort: 53
      name: dns
      protocol: UDP
    • containerPort: 53
      name: dns-tcp
      protocol: TCP
    • containerPort: 9153
      name: metrics
      protocol: TCP
      livenessProbe:
      httpGet:
      path: /health
      port: 8080
      scheme: HTTP
      initialDelaySeconds: 60
      timeoutSeconds: 5
      successThreshold: 1
      failureThreshold: 5
      securityContext:
      allowPrivilegeEscalation: false
      capabilities:
      add:
      • NET_BIND_SERVICE
        drop:
      • all
        readOnlyRootFilesystem: true
        dnsPolicy: Default
        volumes:
    • name: config-volume
      configMap:
      name: coredns
      items:
      • key: Corefile
        path: Corefile

        apiVersion: v1
        kind: Service
        metadata:
        name: kube-dns
        namespace: kube-system
        annotations:
        prometheus.io/port: "9153"
        prometheus.io/scrape: "true"
        labels:
        k8s-app: kube-dns
        kubernetes.io/cluster-service: "true"
        addonmanager.kubernetes.io/mode: Reconcile
        kubernetes.io/name: "CoreDNS"
        spec:
        selector:
        k8s-app: kube-dns
        clusterIP: 10.0.0.2
        ports:

        • name: dns
          port: 53
          protocol: UDP
        • name: dns-tcp
          port: 53
          protocol: TCP

1.部署coredns
技术分享图片

2.查看部署dns结果
[root@master ~]# kubectl get pods -n kube-system
技术分享图片

3.测试可以解析到集群里的服务
技术分享图片

Kubernetes1.12版本Dashboard和coredns安装

标签:server   abi   text   ica   端口   oca   使用   lin   false   

原文地址:http://blog.51cto.com/anfishr/2333300

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!