1.kubernetesのkubeadmin導入環境01

4136 ワード

Dockerの事前学習:https://www.jianshu.com/c/961f67f48e81公式ドキュメント:https://kubernetes.io/docs/setup/independent/install-kubeadm/
kubeadminでインストール
1.ハードウェア構成:
#2 cpu   ,8G          :https://www.kubernetes.org.cn/doc-16

k8s-master1:192.168.199.130
k8s-node1: 192.168.199.131
k8s-node2: 192.168.199.132

####  master node   
#k8s-node1,k8s-node2  :
mkdir -p ~/.ssh

#k8s-master1  :
ssh-keygen
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys k8s-node1:~/.ssh/
scp ~/.ssh/authorized_keys k8s-node2:~/.ssh/


2.全ての機器が行う初期化操作
#            ,    
setterm -blank 0

#  selinux    ,      
setenforce 0
vim /etc/selinux/config
   
SELINUX=disabled

systemctl stop firewalld
systemctl disable firewalld

#  hosts
vim /etc/hosts
192.168.199.130   k8s-master1
192.168.199.131   k8s-node1
192.168.199.132   k8s-node2
systemctl restart network  #      

#    swap, 
swapoff -a
vim /etc/fstab  #   swap     

#  aliyun yum  k8s 
yum install -y wget
cd /etc/yum.repos.d/
tar -cvf bak.tgz *
rm -rf CentOS-*
wget  http://mirrors.aliyun.com/repo/Centos-7.repo
mv Centos-7.repo CentOS-Base.repo
wget https://mirrors.aliyun.com/repo/epel-7.repo

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

yum clean all
yum makecache
yum update


#      
cat </etc/sysctl.d/k8s.conf
vm.swappiness=0     
net.bridge.bridge-nf-call-ip6tables = 1     
net.bridge.bridge-nf-call-iptables = 1          
net.ipv4.ip_forward = 1
EOF
#       
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf

#      
yum install -y bash-completion
echo 'source > /etc/profile
source /etc/profile

#  docker            
yum install -y docker
sudo tee /etc/docker/daemon.json < /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false --runtime-cgroups=/lib/systemd/system/kubelet.service --kubelet-cgroups=/lib/systemd/system/kubelet.service" 
EOF

#    
systemctl restart docker
systemctl restart kubelet
systemctl enable kubelet

#        
systemctl is-active kubelet


k 8 s-master 1で実行
#kubeadm    
kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16

#        
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

#  flannel   ,    :https://v1-11.docs.kubernetes.io/docs/setup/
#   kube-flannel.yml       kubeadm        ,    
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml



k 8 s-node 1,k 8 s-node 2で実行
#master      taken
[root@k8s-master1 /]# kubeadm token create --print-join-command
kubeadm join 192.168.199.130:6443 --token 56dm7f.qcswziskyrs6h2b0 --discovery-token-ca-cert-hash sha256:38328747d17b4bff37ce5f9982c41ecdb54892f41465be46cdc10ab743ecf83d

#k8s-node1,k8s-node2        ,    k8s-master1
 kubeadm join 192.168.199.130:6443 --token p8ymwx.flsbhmoep3giidlb --discovery-token-ca-cert-hash sha256:38328747d17b4bff37ce5f9982c41ecdb54892f41465be46cdc10ab743ecf83d


以上のコマンドを実行します.
#master     
[root@k8s-master1 /]# kubectl get nodes
NAME          STATUS    ROLES     AGE       VERSION
k8s-master1   Ready     master    1h        v1.11.1
k8s-node1     Ready         1m        v1.11.1
k8s-node2     Ready         1m        v1.11.1

#      
[root@k8s-master1 /]# kubectl get cs
NAME                 STATUS    MESSAGE              ERROR
controller-manager   Healthy   ok                   
scheduler            Healthy   ok                   
etcd-0               Healthy   {"health": "true"}   



環境の再配置
#master   node                
kubeadm reset
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
rm -rf /var/lib/cni/