一、简介

Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S。 K8S是Google内部一个叫Borg的容器集群管理系统衍生出来的,Borg已经在Google大规模生产运行十年之久。 K8S主要用于自动化部署、扩展和管理容器应用,提供了资源调度、部署管理、服务发现、扩容缩容、监控等一整套功能。 2015年7月,Kubernetes v1.0正式发布,截止到2018年6月,最新稳定版本是v1.10。 Kubernetes目标是让部署容器化应用简单高效。

官方网站:https://kubernetes.io/

二、环境规划

1.软件环境

软件  版本 
操作系统 CentOS Linux release 7.4.1708 (Core)

Kubernetes

1.9

Docker

17.12-ce

Etcd

3.2
Flanneld

 
0.9.1

2.节点规划

角色

IP 组件
master 10.1.210.33

kube-apiserver
kube-controller-manager
kube-scheduler
etcd

node1 10.1.210.32

kubelet
kube-proxy
docker
flannel
etcd

node2 10.1.210.34

kubelet
kube-proxy
docker
flannel
etcd

三、docker部署

1.关闭seliux和firewalld

#关闭selinux
vi /etc/selinux/config
将SELINUX=enforcing修改为SELINUX=disabled
重启系统 reboot #关闭firewalld
systemctl stop firewalld

2.如果主机上部署了比较老版本的docker(老版本也可以),先进行卸载,可跳过此步骤

#查看是否已经安装的Docker软件包
yum list installed | grep docker #移除已经安装的docker包
yum remove docker-ce #删除残留的镜像文件信息
rm -rf /var/lib/docker #找到原有docker残留文件,并删除
find / -name "docker*"
rm -rf 残留文件

3.安装docker-ce

方式一:

官方安装方法:

# 安装yum工具包
yum install -y yum-utils device-mapper-persistent-data lvm2 #添加docker-ce stable版本的仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo #安装docker
yum install docker-ce #设置开机自启动
systemctl enable docker.service #启动
systemctl start docker #查看是否安装成功
docker info

方式二:

使用阿里云镜像,速度更快,安装步骤:

#  安装yum工具包
yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 更新yum源缓存
yum makecache fast # 查找Docker-CE的版本:
yum list docker-ce.x86_64 --showduplicates | sort -r #安装指定版本docker
#yum -y install docker-ce-[VERSION]
yum install docker-ce-17.12.0.ce-1.el7.centos

4.可能出现的错误:

启动报错:docker Failed to start docker.service: Unit not found,这个问题苦恼了半天,重装了几遍还是一样,网上很多方法都没有解决,后来把以前装的docker文件删除干净,再重装,启动成功了。

原因:由于旧版docker的配置文件或者安装文件没有完全删除,这个问题苦恼了半天。

解决版本:卸载现有版本的docker,使用find / -name "docker*" 找到安装的文件,全部删除,再安装新的docker

四、生成自签TLS证书

1.安装证书生成工具cfssl

这里我选择在master上进行证书的生成

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
chmod +x cfssl_linux-amd64 cfssljson_linux-amd64 cfssl-certinfo_linux-amd64 mv cfssl_linux-amd64 /usr/local/bin/cfssl
mv cfssljson_linux-amd64 /usr/local/bin/cfssljson
mv cfssl-certinfo_linux-amd64 /usr/bin/cfssl-certinfo

2.生成模版json

# 建立存放生成的证书文件,方便管理
mkdir -p /opt/kubernetes/ssl
cd /opt/kubernetes/ssl
# 生成证书模版
cfssl print-defaults config > config.json ###生成的模版示列####
#cat config.json

{
"signing": {
"default": {
"expiry": "168h"
},
"profiles": {
"www": {
"expiry": "8760h",
"usages": [
"signing",
"key encipherment",
"server auth"
]
},
"client": {
"expiry": "8760h",
"usages": [
"signing",
"key encipherment",
"client auth"
]
}
}
}
}

3.修改TLS模版证书为我们自己使用:

{
"signing": {
"default": {
"expiry": "87600h"
},
"profiles": {
"kubernetes": {
"expiry": "87600h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
}
}
}
}

4.生成ca模版以及修改模版

#生成csr模版
cfssl print-defaults csr > csr.json
#结果
{
"CN": "example.net",
"hosts": [
"example.net",
"www.example.net"
],
"key": {
"algo": "ecdsa",
"size": 256
},
"names": [
{
"C": "US",
"L": "CA",
"ST": "San Francisco"
}
]
} # 修改csr文件为我们使用
{
"CN": "kubernetes",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"L": "Beijing",
"ST": "Beijing",
"O": "k8s",
"OU": "System"
}
]
}

5.生成证书、和key

cfssl gencert -initca csr.json | cfssljson -bare ca -

6.由于需要生成的证书太多,并且容易出错,一旦出错整个下面的步骤都将进行不下去,所以编写了脚本进行生成,注意,其中需要修改为自己集群IP地址,下面是是脚本:

 cerificate.sh

7.执行脚本完成后,会生成如下证书文件:

8.证书使用组件说明:

组件   使用的证书
etcd ca.pem server.pem server-key.pem
flannel ca.pem server.pem server-key.pem
kube-apiserver ca.pem server.pem server-key.pem
kubelet ca.pem ca-key.pem
kube-proxy ca.pem kube-proxy.pem kube-proxy-key.pem
kubectl ca.pem admin.pem admin-key.pem
五、部署etcd集群

1.软件包下载

下载地址:https://github.com/coreos/etcd/releases/download/v3.2.12/etcd-v3.2.12-linux-amd64.tar.gz

2.解压,配置。注意,这里为了规范,将所有软件部署在/opt/kubernetes目录下

#创建部署目录
mkdir /opt/kubernetes -p #创建其他目录,包括配置文件、可执行脚本、
mkdir /opt/kubernetes/{bin,conf,ssl} #解压
tar zxvf etcd-v3.2.12-linux-amd64.tar.gz #拷贝可执行文件
cp etcd-v3.2.12-linux-amd64/etcd /opt/kubernetes/bin/
cp etcd-v3.2.12-linux-amd64/etcdctl /opt/kubernetes/bin/

3.创建配置文件与服务unit,使用配置文件时候请删除注释。

 vi /opt/kubernetes/conf/etcd.conf

#[Member]
ETCD_NAME="etcd02"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https://10.1.210.33:2380" #集群通信端口
ETCD_LISTEN_CLIENT_URLS="https://10.1.210.33:2379" #监听的数据端口 #[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://10.1.210.33:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://10.1.210.33:2379"
ETCD_INITIAL_CLUSTER="etcd01=https://10.1.210.32:2380,etcd02=https://10.1.210.33:2380,etcd03=https://10.1.210.34:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" #认证token
ETCD_INITIAL_CLUSTER_STATE="new" #集群建立状态 vi /usr/lib/systemd/system/etcd.service
###### 服务配置启动配置 [Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target [Service]
Type=notify
EnvironmentFile=-/opt/kubernetes/conf/etcd.conf
ExecStart=/opt/kubernetes/bin/etcd \
--name=${ETCD_NAME} \
--data-dir=${ETCD_DATA_DIR} \
--listen-peer-urls=${ETCD_LISTEN_PEER_URLS} \
--listen-client-urls=${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \
--advertise-client-urls=${ETCD_ADVERTISE_CLIENT_URLS} \
--initial-advertise-peer-urls=${ETCD_INITIAL_ADVERTISE_PEER_URLS} \
--initial-cluster=${ETCD_INITIAL_CLUSTER} \
--initial-cluster-token=${ETCD_INITIAL_CLUSTER} \
--initial-cluster-state=new \
--cert-file=/opt/kubernetes/ssl/server.pem \
--key-file=/opt/kubernetes/ssl/server-key.pem \
--peer-cert-file=/opt/kubernetes/ssl/server.pem \
--peer-key-file=/opt/kubernetes/ssl/server-key.pem \
--trusted-ca-file=/opt/kubernetes/ssl/ca.pem \
--peer-trusted-ca-file=/opt/kubernetes/ssl/ca.pem
Restart=on-failure
LimitNOFILE=65536 [Install]
WantedBy=multi-user.target

4.重载system服务,启动etcd

systemctl daemon-reload
systemctl start etcd

5.其他两个节点做相同的操作,注意配置文件稍微有些变化,这里就不重复说明,由于使用了证书,所有查看集群操作都需要使用证书,如下:

/opt/kubernetes/bin/etcdctl \
> --ca-file=/opt/kubernetes/ssl/ca.pem \
> --cert-file=/opt/kubernetes/ssl/server.pem \
> --key-file=/opt/kubernetes/ssl/server-key.pem cluster-health

如图下所示,我们的etcd集群部署完成

六、部署flannel网络服务

1.分配集群网络存储到etcd中,以供flannel使用

/opt/kubernetes/bin/etcdctl \
> --ca-file=/opt/kubernetes/ssl/ca.pem \
> --cert-file=/opt/kubernetes/ssl/server.pem \
> --key-file=/opt/kubernetes/ssl/server-key.pem set /coreos.com/network/config '{ "Network": "172.17.0.0/16", "Backend": {"Type": "vxlan"}}'

2.下载安装包

下载地址:https://github.com/coreos/flannel/releases/download/v0.9.1/flannel-v0.9.1-linux-amd64.tar.gz

3.部署、配置flannel,这里需要注意,flannel网络是在node节点上进行的,所有我们在10.1.210.32、10.1.210.34上进行部署,以10.1.210.32为列

#解压
tar zxvf flannel-v0.9.1-linux-amd64.tar.gz #拷贝启动脚本
cp flanneld /opt/kubernetes/bin/
cp mk-docker-opts.sh /opt/kubernetes/bin/ #配置文件配置:
vi /opt/kubernetes/conf/flanneld.conf ETCD_ENDPOINTS="--etcd-endpoints=https://10.1.210.32:2379,https://10.1.210.33:2379,https://10.1.210.34:2379"
FLANNEL_OPTIONS="--etcd-endpoints=${ETCD_ENDPOINTS} \
-etcd-cafile=/opt/kubernetes/ssl/ca.pem \
-etcd-certfile=/opt/kubernetes/ssl/server.pem \
-etcd-keyfile=/opt/kubernetes/ssl/server-key.pem" #启动服务器配置
vi /usr/lib/systemd/system/flanneld.service [Unit]
Description=Flanneld overlay address etcd agent
After=network-online.target network.target
Before=docker.service [Service]
Type=notify
EnvironmentFile=/opt/kubernetes/conf/flanneld.conf
ExecStart=/opt/kubernetes/bin/flanneld --ip-masq \$FLANNEL_OPTIONS
ExecStartPost=/opt/kubernetes/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env
Restart=on-failure [Install]
WantedBy=multi-user.target

4.启动

systemctl daemon-reload
systemctl start flanneld

5.启动成功后会生成flannel的网卡如下图:

6.修改docker配置文件指定flannel网络

vi /usr/lib/systemd/system/docker.service

#修改为
EnvironmentFile=/run/flannel/subnet.env
ExecStart=/usr/bin/dockerd $DOCKER_NETWORK_OPTIONS

7.重启docker,检查docker0网卡是否和flannel网卡网段一致

systemctl daemon-reload
systemctl restart docker

8.在集群的另一个节点也按照同样的方法安装,检查两个节点flannel网络是否通信的办法互ping flannel网关(网卡IP)

三、docker部署

1.关闭seliux和firewalld

#关闭selinux
vi /etc/selinux/config
将SELINUX=enforcing修改为SELINUX=disabled
重启系统 reboot #关闭firewalld
systemctl stop firewalld

2.如果主机上部署了比较老版本的docker(老版本也可以),先进行卸载,可跳过此步骤

#查看是否已经安装的Docker软件包
yum list installed | grep docker #移除已经安装的docker包
yum remove docker-ce #删除残留的镜像文件信息
rm -rf /var/lib/docker #找到原有docker残留文件,并删除
find / -name "docker*"
rm -rf 残留文件

3.安装docker-ce

方式一:

官方安装方法:

# 安装yum工具包
yum install -y yum-utils device-mapper-persistent-data lvm2 #添加docker-ce stable版本的仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo #安装docker
yum install docker-ce #设置开机自启动
systemctl enable docker.service #启动
systemctl start docker #查看是否安装成功
docker info

方式二:

使用阿里云镜像,速度更快,安装步骤:

#  安装yum工具包
yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 更新yum源缓存
yum makecache fast # 查找Docker-CE的版本:
yum list docker-ce.x86_64 --showduplicates | sort -r #安装指定版本docker
#yum -y install docker-ce-[VERSION]
yum install docker-ce-17.12.0.ce-1.el7.centos

4.可能出现的错误:

启动报错:docker Failed to start docker.service: Unit not found,这个问题苦恼了半天,重装了几遍还是一样,网上很多方法都没有解决,后来把以前装的docker文件删除干净,再重装,启动成功了。

原因:由于旧版docker的配置文件或者安装文件没有完全删除,这个问题苦恼了半天。

解决版本:卸载现有版本的docker,使用find / -name "docker*" 找到安装的文件,全部删除,再安装新的docker

四、生成自签TLS证书

1.安装证书生成工具cfssl

这里我选择在master上进行证书的生成

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
chmod +x cfssl_linux-amd64 cfssljson_linux-amd64 cfssl-certinfo_linux-amd64 mv cfssl_linux-amd64 /usr/local/bin/cfssl
mv cfssljson_linux-amd64 /usr/local/bin/cfssljson
mv cfssl-certinfo_linux-amd64 /usr/bin/cfssl-certinfo

2.生成模版json

# 建立存放生成的证书文件,方便管理
mkdir -p /opt/kubernetes/ssl
cd /opt/kubernetes/ssl
# 生成证书模版
cfssl print-defaults config > config.json ###生成的模版示列####
#cat config.json

{
"signing": {
"default": {
"expiry": "168h"
},
"profiles": {
"www": {
"expiry": "8760h",
"usages": [
"signing",
"key encipherment",
"server auth"
]
},
"client": {
"expiry": "8760h",
"usages": [
"signing",
"key encipherment",
"client auth"
]
}
}
}
}

3.修改TLS模版证书为我们自己使用:

{
"signing": {
"default": {
"expiry": "87600h"
},
"profiles": {
"kubernetes": {
"expiry": "87600h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
}
}
}
}

4.生成ca模版以及修改模版

#生成csr模版
cfssl print-defaults csr > csr.json
#结果
{
"CN": "example.net",
"hosts": [
"example.net",
"www.example.net"
],
"key": {
"algo": "ecdsa",
"size": 256
},
"names": [
{
"C": "US",
"L": "CA",
"ST": "San Francisco"
}
]
} # 修改csr文件为我们使用
{
"CN": "kubernetes",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"L": "Beijing",
"ST": "Beijing",
"O": "k8s",
"OU": "System"
}
]
}

5.生成证书、和key

cfssl gencert -initca csr.json | cfssljson -bare ca -

6.由于需要生成的证书太多,并且容易出错,一旦出错整个下面的步骤都将进行不下去,所以编写了脚本进行生成,注意,其中需要修改为自己集群IP地址,下面是是脚本:

 cerificate.sh

7.执行脚本完成后,会生成如下证书文件:

8.证书使用组件说明:

组件   使用的证书
etcd ca.pem server.pem server-key.pem
flannel ca.pem server.pem server-key.pem
kube-apiserver ca.pem server.pem server-key.pem
kubelet ca.pem ca-key.pem
kube-proxy ca.pem kube-proxy.pem kube-proxy-key.pem
kubectl ca.pem admin.pem admin-key.pem
五、部署etcd集群

1.软件包下载

下载地址:https://github.com/coreos/etcd/releases/download/v3.2.12/etcd-v3.2.12-linux-amd64.tar.gz

2.解压,配置。注意,这里为了规范,将所有软件部署在/opt/kubernetes目录下

#创建部署目录
mkdir /opt/kubernetes -p #创建其他目录,包括配置文件、可执行脚本、
mkdir /opt/kubernetes/{bin,conf,ssl} #解压
tar zxvf etcd-v3.2.12-linux-amd64.tar.gz #拷贝可执行文件
cp etcd-v3.2.12-linux-amd64/etcd /opt/kubernetes/bin/
cp etcd-v3.2.12-linux-amd64/etcdctl /opt/kubernetes/bin/

3.创建配置文件与服务unit,使用配置文件时候请删除注释。

 vi /opt/kubernetes/conf/etcd.conf

#[Member]
ETCD_NAME="etcd02"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https://10.1.210.33:2380" #集群通信端口
ETCD_LISTEN_CLIENT_URLS="https://10.1.210.33:2379" #监听的数据端口 #[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://10.1.210.33:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://10.1.210.33:2379"
ETCD_INITIAL_CLUSTER="etcd01=https://10.1.210.32:2380,etcd02=https://10.1.210.33:2380,etcd03=https://10.1.210.34:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" #认证token
ETCD_INITIAL_CLUSTER_STATE="new" #集群建立状态 vi /usr/lib/systemd/system/etcd.service
###### 服务配置启动配置 [Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target [Service]
Type=notify
EnvironmentFile=-/opt/kubernetes/conf/etcd.conf
ExecStart=/opt/kubernetes/bin/etcd \
--name=${ETCD_NAME} \
--data-dir=${ETCD_DATA_DIR} \
--listen-peer-urls=${ETCD_LISTEN_PEER_URLS} \
--listen-client-urls=${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \
--advertise-client-urls=${ETCD_ADVERTISE_CLIENT_URLS} \
--initial-advertise-peer-urls=${ETCD_INITIAL_ADVERTISE_PEER_URLS} \
--initial-cluster=${ETCD_INITIAL_CLUSTER} \
--initial-cluster-token=${ETCD_INITIAL_CLUSTER} \
--initial-cluster-state=new \
--cert-file=/opt/kubernetes/ssl/server.pem \
--key-file=/opt/kubernetes/ssl/server-key.pem \
--peer-cert-file=/opt/kubernetes/ssl/server.pem \
--peer-key-file=/opt/kubernetes/ssl/server-key.pem \
--trusted-ca-file=/opt/kubernetes/ssl/ca.pem \
--peer-trusted-ca-file=/opt/kubernetes/ssl/ca.pem
Restart=on-failure
LimitNOFILE=65536 [Install]
WantedBy=multi-user.target

4.重载system服务,启动etcd

systemctl daemon-reload
systemctl start etcd

5.其他两个节点做相同的操作,注意配置文件稍微有些变化,这里就不重复说明,由于使用了证书,所有查看集群操作都需要使用证书,如下:

/opt/kubernetes/bin/etcdctl \
> --ca-file=/opt/kubernetes/ssl/ca.pem \
> --cert-file=/opt/kubernetes/ssl/server.pem \
> --key-file=/opt/kubernetes/ssl/server-key.pem cluster-health

如图下所示,我们的etcd集群部署完成

六、部署flannel网络服务

1.分配集群网络存储到etcd中,以供flannel使用

/opt/kubernetes/bin/etcdctl \
> --ca-file=/opt/kubernetes/ssl/ca.pem \
> --cert-file=/opt/kubernetes/ssl/server.pem \
> --key-file=/opt/kubernetes/ssl/server-key.pem set /coreos.com/network/config '{ "Network": "172.17.0.0/16", "Backend": {"Type": "vxlan"}}'

2.下载安装包

下载地址:https://github.com/coreos/flannel/releases/download/v0.9.1/flannel-v0.9.1-linux-amd64.tar.gz

3.部署、配置flannel,这里需要注意,flannel网络是在node节点上进行的,所有我们在10.1.210.32、10.1.210.34上进行部署,以10.1.210.32为列

#解压
tar zxvf flannel-v0.9.1-linux-amd64.tar.gz #拷贝启动脚本
cp flanneld /opt/kubernetes/bin/
cp mk-docker-opts.sh /opt/kubernetes/bin/ #配置文件配置:
vi /opt/kubernetes/conf/flanneld.conf ETCD_ENDPOINTS="--etcd-endpoints=https://10.1.210.32:2379,https://10.1.210.33:2379,https://10.1.210.34:2379"
FLANNEL_OPTIONS="--etcd-endpoints=${ETCD_ENDPOINTS} \
-etcd-cafile=/opt/kubernetes/ssl/ca.pem \
-etcd-certfile=/opt/kubernetes/ssl/server.pem \
-etcd-keyfile=/opt/kubernetes/ssl/server-key.pem" #启动服务器配置
vi /usr/lib/systemd/system/flanneld.service [Unit]
Description=Flanneld overlay address etcd agent
After=network-online.target network.target
Before=docker.service [Service]
Type=notify
EnvironmentFile=/opt/kubernetes/conf/flanneld.conf
ExecStart=/opt/kubernetes/bin/flanneld --ip-masq \$FLANNEL_OPTIONS
ExecStartPost=/opt/kubernetes/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env
Restart=on-failure [Install]
WantedBy=multi-user.target

4.启动

systemctl daemon-reload
systemctl start flanneld

5.启动成功后会生成flannel的网卡如下图:

6.修改docker配置文件指定flannel网络

vi /usr/lib/systemd/system/docker.service

#修改为
EnvironmentFile=/run/flannel/subnet.env
ExecStart=/usr/bin/dockerd $DOCKER_NETWORK_OPTIONS

7.重启docker,检查docker0网卡是否和flannel网卡网段一致

systemctl daemon-reload
systemctl restart docker

8.在集群的另一个节点也按照同样的方法安装,检查两个节点flannel网络是否通信的办法互ping flannel网关(网卡IP)

基于TLS证书手动部署kubernetes集群的更多相关文章

  1. 基于TLS证书手动部署kubernetes集群(下)

    一.master节点组件部署 承接上篇文章--基于TLS证书手动部署kubernetes集群(上),我们已经部署好了etcd集群.flannel网络以及每个节点的docker,接下来部署master节 ...

  2. (转)基于TLS证书手动部署kubernetes集群(下)

    转:https://www.cnblogs.com/wdliu/p/9152347.html 一.master节点组件部署 承接上篇文章--基于TLS证书手动部署kubernetes集群(上),我们已 ...

  3. 基于TLS证书手动部署kubernetes集群(上)

    一.简介 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S. K8S是Google内部一个叫Borg的容器集群管理系统衍生 ...

  4. (转)基于TLS证书手动部署kubernetes集群(上)

    转:https://www.cnblogs.com/wdliu/archive/2018/06/06/9147346.html 一.简介 Kubernetes是Google在2014年6月开源的一个容 ...

  5. 二进制部署 Kubernetes 集群

    二进制部署 Kubernetes 集群   提供的几种Kubernetes部署方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernet ...

  6. 和我一步步部署 kubernetes 集群

    和我一步步部署 kubernetes 集群 本系列文档介绍使用二进制部署最新 kubernetes v1.6.1 集群的所有步骤,而不是使用 kubeadm 等自动化方式来部署集群: 在部署的过程中, ...

  7. kubeadm部署Kubernetes集群

    Preface 通过kubeadm管理工具部署Kubernetes集群,相对离线包的二进制部署集群方式而言,更为简单与便捷.以下为个人学习总结: 两者区别在于前者部署方式使得大部分集群组件(Kube- ...

  8. 在CentOS7上部署Kubernetes集群

    在CentOS7上部署Kubernetes集群 文/FCBusquest 2015-12-22 18:36:00 简介 Kubernetes(k8s)是Google开源的大规模容器集群管理系统, 本文 ...

  9. 使用Kubespray部署Kubernetes集群

    转载请标明出处: http://blog.csdn.net/forezp/article/details/82730382 本文出自方志朋的博客 Kubespray是Google开源的一个部署生产级别 ...

随机推荐

  1. Python中的文件处理和数据存储json

    前言:每当需要分析或修改存储在文件中的信息时,读取文件都很有用,对数据分析应用程序来说尤其如此. 例如,你可以编写一个这样的程序:读取一个文本文件的内容,重新设置这些数据的格式并将其写入文件,让浏览器 ...

  2. idea无法使用中文输入法输入

    问题--idea无法使用中文输入 原因:idea本身版本过高,所以需要你强制减低它的jdk版本 解决:使用配置idea环境变量解决 ps:目前适用于任何版本的jdk和idea 步骤: 1.新建一个ID ...

  3. Qt中的Q_PROPERTY宏浅析

    1. Q_PROPERTY Qt提供了一个绝妙的属性系统,Q_PROPERTY()是一个宏,用来在一个类中声明一个属性property,由于该宏是qt特有的,需要用moc进行编译,故必须继承于QObj ...

  4. C# 实现图片上传

    C# 实现图片上传 C#实现图片上传: 通过页面form表单提交数据到动作方法,动作方法实现保存图片到指定路径,并修改其文件名为时间格式 页面设置 这里使用的模板MVC自带的模板视图 <h2&g ...

  5. ELK数据迁移,ES快照备份迁移

    通过curl命令或者kibana快照备份,恢复的方式进行数据迁移 环境介绍 之前创建的ELK 因为VPC环境的问题,需要对ELK从新部署,但是还需要保留现有的数据,于是便有了这篇文档. 10.0.20 ...

  6. IPSec协议框架

    文章目录 1. IPSec简介 1.1 起源 1.2 定义 1.3 受益 2. IPSec原理描述 2.1 IPSec协议框架 2.1.1 安全联盟 2.1.2 安全协议 报文头结构 2.1.3 封装 ...

  7. Java-SpringBoot整合SpringCloud

    SpringBoot整合SpringCloud 1. SpringCloud特点 SpringCloud专注于为典型的用例和扩展机制提供良好的开箱即用体验,以涵盖其他情况: 分布式/版本化配置 服务注 ...

  8. reeswitch http https ws wss nginx domain default port config

    现代H5浏览器产业链越来越丰富,http+websocket+webrtc+sip组合已经是一种非常成熟的web原生音视频通讯解决方案 FreeSWITCH是一个开源的电话软交换平台,早在SIP年代就 ...

  9. 基于django2.2的网页构建

    安装django pip install django==2.2 建一个在线商城的项目 django-admin startproject pyshop 启动项目 python manage.py r ...

  10. Java面向对象系列(1)- 什么是面向对象

    面向过程 & 面向对象 面向过程思想 步骤清晰清楚,第一步做什么,第二步做什么-- 面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分 ...