Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)

概述:

这篇文章是为了介绍使用kubeadm安装Kubernetes集群(可以用于生产级别)。使用了Centos 7系统。

PS:

篇幅有点长,但是比较详细、比较全面

一、Centos7 配置说明

1.1   Firewalld(防火墙)

CentOS Linux 7 默认开起来防火墙服务(firewalld),而Kubernetes的Master与工作Node之间会有大量的网络通信,安全的做法是在防火墙上配置Kbernetes各组件(api-server、kubelet等等)需要相互通信的端口号。在安全的内部网络环境中可以关闭防火墙服务。

关闭防火墙的命令:

1 # firewall-cmd --state           #查看防火墙状态
2 # systemctl stop firewalld.service        #停止firewall
3 # systemctl disable firewalld.service     #禁止firewall开机启动

1.2   SELinux

建议禁用SELinux,让容器可以读取主机文件系统

执行命令:

1 # getenforce        #查看selinux状态
2 # setenforce 0       #临时关闭selinux
3 # sed -i ‘s/^ *SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config  #永久关闭(需重启系统)
4 # shutdown -r now   #重启系统

二、安装准备工作

2.1   安装环境


软硬件


最低配置


推荐配置


CPU和内存


Master: 至少2 Core和4G内存

Node:至少4 Core和16G内存


Master:4 core和16G内存

Node:应根据需要运行的容器数量进行配置


Linux操作系统


基于x86_64架构的各种Linux发行版本,Kernel版本要求在3.10及以上


Red Hat Linux 7

CentOS 7

说明:

以上为建议配置,实际安装过程中,Master必须2 core 及以上(否则安装失败,切记),Node可以采用1 core。

2.2   部署环境说明

主机列表:


主机名


Centos版本


ip


docker version


flannel version


Keepalived version


主机配置


备注


master01


7.6.1810


192.168.0.6


18.09.9


v0.11.0


v1.3.5


2C1G


control plane


work01


7.6.1810


192.168.0.10


18.09.9


/


/


1C1G


worker nodes


work02


7.6.1810


192.168.0.12


18.09.9


/


/


1C1G


worker nodes


VIP


7.6.1810


192.168.0.130


18.09.9


v0.11.0


v1.3.5


4C4G


在control plane上浮动


client


7.6.1810


192.168.0.234


/


/


/


4C4G


client(可不需要)

共有7台服务器,3台control plane,3台work,1台client。

k8s 版本(可根据需要进行更改):


主机名


kubelet version


kubeadm version


kubectl version


备注


master01


v1.16.4


v1.16.4


v1.16.4


kubectl选装


work01


v1.16.4


v1.16.4


v1.16.4


kubectl选装


work02


v1.16.4


v1.16.4


v1.16.4


kubectl选装


client


/


/


v1.16.4


client

2.3. 配置主机名(master和node节点都执行)

2.3.1 修改主机名

Master主机改为master01,执行以下命令:

1 # hostnamectl set-hostname master01 #修改主机名称为master01
2 # more /etc/hostname  #查看修改结果

同样的修改node01和node02(注意主机名为node01和node02)

说明:

退出重新登陆即可显示新设置的主机名master01,重新登录之后

2.3.2 修改hosts文件

执行以下命令:

cat >> /etc/hosts << EOF
192.168.0.6     master01
192.168.0.10   node01
192.168.0.12   node02
EOF

2.3.3 禁用swap

Kubeadm建议关闭交换空间的使用,简单来说,执行swapoff -a命令,然后在/etc/fstab中删除对swap的加载,并重新启动服务器即可。

临时禁用,执行以下命令:

# swapoff -a

永久禁用,需要在swapoff -a之后,执行以下命令:

# sed -i.bak ‘/swap/s/^/#/‘ /etc/fstab

2.3.4 设置kubernetes源

2.3.4.1 新增kubernetes源

执行以下命令:

# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

2.3.4.2 更新缓存

# yum clean all
# yum -y makecache

三、Docker安装(master和node节点都执行)

注意:

安装docker之前,最好确认一下,kubernetes支持哪些版本的docker(kubernetes和docker的版本要对应,否则可能会造成重新安装)。

3.1 卸载/更新已经安装的Docker

# 卸载docker

#1. 列出安装过的包

# yum list installed | grep docker

#2. 根据安装过的包进行卸载

# yum -y remove docker-ce-cli.x86_64
# yum -y remove docker-ce.x86_64
# yum -y remove containerd.io

# 更新docker

# yum -y update docker

3.2 安装Docker环境

3.2.1 配置docker源

如已安装过docker,则不需要进行此步骤

# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

3.2.2 安装依赖包

# yum install -y yum-utils device-mapper-persistent-data lvm2

3.2.3 设置从stable仓库获取docker

# yum-config-manager --add-repo  https://download.docker.com/linux/centos/docker-ce.repo

3.2.4 安装Docker

# yum install docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io -y

说明:

执行以上命令之前,可以看看docker版本,执行以下命令查看

# yum list docker-ce --showduplicates | sort -r

3.2.5 启动Docker(并设置为开机启动)

# systemctl start docker && systemctl enable docker

3.2.6 命令补全

安装bash-completion

# yum -y install bash-completion

加载bash-completion

# source /etc/profile.d/bash_completion.sh

3.2.7 镜像加速(并修改Cgoup Driver)

# mkdir -p /etc/docker
# tee /etc/docker/daemon.json <<-‘EOF‘
{
    "registry-mirrors": ["https://usydjf4t.mirror.aliyuncs.com",
    "https://registry.docker-cn.com"]
    , "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

# systemctl daemon-reload
# systemctl restart docker

说明:

修改cgroupdriver是为了消除告警:

[WARNING IsDockerSystemdCheck]: detected “cgroupfs” as the Docker cgroup driver. The recommended driver is “systemd”. Please follow the guide at https://kubernetes.io/docs/setup/cri/

四、Keepalived安装(master节点安装)

4.1 安装keepalived

# yum -y install keepalived

4.2 keepalived配置

保留默认配置

# mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived_default.conf

写入新的配置

# cat <<EOF > /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
   router_id master01
}

vrrp_instance VI_1 {
    state MASTER
    interface enp0s3
    virtual_router_id 50
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.0.130
    }
}

EOF

说明:

特别注意红色字体文本,master01是主机名称(如果有其他主机则使用对应的主机名称进行替换),enp0s3是网卡名称(每个linux系统可能不一致),192.168.0.130是虚拟IP

4.3 启动keepalived

# service keepalived start && systemctl enable keepalived

4.4 VIP查看

在master机器上执行

# ip a

可以看到VIP在master01(目前只有一台master,以后可能会有多个master)上

五、安装k8s(master和node节点都执行)

5.1 查看kubernetes版本

# yum list kubelet --showduplicates | sort -r

说明:

本文安装的kubelet版本是1.16.4,该版本支持的docker版本为1.13.1, 17.03, 17.06, 17.09, 18.06, 18.09。

5.2 安装kubelet、kubeadm和kubectl(注意版本号,根据需要进行改变)

# yum install -y kubelet-1.16.4 kubeadm-1.16.4 kubectl-1.16.4

说明:

  • kubelet 运行在集群所有节点上,用于启动Pod和容器等对象的工具
  • kubeadm 用于初始化集群,启动集群的命令工具
  • kubectl 用于和集群通信的命令行,通过kubectl可以部署和管理应用,查看各种资源,创建、删除和更新各种组件

5.3 启动kubelet(并设置为开机启动)

# systemctl enable kubelet && systemctl start kubelet

5.4 命令补全

# echo "source <(kubectl completion bash)" >> ~/.bash_profile
# source .bash_profile

5.5 下载镜像

Kubernetes几乎所有的安装组件和Docker镜像都放在goolge自己的网站上,直接访问可能会有网络问题,这里的解决办法是从阿里云镜像仓库下载镜像,拉取到本地以后改回默认的镜像tag。本文通过运行image.sh脚本方式拉取镜像。

直接执行以下命令(灰色背景部分):

# more image.sh #以下为image.sh文件的内容
#!/bin/bash
url=registry.cn-hangzhou.aliyuncs.com/loong576 #阿里云镜像仓库地址,可以按需修改
version=v1.16.4 #安装的kubernetes的版本(可以按需修改)
images=(`kubeadm config images list --kubernetes-version=$version|awk -F ‘/‘ ‘{print $2}‘`)
for imagename in ${images[@]} ; do
  docker pull $url/$imagename
  docker tag $url/$imagename k8s.gcr.io/$imagename
  docker rmi -f $url/$imagename
done

注意:

如果需要下载其他的kubernetes版本,需要修改对应的版本号(红色字体部分)

5.6 查看已经下载的镜像

# docker images

六、网络插件(flannel)配置(Master执行)

本文的k8s网络使用flannel,该网络需要设置内核参数bridge-nf-call-iptables=1,修改这个参数需要系统有br_netfilter模块。

说明:

K8s网络插件有很多,使用网络插件之前,要进行判断是否和系统适配。

6.1 br_netfilter模块加载

查看br_netfilter模块:

# lsmod |grep br_netfilter

如果系统没有br_netfilter模块则执行下面的新增命令,如有则忽略。

永久新增br_netfilter模块:

# cat > /etc/rc.sysinit << EOF
#!/bin/bash
for file in /etc/sysconfig/modules/*.modules ; do
[ -x $file ] && $file
done
EOF

# cat > /etc/sysconfig/modules/br_netfilter.modules << EOF
modprobe br_netfilter
EOF

# chmod 755 /etc/sysconfig/modules/br_netfilter.modules

6.2 内核参数永久修改

# cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

# sysctl -p /etc/sysctl.d/k8s.conf

说明:

如安装网络插件之后,长时间状态没有变更,则可以试试重启机器(或者是虚拟机,这里是指Centos 7系统)。

七、初始化Master(Master节点执行)

说明:

Master的kubernetes之前,须先确定要确定的网络插件(因为可能会影响到初始化的参数),不同的系统可能需要使用不同的网络插件(Centos 不支持 Calico)。

建议先阅读网络插件资料。(Kubernetes所有网络插件说明:这里

7.1 创建初始化文件

7.1.1 获取默认的初始化参数文件

# kubeadm config print init-defaults > init.default.yaml

7.1.2 查看init.default.yaml文件

# cat init.default.yaml

7.1.3 配置初始化文件

创建kubeadm.conf.yaml文件,输入以下内容(灰色背景部分):

apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.16.4
apiServer:
  certSANs:    #填写所有kube-apiserver节点的hostname、IP、VIP
  - master01
  - node01
  - node02
  - 192.168.0.6
  - 192.168.0.10
  - 192.168.0.12
  - 192.168.0.130
controlPlaneEndpoint: "192.168.0.130:6443"
networking:
  podSubnet: "10.244.0.0/16"  #这里需要根据具体的网络插件来配置(这里使用的flannel网络插件配置)

说明:

注意红色字体部分内容,需要根据init.default.yaml文件和自己的需要进行更改

7.2 初始化kubernetes

# kubeadm init --config=kubeadm.conf.yaml

说明:

如果初始化失败,可执行kubeadm reset后重新初始化(执行以下两条命令)

# kubeadm reset
# rm -rf $HOME/.kube/config

初始化成功,如下图:

按照提示执行下面的命令,复制配置文件到普通用户的home目录下:

# mkdir -p $HOME/.kube

# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

# chown $(id -u):$(id -g) $HOME/.kube/config

在其他位置(或者主机),保存如下信息(其他node节点加入集群时使用):

You should now deploy a pod network to the cluster.

Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:

  https://kubernetes.io/docs/concepts/cluster-administration/addons/

You can now join any number of control-plane nodes by copying certificate authorities
and service account keys on each node and then running the following as root:
  kubeadm join 192.168.0.130:6443 --token afeqnz.vhp0e8rtrw6jz6v2     --discovery-token-ca-cert-hash sha256:d6a450aafb14e82efb69fbcb71e426bfed8e423d64b37bac85b3ff8ce7dc6562     --control-plane     

Then you can join any number of worker nodes by running the following on each as root:
## node加入集群时使用
kubeadm join 192.168.0.130:6443 --token afeqnz.vhp0e8rtrw6jz6v2 --discovery-token-ca-cert-hash sha256:d6a450aafb14e82efb69fbcb71e426bfed8e423d64b37bac85b3ff8ce7dc6562

7.3 加载环境变量

# echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

# source .bash_profile

八、node节点加入集群

8.1 开启Master节点防火墙端口

说明:

如果master节点的防火墙已经关闭,可以直接跳过此小节

如果node已经加入其它集群,需要退出集群,请执行在node上执行:

# kubeadm reset

查看防火墙状态:

# systemctl status firewalld 或者 firewall-cmd --state

开启6443端口

# firewall-cmd --zone=public --add-port=6443/tcp --permanent

## 出现success表明添加成功

命令含义:

--zone #作用域

--add-port=80/tcp  #添加端口,格式为:端口/通讯协议

--permanent   #永久生效,没有此参数重启后失效

重启防火墙

# systemctl restart firewalld.service

说明:

Kubernetes集群中的Service可使用的物理机端口号范围为30000~32767

一次全部公开所有可能使用的端口:

# firewall-cmd --zone=public --add-port=30000-32767/tcp --permanent

# systemctl restart firewalld.service

8.2 加入集群

Master节点在初始化完成之后,最后一行代码,如下:

# kubeadm join 192.168.0.130:6443 --token afeqnz.vhp0e8rtrw6jz6v2
    --discovery-token-ca-cert-hash sha256:d6a450aafb14e82efb69fbcb71e426bfed8e423d64b37bac85b3ff8ce7dc6562

把两行信息复制出来,在node节点执行,如下图:(join成功)

在master节点,执行以下命令查看已经加入的节点

# kubectl get nodes

说明:

由于没有安装网络插件,这里STATUS为NotReady

九、安装网络插件(Master)

在master主机上执行以下命令:

# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml

说明:

由于网络原因,可能会安装失败,可以在浏览器直接下载kube-flannel.yml文件(也可以在浏览器打开url地址,然后复制文件内容到文件),然后再执行apply

查看节点状态,执行以下命令:

# kubectl get nodes

说明:

STATUS从NotReady变为Ready

十、Client配置(client端执行)

10.1 新增kubernetes源

# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

10.2 更新缓存

# yum clean all && yum -y makecache

10.3 安装kubectl

# yum install -y kubectl-1.16.4

10.4 命令补全

安装bash- completion

# yum -y install bash-completion

加载bash-completion

# source /etc/profile.d/bash_completion.sh

10.5 从Master节点拷贝admin.conf

# mkdir -p /etc/kubernetes# scp 192.168.0.6:/etc/kubernetes/admin.conf /etc/kubernetes/

说明:

192.168.0.6 是master主机

# echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

# source .bash_profile

10.6 加载环境变量

# echo "source <(kubectl completion bash)" >> ~/.bash_profile
# source .bash_profile

10.7 Kubectl 测试

# kubectl get nodes

# kubectl get cs

# kubectl get po -o wide -n kube-system

十一、Dashboard搭建(client端执行)

11.1 下载yaml

# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml

说明:

如果连接超时,可以多试几次。也可以在这里下载

11.2 修改镜像地址

# sed -i ‘s/kubernetesui/registry.cn-hangzhou.aliyuncs.com\/loong576/g‘ recommended.yaml

说明:

也可以采用其他的一些镜像(切换镜像,需要更改recommended.yaml文件)

更改镜像操作:

如果需要更改镜像的版本号,需要在阿里云查询一下是否有镜像

下载镜像命令:(注意阿里云是没有带版本号的,需要自己录入版本号)

# docker pull registry.cn-hangzhou.aliyuncs.com/kubernetesui/dashboard:v2.0.0-rc5

11.3 配置yaml

外网访问

# sed -i ‘/targetPort: 8443/a\ \ \ \ \ \ nodePort: 30001\n\ \ type: NodePort‘ recommended.yaml

说明:

配置NodePort,外部通过https://NodeIp:NodePort 访问Dashboard,此时端口为30001

11.4 新增管理员账号

创建超级管理员的账号用于登录Dashboard

# cat >> recommended.yaml << EOF
---
# ------------------- dashboard-admin ------------------- #
apiVersion: v1
kind: ServiceAccount
metadata:
  name: dashboard-admin
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: dashboard-admin
subjects:
- kind: ServiceAccount
  name: dashboard-admin
  namespace: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
EOF
 

11.5 部署Dashboard

# kubectl apply -f recommended.yaml

状态查看:

# kubectl get all -n kubernetes-dashboard

令牌查看:

# kubectl describe secrets -n kubernetes-dashboard dashboard-admin

令牌为(一定要注意可能存在换行的情况):

eyJhbGciOiJSUzI1NiIsImtpZCI6IllkWjQxWENEYnBXYV9rUlNqWTRldjVOYXV3M0tPTklYTVZTWUZWOXp0SHMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tZzRwdzUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNjNmNzllODUtNzMzMy00MDY1LTg1YTEtYzkxZTkzNjk3ZjA0Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.vsizK9ZP53to5aL5d1oyFYAiR8Kt1LaQ_Lkt86yPgHp6QloMS_pLCdD7KZi76deQ4ISTFC9Ldc62zslLtY4qgxNvSUiVWj1bWUn2BfCJ-3jPxpd7ZOgr3Gbp2xAFc3xjgm-qZaOydec9i44CbkdiVDoAjL0Au78yt7aHSW8B6plc2fAYNdywtyIOAMhe7f0gjyRaWrGQje2CVduITxZ-2NCwd3EYQNs31OA-zUPFvel_xi_KzdMBuj4z7DdvIK9wPQHyuke0TIs5dHSUEtiY84erLMg5i0ZGXCd019D5Nrsd78fVe_NbO-NThVReskA-jt1FyhAUesZie4GX-2eL3Q

说明:

如果安装Dashboard过程中出现问题,要仔细进行排查,可能pod还没有安装完成,等待一段时间之后,再看看,如果还是不行,则需要考虑一下中途是否有问题,是否需要重新安装。

如果忘记Token,可以通过以下命令获取:

# kubectl describe secret -n kubernetes-dashboard $(kubectl get secret -n kubernetes-dashboard |grep  kubernetes-dashboard-token | awk ‘{print $1}‘) |grep token | awk ‘{print $2}‘

11.6 使用火狐浏览器浏览

https://192.168.0.6:30001

部署Dashboard之后,由于证书问题导致无法在浏览器浏览(暂时没有找到解决方案,尝试了网上的方式,不行,以下是尝试的过程(可以跳过))

删除已经部署的Dashboard

1. kubectl delete ns kubernetes-dashboard

https://github.com/kubernetes/dashboard/releases

2. 阅读参考资料(并执行命令,除了删除命令)

https://blog.51cto.com/10616534/2430512

十二、查找问题方式

12.1 查看Pod详细信息

查看所有Pod

# kubectl get pods --all-namespaces

查看状态异常的Pod的详细信息

# kubectl describe pod kubernetes-dashboard-8478d57dc6-p7jt7 --namespace=kubernetes-dashboard

说明:

可以看到在哪台Node上创建了容器

12.2 防火墙的问题

建议关闭防火墙

# systemctl stop firewalld.service

# systemctl disable firewalld.service

说明:

如果不关闭防火墙,可能会造成容器产生错误,如no host to route,是因为防火墙拦截了端口。

12.3 Dashboard 证书过期问题

12.4 Node节点执行kubectl命令出错问题

错误描述信息:

The connection to the server raw.githubusercontent.com was refused - did you specify the right host or port?

需要将master节点的 /etc/kubernetes/admin.conf 文件复制到node节点下。

参考资料

Kubernetes的安装:

https://www.kubernetes.org.cn/6632.html

CentOS Linux 开放端口:

https://www.cnblogs.com/archoncap/p/5402983.html

Kubernetes所有网络插件说明:

https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#pod-network

原文地址:https://www.cnblogs.com/zhizihuakai/p/12629514.html

时间: 2024-10-10 13:47:28

Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)的相关文章

Centos7安装mariadb galera cluster数据库集群 & 详解

#Galera集群特点 集群之间无延时,同步复制.而master-slave主从异步复制,存在延迟. active-active多主,集群内部服务器都是同时写,必须等所有集群内所有数据库都完成数据写入,才会反馈完成,所以不存在数据丢失的情况. 集群节点自动故障转移,如果集群中单个节点故障,失效节点会自动被清除. 扩展方便,只要将新的节点添加到集群,新节点自动复制数据. #Galera集群原理     #主要通过galera插件保证数据的一致性,该数据复制的过程是可认证的复制,原理如下: #解析

如何在本地数据中心安装Service Fabric for Windows集群

概述 首先本文只是对官方文档(中文,英文)的一个提炼,详细的安装说明还请仔细阅读官方文档. 虽然Service Fabric的官方名称往往被加上Azure,但是实际上(估计很多人不知道)Service Fabric可以安装到本地数据中心或者任意公有云上,这不官方文档就有一章专门讲如何安装到AWS的内容. 所以现在为了区分,一般把在Azure上提供的开箱即用的PaaS称之为Azure Service Fabric,而把本地安装的称之为Service Fabric Standalone. 同时,Se

安装Redis 4.0.10集群

一.安装Ruby和Remgem 1.安装rvm [Ruby Version Manager] 到网站 https://rvm.io/ 看看安装命令提示 a.[安装密钥服务器]执行 #gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB b.[安装rvm]执行 #\curl -sSL http

安装ORACLE高可用RAC集群11g校验集群安装的可行性输出信息

安装ORACLE高可用RAC集群11g校验集群安装的可行性输出信息 作者:Eric 微信:loveoracle11g [[email protected] grid]$ ./runcluvfy.sh stage -pre crsinst -fixup -n node1,node2 -verbose Performing pre-checks for cluster services setup Checking node reachability... Check: Node reachabil

Redis安装(单机及各类集群,阿里云)

Redis安装(单机及各类集群,阿里云) 前言 上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧.我看了一眼,是之前发布的<Rabbit安装(单机及集群,阿里云>.我朋友很哈皮地告诉我,我的博客被某个Java平台进行了微信推送.看到许多人阅读,并认同了我的博客,心理还是很开心的. 好了,话题收回来.这次就Redis在实际服务器中的各种安装,进行详细描述. 另外由于内容较多,并不一定能涵盖各个方面,万望见谅.如果存在什么问题,或者有什么需要添加的,请私信或@我. 最后,由于打马赛

K8s 实践 | 如何解决多租户集群的安全隔离问题?

作者 |?匡大虎? 阿里巴巴技术专家 导读:如何解决多租户集群的安全隔离问题是企业上云的一个关键问题,本文主要介绍 Kubernetes 多租户集群的基本概念和常见应用形态,以及在企业内部共享集群的业务场景下,基于 Kubernetes 原生和 ACK 集群现有安全管理能力快速实现多租户集群的相关方案. 什么是多租户集群? 这里首先介绍一下"租户",租户的概念不止局限于集群的用户,它可以包含为一组计算,网络,存储等资源组成的工作负载集合.而在多租户集群中,需要在一个集群范围内(未来可能

二进制安装kubernetes v1.11.2 (第一章 集群信息和初始化)

介绍 之前部署过单master节点的环境,并且没有启用证书.这次准备部署高可用的master节点并启用证书和部署dashboard. 一.集群环境信息 1.1 设备信息(使用virtualbox虚拟出了2个master和2个node设备) 192.168.56.20 k8s-m1 192.168.56.21 k8s-m2 192.168.56.30 k8s-n1 192.168.56.31 k8s-n2 内存不小于1G内核版本不小于 3.10.0 1.2 软件版本 kubernetes-v1.1

kubernetes 1.5 + nginxplus负载均衡 + jenkins集群 实战(一)

背景: 如题,公司要部署一套这个东东,故找了些设备部署起来看看好不好使,本人鄙陋,这个文章只做个测试参考,抛砖引玉,如有大神指教,可以加一下我的QQ,好,废话少说,开始吧! 大概步骤: 1    环境说明和配置 2    安装etcd集群 3    安装k8s并且配置 4    安装nginxplus 5    安装jenkins集群 1.环境说明 ip hostname 角色 系统 172.18.1.6 k8s-node-1 etcd-master,k8s-master centos-7.2

CentOS7.x通过kubeadmin安装部署Kubernetes1.5.2集群

(一).环境 IP地址 系统 功能 192.168.4.21 CentOS7.4 Master 192.168.4.20 CentOS7.4 node1 192.168.4.19 CentOS7.4 node2 (二).基础环境安装配置(每一台服务器都要执行) 1.关闭防火墙 [[email protected] ~]# systemctl stop firewalld [[email protected] ~]# systemctl disable firewalld 2.创建/etc/sys

Kubernetes部署(四):ETCD集群部署

手动部署ETCD集群 0.准备etcd软件包 [[email protected] k8s]# wget https://github.com/coreos/etcd/releases/download/v3.2.18/etcd-v3.2.18-linux-amd64.tar.gz [[email protected] k8s]# tar zxf etcd-v3.2.18-linux-amd64.tar.gz [[email protected] k8s]# cd etcd-v3.2.18-li