7

Google Opensource, Kubernetes . , Rkt.

   Kubernetes  CentOS 7

Kubernetes Minions. , .

, Kubernetes, . Minikube - , K ubernetes .

Kubernetes Linux CentOS 7. .


  1. Centos 7 (1 , 2 ). , 2 , .
  2. . Kubernetes . , , yum .
  3. sudo root. root.

3- :

3-

Kubernetes

Kubernetes . docker, .

.

1: , SELinux

, DNS-, /etc/hosts.

# hostnamectl set-hostname master-node
# cat <<EOF>> /etc/hosts
10.128.0.27 master-node
10.128.0.29 node-1 worker-node-1
10.128.0.30 node-2 worker-node-2
EOF

1 2, ping.

# ping 10.128.0.29
# ping 10.128.0.30

SElinux .

# setenforce 0
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
# reboot

. , firewall-cmd .

# firewall-cmd --permanent --add-port=6443/tcp
# firewall-cmd --permanent --add-port=2379-2380/tcp
# firewall-cmd --permanent --add-port=10250/tcp
# firewall-cmd --permanent --add-port=10251/tcp
# firewall-cmd --permanent --add-port=10252/tcp
# firewall-cmd --permanent --add-port=10255/tcp
# firewall-cmd reload
# modprobe br_netfilter
# echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables

2: Kubernetes Repo

Kubernetes, CentOS 7.

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

3: Kubeadm Docker

, repo , kubeadm docker .

# yum install kubeadm docker -y 

.

# systemctl enable kubelet
# systemctl start kubelet
# systemctl enable docker
# systemctl start docker

4: Kubernetes Master

Kubernetes Master, swap, kubeadm init.

# swapoff a

Kubernetes master - , kubeadm init, .

# kubeadm init
kubeadm init
Kubernetes master

, , .

kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5  \ --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41 
: (args), , . , \, --token, .
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5  --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41

Kubernetes . root, . sudo, , sudo.

root, :

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

sudo, :

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

, kubectl.

# kubectl get nodes
kubectl get node

, NotReady. , .

Pod Network - , . .

5:

. , Weavenet, , IP- , . .

.

# export kubever=$(kubectl version | base64 | tr -d '\n')
# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
export kubever

, , "Ready"

# kubectl get nodes
kubectl get nodes

.


Kubernetes

. Kubernetes.

1: , SELinux

-1 -2 , DNS-, /etc/hosts.

# hostnamectl set-hostname 'node-1'
# cat <<EOF>> /etc/hosts
10.128.0.27 master-node
10.128.0.29 node-1 worker-node-1
10.128.0.30 node-2 worker-node-2
EOF

ping master-node .

SElinux .

# setenforce 0
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

. , firewall-cmd .

# firewall-cmd --permanent --add-port=6783/tcp
# firewall-cmd --permanent --add-port=10250/tcp
# firewall-cmd --permanent --add-port=10255/tcp
# firewall-cmd --permanent --add-port=30000-32767/tcp
# firewall-cmd  --reload
# echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables

2: Kubernetes Repo

Kubernetes , CentOS 7.

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

3: Kubeadm Docker

, repo , kubeadm docker .

# yum install kubeadm docker -y 

.

# systemctl enable docker
# systemctl start docker
# systemctl enable kubelet
# systemctl start kubelet

4:

, kubeadm init. 1 2, .

# kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5  --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41 
kubeadm join

, , 1 2 .

# kubectl get nodes
DevOps

, 1 2 .

Kubernetes Centos 7 . .


50% Merion Academy