【心得】CentOS 7 使用 Yum 部署 Kubernetes 1.5 集群:简明教程

图片[1]-CentOS 7 使用 Yum 部署 Kubernetes 1.5 集群:简明教程-山海云端论坛

1. 环境介绍及准备

1.1 操作系统

  • CentOS 7.3 64位
  • 内核版本:3.10.0-514.6.1.el7.x86_64

1.2 主机信息

节点及功能主机名IP
kube-apiserver、…K8s-master10.0.251.148
kubelet、kubeprox…K8s-node-110.0.251.153
kubelet、kubeprox…K8s-node-210.0.251.155

设置主机名:

hostnamectl --static set-hostname k8s-master hostnamectl --static set-hostname k8s-node-1 hostnamectl --static set-hostname k8s-node-2

在每台机器上设置hosts:

echo '10.0.251.148 k8s-master 10.0.251.148 etcd 10.0.251.148 registry 10.0.251.153 k8s-node-1 10.0.251.155 k8s-node-2' >> /etc/hosts

1.3 关闭防火墙

systemctl disable firewalld.service systemctl stop firewalld.service

2. 部署etcd

安装etcd:

yum install etcd -y

编辑etcd配置文件 /etc/etcd/etcd.conf

vi /etc/etcd/etcd.conf

修改配置:

ETCD_NAME=master ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001" ETCD_ADVERTISE_CLIENT_URLS="http://etcd:2379,http://etcd:4001"

启动并验证状态:

systemctl start etcd etcdctl set testdir/testkey0 0 etcdctl get testdir/testkey0 etcdctl -C http://etcd:4001 cluster-health etcdctl -C http://etcd:2379 cluster-health

3. 部署master

3.1 安装Docker

yum install docker

配置Docker配置文件 /etc/sysconfig/docker

vim /etc/sysconfig/docker

修改配置:

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry registry:5000'

设置开机自启动并启动服务:

chkconfig docker on service docker start

3.2 安装Kubernetes

配置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 setenforce 0 yum install kubernetes

3.3 配置并启动Kubernetes

3.3.1 /etc/kubernetes/apiserver

vim /etc/kubernetes/apiserver

修改配置:

KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" KUBE_API_PORT="--port=8080" KUBE_ETCD_SERVERS="--etcd-servers=http://etcd:2379" KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"

3.3.2 /etc/kubernetes/config

vim /etc/kubernetes/config

修改配置:

KUBE_LOGTOSTDERR="--logtostderr=true" KUBE_LOG_LEVEL="--v=0" KUBE_ALLOW_PRIV="--allow-privileged=false" KUBE_MASTER="--master=http://k8s-master:8080"

启动服务并设置开机自启动:

systemctl enable kube-apiserver.service systemctl start kube-apiserver.service systemctl enable kube-controller-manager.service systemctl start kube-controller-manager.service systemctl enable kube-scheduler.service systemctl start kube-scheduler.service

4. 部署node

4.1 安装Docker

(略)

4.2 安装Kubernetes

(略)

4.3 配置并启动Kubernetes

4.3.1 /etc/kubernetes/config

vim /etc/kubernetes/config

修改配置:

KUBE_LOGTOSTDERR="--logtostderr=true" KUBE_LOG_LEVEL="--v=0" KUBE_ALLOW_PRIV="--allow-privileged=false" KUBE_MASTER="--master=http://k8s-master:8080"

4.3.2 /etc/kubernetes/kubelet

vim /etc/kubernetes/kubelet

修改配置:

KUBELET_ADDRESS="--address=0.0.0.0" KUBELET_HOSTNAME="--hostname-override=k8s-node-1" KUBELET_API_SERVER="--api-servers=http://k8s-master:8080" KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"

启动服务并设置开机自启动:

systemctl enable kubelet.service systemctl start kubelet.service systemctl enable kube-proxy.service systemctl start kube-proxy.service

4.4 查看状态

在master上查看集群中节点及节点状态:

kubectl -s http://k8s-master:8080 get node

5. 创建覆盖网络——Flannel

5.1 安装Flannel

yum install flannel

5.2 配置Flannel

编辑配置文件 /etc/sysconfig/flanneld

vi /etc/sysconfig/flanneld

修改配置:

FLANNEL_ETCD_ENDPOINTS="http://etcd:2379" FLANNEL_ETCD_PREFIX="/kube-centos/network" FLANNEL_OPTIONS="--iface=eth0"

启动Flannel并设置开机自启动:

systemctl enable flanneld systemctl start flanneld

在每个节点上重启kubelet:

systemctl restart kubelet

5.3 检查状态

在master上运行以下命令检查Flannel状态:

kubectl -s http://k8s-master:8080 get pods --all-namespaces

6. 部署Dashboard

6.1 下载Dashboard配置文件

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

6.2 修改Dashboard配置文件

vim recommended.yaml

在 Service 部分添加以下内容:

type: NodePort nodePort: 30001 selector: k8s-app: kubernetes-dashboard

6.3 部署Dashboard

kubectl -s http://k8s-master:8080 apply -f recommended.yaml

6.4 访问Dashboard

通过浏览器访问:http://k8s-node-1:30001,使用Token登录。可以通过以下命令获取Token:

kubectl -s http://k8s-master:8080 -n kubernetes-dashboard describe secret $(kubectl -s http://k8s-master:8080 -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

7. 安装kubectl

yum install kubectl

8. 部署Nginx

8.1 创建Nginx Deployment

kubectl -s http://k8s-master:8080 create deployment nginx --image=nginx

8.2 暴露Nginx服务

kubectl -s http://k8s-master:8080 expose deployment nginx --port=80 --type=NodePort

8.3 查看Nginx服务

kubectl -s http://k8s-master:8080 get service nginx

可以通过访问任一Node的IP和NodePort查看Nginx欢迎页面。

至此,Kubernetes集群已经部署完成。

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值