设为首页 收藏本站
查看: 653|回复: 0

[经验分享] Centos7 安装 Kubernetes dashboard (安装篇)

[复制链接]

尚未签到

发表于 2018-9-15 11:34:33 | 显示全部楼层 |阅读模式
  ————安装dashboard————
  http://docs.minunix.com/docker/kubernetes-dashboard.yaml 下载
  http://www.iyunv.net/article/94343.htm  案例
  删除原有pod
  [root@k8s_master dockerconfig]# kubectl get pods –all-namespaces  确认pod名字
  NAMESPACE     NAME                          READY       STATUS              RESTARTS   AGE
  kube-system   kubernetes-dashboard-latest-3447225518-f39cr            0/1       ContainerCreating             0        9h
  [root@k8s_master dockerconfig]# kubectl delete pod kubernetes-dashboard-latest-3447225518-f39cr –namespace=kube-system
  pod "kubernetes-dashboard-latest-3447225518-f39cr" deleted
  curl -o kubernetes-dashboard.yaml http://docs.minunix.com/docker/kubernetes-dashboard.yaml
  镜像先用 docker search kubernetes-dashboard 进行搜索,确认版本后
  docker pull xxxx
  docker images  查看需要的,再写入配置文件
  下载后修改
  – –apiserver-host=http://192.168.98.18:8080  ## 请修改为自己的kebu-apiserver
  Image: docker.io/rainf/kubernetes-dashboard-amd64
  [root@master dockerconfig]# kubectl create -f kubernetes-dashboard.yaml
  deployment "kubernetes-dashboard" created
  service "kubernetes-dashboard" created
  [
  root@master dockerconfig]# kubectl get service
  NAME                   CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
  kubernetes              192.168.142.1            443/TCP        14h
  nginx-service           192.168.142.65           80:30001/TCP      1h
  [root@master dockerconfig]# kubectl get pods –namespace=kube-system
  NAME                          READY          STATUS             RESTARTS                         AGE
  kubernetes-dashboard-334721719-k4dn9          1/1           Running–运行中             0                  42s
  kubernetes-dashboard-latest-3447225518-gk7br      0/1           ImagePullBackOff           0                  17m
  删除,有需要可以执行
  [root@master dockerconfig]#kubectl delete -f kubernetes-dashboard.yaml
  查看dashboard信息
  [root@master dockerconfig]# kubectl describe pods kubernetes-dashboard-334721719-k4dn9  –namespace=kube-system
  查看PODS详细信息的命令
  Name:        kubernetes-dashboard-334721719-k4dn9
  Namespace:    kube-system
  Node:        192.168.142.138/192.168.142.138
  Start Time:    Thu, 18 Jan 2018 21:16:01 -0500
  Labels:        app=kubernetes-dashboard
  pod-template-hash=334721719
  Status:        Running
  IP:        172.17.13.3
  Controllers:    ReplicaSet/kubernetes-dashboard-334721719
  Containers:
  kubernetes-dashboard:

  Container>  Image:        daocloud.io/minunix/kubernetes-dashboard-amd64:v1.1.1

  Image>  Port:        9090/TCP
  Args:
  –apiserver-host=http://192.168.142.128:8080
  State:            Running
  Started:            Thu, 18 Jan 2018 21:16:12 -0500
  Ready:            True
  Restart Count:        0
  Liveness:            http-get http://:9090/ delay=30s timeout=30s period=10s #success=1 #failure=3
  Volume Mounts:        
  Environment Variables:   
  Conditions:
  Type        Status
  Initialized     True
  Ready     True
  PodScheduled     True
  No volumes.

  QoS>  Tolerations:   
  Events:
  FirstSeen    LastSeen    Count    From                SubObjectPath                Type        Reason            Message
  ———    ——–    —–    —-                ————-                ——–    ——            ——-
  2m        2m        1    {default-scheduler }                            Normal        Scheduled        Successfully assigned kubernetes-dashboard-334721719-k4dn9 to 192.168.142.138
  2m        2m        1    {kubelet 192.168.142.138}    spec.containers{kubernetes-dashboard}    Normal        Pulling            pulling image "daocloud.io/minunix/kubernetes-dashboard-amd64:v1.1.1"
  2m        2m        2    {kubelet 192.168.142.138}                        Warning        MissingClusterDNS    kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Falling back to DNSDefault policy.
  2m        2m        1    {kubelet 192.168.142.138}    spec.containers{kubernetes-dashboard}    Normal        Pulled            Successfully pulled image "daocloud.io/minunix/kubernetes-dashboard-amd64:v1.1.1"

  2m        2m        1    {kubelet 192.168.142.138}    spec.containers{kubernetes-dashboard}    Normal        Created            Created container with docker>
  2m        2m        1    {kubelet 192.168.142.138}    spec.containers{kubernetes-dashboard}    Normal        Started            Started container with docker>  [root@master dockerconfig]#
  在node1上查看docker信息
  [root@k8s_node1 ~]# docker ps -a

  CONTAINER>  e376142b498b        daocloud.io/minunix/kubernetes-dashboard-amd64:v1.1.1        "/dashboard –port=90"   4 minutes ago       Up 4 minutes                            k8s_kubernetes-dashboard.b582b075_kubernetes-dashboard-334721719-k4dn9_kube-system_b1c339df-fcbe-11e7-a898-000c29027e38_040bd918
  217259971f68        registry.access.redhat.com/rhel7/pod-infrastructure:latest   "/usr/bin/pod"           4 minutes ago       Up 4 minutes                            k8s_POD.28c50bab_kubernetes-dashboard-334721719-k4dn9_kube-system_b1c339df-fcbe-11e7-a898-000c29027e38_71496fa5
  4773c9fc3ead        registry.access.redhat.com/rhel7/pod-infrastructure:latest   "/usr/bin/pod"           21 minutes ago      Up 21 minutes                           k8s_POD.28c50bab_kubernetes-dashboard-latest-3447225518-gk7br_kube-system_60816c6e-fcbc-11e7-a898-000c29027e38_94bd5ef7
  [root@k8s_node1 ~]#
  查看对外端口
  [root@master dockerconfig]# kubectl get service –namespace=kube-system
  NAME                   CLUSTER-IP        EXTERNAL-IP   PORT(S)        AGE
  kubernetes-dashboard   192.168.142.252   –在node       80:30949/TCP   10m
  [root@master dockerconfig]#
  通过页面访问
  http://192.168.142.138:30949/#/pod/default/nginx-pod  直接访问node1的地址
  http://192.168.142.128:8080/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard/#/workload  通过master访问
  ———-使用dashboard进行APP部署————
  新建  appname(helloworld)—image(nginx)—-extend—port(80)–targetport(80) –确定
  [root@master dockerconfig]# kubectl get service –namespace=kube-system  ——-查看对外端口
  NAME                   CLUSTER-IP        EXTERNAL-IP   PORT(S)        AGE
  helloworld             192.168.142.153        80:31675—端口/TCP   5m
  kubernetes-dashboard   192.168.142.252          80:30949/TCP   1h
  [root@master dockerconfig]#
  测试一下
  [root@master dockerconfig]# curl k8s_node1:31675
  
  
  
  Welcome to nginx!
        ——-成功
  [root@master dockerconfig]#
  ————进行mysql部署————
  前面是一样
  [root@master dockerconfig]# kubectl describe pods –namespace=database
  Name:        mysqltest-7ctnt
  Namespace:    database
  Node:        192.168.142.128/192.168.142.128
  Start Time:    Thu, 18 Jan 2018 23:14:19 -0500
  Labels:        app=mysqltest
  Status:        Pending
  IP:
  Controllers:    ReplicationController/mysqltest
  Containers:
  mysqltest:

  Container>  Image:            mysql

  Image>  Port:
  State:            Waiting
  Reason:            ContainerCreating
  Ready:            False
  Restart Count:        0
  Volume Mounts:        
  Environment Variables:   
  Conditions:
  Type        Status
  Initialized     True
  Ready     False
  PodScheduled     True
  No volumes.

  QoS>  Tolerations:   
  Events:
  FirstSeen    LastSeen    Count    From                SubObjectPath            Type        Reason            Message
  ———    ——–    —–    —-                ————-            ——–    ——            ——-
  2m        2m        1    {default-scheduler }                        Normal        Scheduled        Successfully assigned mysqltest-7ctnt to 192.168.142.128
  2m        2m        1    {kubelet 192.168.142.128}                    Warning        MissingClusterDNS    kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Falling back to DNSDefault policy.
  2m        2m        1    {kubelet 192.168.142.128}    spec.containers{mysqltest}    Normal        Pulling            pulling image "mysql"
  [root@master dockerconfig]# kubectl get pods –namespace=database
  [root@master ~]# kubectl describe pods –namespace=database
  Name:        mysqltest-7ctnt
  Namespace:    database
  Node:        192.168.142.128/192.168.142.128
  Start Time:    Thu, 18 Jan 2018 23:14:19 -0500
  Labels:        app=mysqltest
  Status:        Running
  IP:        172.17.72.3
  Controllers:    ReplicationController/mysqltest
  Containers:
  mysqltest:

  Container>  Image:            mysql

  Image>  Port:
  State:            Waiting
  Reason:            CrashLoopBackOff
  Last State:            Terminated
  Reason:            Error
  Exit Code:        1
  Started:            Thu, 18 Jan 2018 23:38:33 -0500
  Finished:            Thu, 18 Jan 2018 23:38:35 -0500
  Ready:            False
  Restart Count:        8
  Volume Mounts:        
  Environment Variables:   
  Conditions:
  Type        Status
  Initialized     True
  Ready     False
  PodScheduled     True
  No volumes.

  QoS>  Tolerations:   
  Events:
  FirstSeen    LastSeen    Count    From                SubObjectPath            Type        Reason        Message
  ———    ——–    —–    —-                ————-            ——–    ——        ——-
  26m        26m        1    {default-scheduler }                        Normal        Scheduled    Successfully assigned mysqltest-7ctnt to 192.168.142.128

  19m        19m        1    {kubelet 192.168.142.128}    spec.containers{mysqltest}    Normal        Created        Created container with docker>
  19m        19m        1    {kubelet 192.168.142.128}    spec.containers{mysqltest}    Normal        Started        Started container with docker>
  19m        19m        1    {kubelet 192.168.142.128}    spec.containers{mysqltest}    Normal        Created        Created container with docker>
  19m        19m        1    {kubelet 192.168.142.128}    spec.containers{mysqltest}    Normal        Started        Started container with docker>  19m        19m        2    {kubelet 192.168.142.128}                    Warning        FailedSync    Error syncing pod, skipping: failed to "StartContainer" for "mysqltest" with CrashLoopBackOff: "Back-off 10s restarting failed container=mysqltest pod=mysqltest-7ctnt_database(385572de-fccf-11e7-a898-000c29027e38)"
  这个错误基本上是 环境变量的问题在kubernetes dashboard上增加环境变为
  mysqltest1
  Image:
  mysql
  Environment variables:
  MYSQL_ROOT_PASSWORD: 123456    —加这个就好了
  ———-wordpress部署测试———–
  wordpresstest
  Image:
  wordpress
  Environment variables:
  WORDPRESS_DB_HOST: 192.168.142.138:32052
  WORDPRESS_DB_USER: root
  WORDPRESS_DB_PASSWORD: 123456
  WORDPRESS_DB_NAME: wordpress
  kubernetes 展示的信息
  Details
  Name:
  wordpresstest
  Namespace:
  database
  Label selector:
  app: wordpresstest
  Labels:
  app: wordpresstest
  Images:
  wordpress
  Status
  Pods:
  1 running
  Services
  Name
  Labels
  Cluster IP
  Internal endpoints
  External endpoints
  timelapse
  wordpresstest
  app: wordpresstest
  192.168.142.168
  wordpresstest.database:80 TCP   —–内部端口
  wordpresstest.database:32566 TCP——对外端口
  –
  more_vert
  Pods
  Name
  Status
  Restarts
  Age
  Cluster IP
  CPU (cores)
  Memory (bytes)
  check_circle
  wordpresstest-c7d70
  Running
  0
  55 minutes
  172.17.72.9
  –
  测试一下
  [root@master ~]# curl http://192.168.142.138:32566/ |less
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
  Dload  Upload   Total   Spent    Left  Speed
  100 53462    0 53462    0     0   321k      0 –:–:– –:–:– –:–:–  322k
  正常
  ———-DOCKER加速器测试————-
  http://guide.daocloud.io/dcs/docker-9153151.html 测试一下
  curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://b2ae5821.m.daocloud.io
  运行后重启docker报错
  [root@k8s_node1 ~]#  systemctl status docker
  ● docker.service – Docker Application Container Engine
  Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/docker.service.d
  └─flannel.conf
  Active: failed (Result: exit-code) since Thu 2018-01-18 23:25:07 EST; 32s ago
  Docs: http://docs.docker.com
  Process: 46222 ExecStart=/usr/bin/dockerd-current –add-runtime docker-runc=/usr/libexec/docker/docker-runc-current –default-runtime=docker-runc –exec-opt native.cgroupdriver=systemd –userland-proxy-path=/usr/libexec/docker/docker-proxy-current $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY $REGISTRIES (code=exited, status=1/FAILURE)
  Main PID: 46222 (code=exited, status=1/FAILURE)
  Jan 18 23:25:07 k8s_node1 systemd[1]: Starting Docker Application Container Engine…
  Jan 18 23:25:07 k8s_node1 dockerd-current[46222]: time="2018-01-18T23:25:07-05:00" level=fatal msg="unable to configure the Docker daemon with file /etc/…string\n"
  Jan 18 23:25:07 k8s_node1 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
  Jan 18 23:25:07 k8s_node1 systemd[1]: Failed to start Docker Application Container Engine.
  Jan 18 23:25:07 k8s_node1 systemd[1]: Unit docker.service entered failed state.
  Jan 18 23:25:07 k8s_node1 systemd[1]: docker.service failed.
  Hint: Some lines were ellipsized, use -l to show in full.
  原因是脚本修改 vim /etc/docker/daemon.json 有问题需要手动修改
  ——–daemon.json修改如下——-
  {"registry-mirrors": ["http://b2ae5821.m.daocloud.io"], "insecure-registries": []
  }
  ———daemon.jason修改完成————
  查状态正常
  [root@k8s_node1 ~]#  systemctl status docker
  ● docker.service – Docker Application Container Engine
  Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/docker.service.d
  └─flannel.conf
  Active: active (running) since Thu 2018-01-18 23:28:38 EST; 1min 43s ago
  Docs: http://docs.docker.com
  Main PID: 48542 (dockerd-current)
  ———–查看pod在哪个node上——–
  [root@k8s_master ~]# kubectl get pods -o wide  –namespace=database
  NAME                          READY     STATUS    RESTARTS   AGE       IP            NODE—-就是这个你懂的
  httpdtest-1nv30               1/1       Running   3          23h       172.17.72.5   192.168.142.128
  mysqltest1-w7fjr              1/1       Running   3          23h       172.17.72.3   192.168.142.128
  nginxtest2-3247366770-2kqlc   1/1       Running   0          13h       172.17.13.5   192.168.142.138
  nginxtest2-3247366770-5jfrv   1/1       Running   0          13h       172.17.13.4   192.168.142.138
  nginxtest2-3247366770-6bs0t   1/1       Running   0          13h       172.17.13.6   192.168.142.138
  redisteset-5b993              1/1       Running   1          14h       172.17.13.2   192.168.142.138
  wordpresstest-c7d70           1/1       Running   3          22h       172.17.72.2   192.168.142.128
  [root@k8s_master ~]#
  [root@k8s_master ~]# kubectl get -h   ——-其它的问它
  ——–进行拉取测试————
  速度叼爆了
  [root@k8s_node1 ~]# docker pull wordpress
  Using default tag: latest
  Trying to pull repository docker.io/library/wordpress …
  latest: Pulling from docker.io/library/wordpress
  75651f247827: Pull complete
  dbcf8fd0150f: Pull complete
  de80263f26f0: Pull complete
  65be8ad4c5fd: Pull complete
  239d5fed0dda: Pull complete
  5ab39b683a9f: Pull complete
  4a3f54f2d93a: Pull complete
  28c970ad99e9: Pull complete
  5d1e20c7c396: Pull complete
  05f877a23903: Pull complete
  e0a5c61bdaa6: Pull complete
  d27d2d70a072: Pull complete
  ba039fef4b7e: Pull complete
  fd026e22f5c3: Pull complete
  a523c6d55ab4: Pull complete
  025590874132: Pull complete
  2d4bd5336aa0: Pull complete
  c014b4d902ee: Pull complete
  Digest: sha256:73d85a7ae83ea7240090c3a52dbf176d610df2480c75c9e7fed8dba7e3d5154e
  wget  https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml
  kubectl create -f kubernetes-dashboard.yaml
  kubectl delete -f kubernetes-dashboard.yaml
  kubectl create -f kubernetes-dashboard.yaml
  kubectl get namespace


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-583357-1-1.html 上篇帖子: kubernetes 容器介绍与安装(一) 下篇帖子: 管理Kubernetes集群时需要关注的关键指标
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表