systemctl stop firewalld && systemctl disable firewalld
yum install -y epel-release
# 安装docker
yum install -y git vim lrzsz epel-release yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker && systemctl enable docker
##docker 阿里云加速器
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload && systemctl restart docker
##单机管理 portainer
docker run --restart always --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -d portainer/portainer
- docker远程访问
vim /usr/lib/systemd/system/docker.service
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
systemctl daemon-reload && systemctl restart docker
# kubernetes安装
## 系统环境配置
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
setenforce 0
###关闭内存交换
swapoff -a
##国内源(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
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
## kubeadm config images list(翻墙下载,提前下载镜像)
k8s.gcr.io/kube-apiserver:v1.12.2
k8s.gcr.io/kube-controller-manager:v1.12.2
k8s.gcr.io/kube-scheduler:v1.12.2
k8s.gcr.io/kube-proxy:v1.12.2
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.2
quay.io/coreos/flannel:v0.10.0-amd64
k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0
## 初始化master
kubeadm init --kubernetes-version=v1.12.2 --ignore-preflight-errors=Swap --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=0.0.0.0
kubeadm join 10.0.7.247:6443 --token qvdmn7.hzxketyby9c75f2q --discovery-token-ca-cert-hash sha256:62939a125b1f7c99230022ac0b25120bd96d50e9e71d34a9e46e19051cfe1075 --ignore-preflight-errors=Swap
## 安装flannel,仅在master节点上操作
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
## dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
创建登陆账号
kubectl create -f account.yaml
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
https://10.0.7.247:30000
## 客户端软件:https://kubernetic.com
把master节点 .kube/config 放到 C:\Users\用户名\.kube 目录下,打开kubernetic即可
## heapster
mkdir heapster && cd heapster
wget https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/influxdb/grafana.yaml
wget https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/influxdb/heapster.yaml
wget https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/influxdb/influxdb.yaml
wget https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/rbac/heapster-rbac.yaml
kubectl create -f heapster/
## 集群操作
### 查看节点
kubectl get nodes
### 查看pods
kubectl get svc,pod --all-namespaces -o wide
kubectl get svc --namespace kube-system
### 查看pods信息
kubectl describe pods kube-flannel-ds-sr6tq -n kube-system
### 查看日志
journalctl -f -u kubelet
### token
kubeadm token list
### 生成token
kubeadm token create --print-join-command
###配置文件
/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf