Kubernetes 1.13 完全入门 (4) Controller -- Deployment and rollout

Submitted by Lizhe on Mon, 01/07/2019 - 18:07

Deployment同样为Kubernetes的一个核心内容,主要职责同样是为了保证pod的数量和健康,90%的功能与Replication Controller完全一样,可以看做新一代的Replication Controller。但是,它又具备了Replication Controller之外的新特性:

  • Replication Controller全部功能:Deployment继承了上面描述的Replication Controller全部功能。

  • 事件和状态查看:可以查看Deployment的升级详细进度和状态。

  • 回滚:当升级pod镜像或者相关参数的时候发现问题,可以使用回滚操作回滚到上一个稳定的版本或者指定的版本。

  • 版本记录: 每一次对Deployment的操作,都能保存下来,给予后续可能的回滚使用。

Kubernetes 1.13 完全入门 (3) Controller -- Hroizontal Pod Autoscaler and Rolling update

Submitted by Lizhe on Mon, 01/07/2019 - 10:54

 

Kubernetes 通过Controller来管理Pod.

Controller中定义了Pod的部署特性, 例如有几个副本,在什么样的Node上运行等.

1. ReplicaSet

2. Deployment

3. DaemonSet

4. StatefuleSet

5. Job

下面的内容里我们先使用ReplicaSet来演示如何使用Hroizontal Pod Autoscaler 和 Rolling update

在下一个例子里我们再尝试使用Deployment

Kubernetes 1.13 完全入门 (2) Dashboard 的安装使用

Submitted by Lizhe on Fri, 01/04/2019 - 14:26

 

 


 

安装:

1. 编辑kubernetes-dashboard.yaml

kubernetes-dashboard.yaml

 

 


 

# Copyright 2017 The Kubernetes Authors.

#

# Licensed under the Apache License, Version 2.0 (the "License");

# you may not use this file except in compliance with the License.

# You may obtain a copy of the License at

#

#     http://www.apache.org/licenses/LICENSE-2.0

Kubernetes 1.13 完全入门 (1) 安装

Submitted by Lizhe on Thu, 01/03/2019 - 10:24

 

主要提示: 在开始安装之前, 你需要科学上网, 否则会出现各种各样奇怪的问题, 不能科学上网我建议出门左转

之前尝试了1.5版本之后最近又尝试了一下1.13的最新版, 实际上我并没有觉得kubeadm有多好用, 反而是给自己找了不少麻烦

内容主要参考 https://www.kubernetes.org.cn/4956.html

另外我会额外记录安装过程中的心得和遇到的问题

这里我使用了3台vagrant虚拟机, 安装了 7.4 版本的centos , 之前一直是使用7.1版本, 不过7.1版本缺少一些ipvs模块, 这里建议直接使用更高一点的版本, 7.3(含) 以上版本应该都可以

Kubernetes (6) Cluster IP

Submitted by Lizhe on Fri, 12/28/2018 - 12:09

之前的例子里我们试了 nodeport , 但是这种用法局限性太大了, 以下内容里让我们试试clusterip

首先我本机上的 services 是这样的

kubectl get service -o wide

[root@localhost ~]# kubectl get service -o wide

NAME                    CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE       SELECTOR

kubernetes              10.254.0.1       <none>        443/TCP          2d        <none>

sccli-cluster-service   10.254.134.215   <none>        9999/TCP         12m       app=sccli

Kubernetes (5) dashboard

Submitted by Lizhe on Wed, 12/26/2018 - 17:58

 

docker pull gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.1

 

kubectl  create -f  dashboard.yaml

 

kubectl create -f  dashboardsvc.yaml 

 

[root@localhost ~]# cat dashboard.yaml 

apiVersion: extensions/v1beta1

kind: Deployment

metadata:

# Keep the name in sync with image version and

# gce/coreos/kube-manifests/addons/dashboard counterparts

Kubernetes (4) 创建覆盖网络 Flannel

Submitted by Lizhe on Wed, 12/26/2018 - 15:38

 

在master、node上均执行如下命令,进行安装

yum install flannel

master、node上均编辑/etc/sysconfig/flanneld

# Flanneld configuration options

 

# etcd url location.  Point this to the server where etcd runs

FLANNEL_ETCD_ENDPOINTS="http://172.28.128.4:2379"

 

# etcd config key.  This is the configuration key that flannel queries

# For address range assignment

Swift IOS (1)

Submitted by Lizhe on Mon, 12/17/2018 - 11:00

首先创建一个Helloworld应用

20181217112412

 

现在不使用开发者账号也可以在自己的手机上测试了

选择Automatically manage signing 然后使用自己的appleid登录, 然后报错了