基于yum 安装 可以参考上一篇文章yum源配置 
节点: 
master: 10.10.1.104 
node1: 10.10.1.105 
node2: 10.10.1.106

一 初始化 所有节点操作 
cat /etc/hosts

10.10.1.104 master 

10.10.1.105 node1 

10.10.1.106 node2

61.91.161.217 google.com 
61.91.161.217 gcr.io 
61.91.161.217 www.gcr.io 
61.91.161.217 console.cloud.google.com 
61.91.161.217 storage.googleapis.com

vi /etc/selinux/config 
SELINUX=permissive 
setenforce 0

systemctl stop firewalld 
systemctl disable firewalld

二 安装kubernetes 
yum -y install kubernetes etcd flannel 所有节点

配置下Docker 
cat /usr/lib/systemd/system/docker.service

[Unit] 
Description=Docker Application Container Engine 
Documentation=http://docs.docker.com 
After=network.target docker-containerd.service 
Wants=docker-storage-setup.service 
Requires=docker-containerd.service rhel-push-plugin.socket

[Service] 
Type=notify 
EnvironmentFile=-/etc/sysconfig/docker 
EnvironmentFile=-/etc/sysconfig/docker-storage 
EnvironmentFile=-/etc/sysconfig/docker-network 
Environment=GOTRACEBACK=crash 
ExecStart=/usr/bin/dockerd-current \ 
–add-runtime oci=/usr/libexec/docker/docker-runc-current \ 
–log-driver=syslog \ 
–default-runtime=oci \ 
–registry-mirror=https://8l5bep5r.mirror.aliyuncs.com \ 
–authorization-plugin=rhel-push-plugin \ 
–containerd /run/containerd.sock \ 
–exec-opt native.cgroupdriver=systemd \ 
–userland-proxy-path=/usr/libexec/docker/docker-proxy-current \

ExecReload=/bin/kill -s HUP $MAINPID 
LimitNOFILE=1048576 
LimitNPROC=1048576 
LimitCORE=infinity 
TimeoutStartSec=0 
Restart=on-abnormal

[Install] 
WantedBy=multi-user.target

vi /etc/sysconfig/docker 
OPTIONS=’–selinux-enabled –log-driver=journald –graph=/data/env/docker –insecure-registry 私有仓库地址

mkdir -p /data/env/docker 
systemctl enable docker && systemctl restart docker 
systemctl status docker

三 配置kubernetes 
所有节点配置 
vi /etc/kubernetes/config 
KUBE_ETCD_SERVERS=”–etcd-servers=http://10.10.1.104:2379” 
KUBE_LOGTOSTDERR=”–logtostderr=true” 
KUBE_LOG_DIR=”–log-dir=/data/logs/kubernetes” 
KUBE_LOG_LEVEL=”–v=1” 
KUBE_ALLOW_PRIV=”–allow-privileged=false” 
KUBE_MASTER=”–master=http://10.10.1.104:8080

master 配置: 
vi /etc/etcd/etcd.conf

[member] 
ETCD_NAME=default 
ETCD_DATA_DIR=”/var/lib/etcd/default.etcd” 
ETCD_LISTEN_CLIENT_URLS=”http://0.0.0.0:2379

[cluster] 
ETCD_ADVERTISE_CLIENT_URLS=”http://0.0.0.0:2379

vi /etc/kubernetes/apiserver

KUBE_API_ADDRESS=”–address=0.0.0.0” 
KUBE_ETCD_SERVERS=”–etcd-servers=http://10.10.1.104:2379” 
KUBE_SERVICE_ADDRESSES=”–service-cluster-ip-range=10.254.0.0/16” 
KUBE_ADMISSION_CONTROL=”–admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota”

KUBE_API_ARGS=”“

systemctl start etcd 
etcdctl mkdir /kube-centos/network 
etcdctl mk /kube-centos/network/config “{ \”Network\”: \”172.20.0.0/16\”, \”SubnetLen\”: 24, \”Backend\”: { \”Type\”: \”vxlan\” } }”

vi /etc/sysconfig/flanneld 
FLANNEL_ETCD_ENDPOINTS=”http://10.10.1.104:2379” 
FLANNEL_ETCD_PREFIX=”/kube-centos/network”

systemctl restart etcd kube-apiserver kube-controller-manager kube-scheduler   flanneld
systemctl enable etcd kube-apiserver kube-controller-manager kube-scheduler   flanneld

node 节点配置 
vi /etc/kubernetes/kubelet 
KUBELET_ADDRESS=”–address=0.0.0.0” 
KUBELET_HOSTNAME=”–hostname-override=node1” 
KUBELET_API_SERVER=”–api-servers=http://10.10.1.104:8080” 
KUBELET_ARGS=”“ 
vi /etc/sysconfig/flanneld 
FLANNEL_ETCD_ENDPOINTS=”http://10.10.1.104:2379” 
FLANNEL_ETCD_PREFIX=”/kube-centos/network”

systemctl restart kube-proxy kubelet flanneld docker
systemctl enable kube-proxy kubelet flanneld docker

ps -ef | grep kube

master 操作

kubectl cluster-info 
kubectl get nodes 
NAME STATUS AGE 
node1 Ready 45d 
node2 Ready 45d

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐