Ota Kubernetes käyttöön Kubeadmin avulla CentOS 7:ssä

Yleiskatsaus

Tämän artikkelin tarkoituksena on auttaa sinua saamaan Kubernetes-klusterin käyntiin kubeadmin avulla hetkessä. Tässä oppaassa otetaan käyttöön kaksi palvelinta, yksi isäntä ja yksi työntekijä, mutta voit ottaa käyttöön niin monta palvelinta kuin haluat.

Mikä on kubeadm?

Kubeadm on Kubernetesin kehittämä työkalu, jonka avulla voit saada mahdollisimman vähän elinkelpoista klusteria käyttöön parhaita käytäntöjä noudattamalla. Se käynnistää vain klusterin, ei provisiokoneita. Asiat, kuten lisäosat, Kubernetes-kojelauta, valvontaratkaisut ja niin edelleen, eivät ole asioita, joita kubeadm tekee puolestasi.

Edellytykset

Palvelimille, joita otamme käyttöön, on muutamia vaatimuksia. Yksi tai useampi kone, jossa on deb/rpm-yhteensopiva käyttöjärjestelmä. Käytämme CentOS:ää.

  • 2 Gt tai enemmän RAM-muistia konetta kohden
  • 2 CPU:ta tai enemmän isäntäkoneessa

Täysi verkkoyhteys klusterin kaikkien koneiden välillä

Tässä oppaassa käyttöönotetut kaksi palvelinta ovat seuraavat: - 1 prosessori 2 Gt RAM-muistia CentOS 7:llä (Worker node) - 2 CPU 4 Gt RAM-muistia CentOS 7:llä (Master node)

Kun molemmissa palvelimissa on näin paljon RAM-muistia, Kubernetesilla on runsaasti tilaa hengittää.

Työntekijän ja päällikön konfigurointi

Tässä ovat vaiheet, jotka meidän on suoritettava sekä pää- että työntekijäsolmussa:

  • Nam päivitys ja paketit
  • Asenna telakka
  • Poista selinux käytöstä
  • Poista vaihto käytöstä
  • Poista palomuuri käytöstä
  • Päivitä IPTables
  • Asenna kubelet/kubeadm/kubectl

Dockerin asennus

Käytämme 1.14tässä opetusohjelmassa Kubernetesin versiota . Tässä versiossa Kubernetes suosittelee Docker-version käyttöä 18.06.2. Muista tarkistaa suositeltu Docker-versio Kuberenetes-versiollesi

Lisäämme Docker-arkiston yumiin ja asennamme erityisesti 18.06.2. Kun Docker on asennettu, meidän on määritettävä Docker-daemon Kubernetesin suosittelemiin asetuksiin.

###Add yum-utils, if not installed already
yum install yum-utils

###Add Docker repository.
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

###Install Docker CE.
yum update && yum install docker-ce-18.06.2.ce

###Create /etc/docker directory.
mkdir /etc/docker

###Setup daemon.
cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF

mkdir -p /etc/systemd/system/docker.service.d

###Restart Docker
systemctl daemon-reload
systemctl enable docker.service
systemctl restart docker

Poista SELinux käytöstä

Koska käytämme CentOS:ää, meidän on poistettava SELinux käytöstä. Tämä on tarpeen, jotta säilöt voivat käyttää isäntätiedostojärjestelmää.

setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disable/' /etc/selinux/config

Poista Swap käytöstä

Swap on poistettava käytöstä, jotta kubelet toimii oikein.

sed -i '/swap/d' /etc/fstab
swapoff -a

Poista palomuuri käytöstä

Kubernetes käyttää IPTablesia saapuvan ja lähtevän liikenteen käsittelemiseen - joten ongelmien välttämiseksi poistamme palomuurin käytöstä.

systemctl disable firewalld
systemctl stop firewalld

Päivitä IPTables

Kubernetes suosittelee, että varmistamme, että net.bridge.bridge-nf-call-iptablesarvo on 1. Tämä johtuu ongelmista, joissa REHL/CentOS 7:ssä on ollut ongelmia liikenteen virheellisen reitityksen kanssa iptables-ohjauksen vuoksi.

cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

Asenna kubelet/kubeadm/kubectl

Meidän on lisättävä kubernetes repo yumiin. Kun olemme tehneet sen, meidän on vain suoritettava asennuskomento ja otettava kubelet käyttöön.

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
exclude=kube*
EOF

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now kubelet

Nyt olemme täysin määrittäneet sekä isäntä- että työntekijäsolmumme. Voimme nyt alustaa pääsolmumme ja yhdistää työntekijäsolmumme isäntäsolmuun!

Huomautus Jos haluat lisätä työsolmuja, yllä oleva prosessi on suoritettava myös kaikissa näissä solmuissa.

Pääsolmun asetukset

Haluamme alustaa pääsolmumme suorittamalla seuraavan komennon. Haluat korvata pääsolmusi IP-osoitteen alla olevassa komennossa. Lisäksi välitämme pod-network-cidrin, jotta meidän olisi helpompi myöhemmin asentaa Flannel-verkkopeitto.

kubeadm init --apiserver-advertise-address=YOUR_IP_HERE --pod-network-cidr=10.244.0.0/16

Tämä saattaa kestää hetken, mutta kun se on valmis, näet jotain vastaavaa tulosteen lopussa, kuten seuraava.

kubeadm join YOUR_IP:6443 --token 4if8c2.pbqh82zxcg8rswui \
--discovery-token-ca-cert-hash sha256:a0b2bb2b31bf7b06bb5058540f02724240fc9447b0e457e049e59d2ce19fcba2

Tämä komento on se, mitä työntekijäsolmujen on suoritettava liittyäkseen klusteriin, joten huomioi se.

Seuraavaksi tulee flanelli. Flanelli on se, mikä mahdollistaa podin välisen viestinnän. Voit asentaa useita muita verkkopeittotyyppejä, mutta yksinkertaisuuden vuoksi tässä oppaassa käytetään flanellia.

Kopioi kube/configtiedosto omallesi, $Homejotta voit suorittaa kubectlkomentoja.

mkdir $HOME/.kube
cp /etc/kubernetes/admin.conf $HOME/.kube/config

Yksi pääsolmun viimeinen vaihe on Flannelin asentaminen. Suorita seuraava komento.

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Kun tämä konfiguraatio on kopioitu, voit ajaa kubectl get csja saada vastauksen.

NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok
controller-manager   Healthy   ok
etcd-0               Healthy   {"health":"true"}

Pääsolmu on asetettu ja valmis käyttöön. Työntekijäsolmulle!

Työntekijäsolmu

Tässä vaiheessa työntekijäsolmulle ei tarvitse tehdä ylimääräistä työtä. Meidän tarvitsee vain suorittaa tulosteesta kubeadm joinsaamamme komento kubeadm init.

Jos olet vahingossa sijoittanut kubeadm join -komennon väärin, voit luoda uuden komennon pääsolmuun suorittamalla kubeadm token create --print-join-command

Kun suoritat kubeadm join -komennon, jos suoritat kubectl get nodesmaster- sovelluksessa, näet samanlaisen tulosteen kuin seuraava.

NAME          STATUS   ROLES    AGE    VERSION
k8-master   Ready    master   107m   v1.14.2
k8-worker   Ready    <none>   45m    v1.14.2

Käärimistä

Samalla tavalla olet käynnistänyt Kubernetes-klusterin kubeadmin avulla. Voit tehdä tämän myös yksityisten verkkojen kanssa. Vultr, samoin kuin muut pilvipalveluntarjoajat, mahdollistavat yksityiset verkot. Lisäksi, jos haluat suorittaa kubectl-komentoja paikalliselta koneeltasi klusteria vastaan, voit suorittaa tämän asentamalla kubectlin paikallisesti ja vetämällä .kube/configtiedoston klusterista paikalliseen koneellesi $HOME/.kube/config.

Toivottavasti tämä opas auttaa sinua kulkemaan kubeadmin läpi ja saa sinut pelaamaan kubernetesillä nopeasti!

Hyödyllisiä linkkejä:


Asenna Plesk CentOS 7:ään

Asenna Plesk CentOS 7:ään

Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ​​ja/tai asiakkaidensa verkkosivustoja, tietokantoja

Kuinka asentaa Squid Proxy CentOS:ään

Kuinka asentaa Squid Proxy CentOS:ään

Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas

Apache Cassandra 3.11.x:n asentaminen CentOS 7:ään

Apache Cassandra 3.11.x:n asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.

Kuinka asentaa Microweber CentOS 7:ään

Kuinka asentaa Microweber CentOS 7:ään

Käytätkö erilaista järjestelmää? Microweber on avoimen lähdekoodin vedä ja pudota sisällönhallintajärjestelmä ja verkkokauppa. Microweber-lähdekoodia isännöidään GitHubissa. Tämä opas näyttää sinulle

Mattermost 4.1:n asentaminen CentOS 7:ään

Mattermost 4.1:n asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Mattermost on avoimen lähdekoodin itseisännöity vaihtoehto Slack SAAS -viestipalvelulle. Toisin sanoen Mattermostin avulla voit noin

Minecraft-palvelinverkon luominen BungeeCordilla Debian 8:ssa, Debian 9:ssä tai CentOS 7:ssä

Minecraft-palvelinverkon luominen BungeeCordilla Debian 8:ssa, Debian 9:ssä tai CentOS 7:ssä

Mitä tarvitset Vultr VPS:n, jossa on vähintään 1 Gt RAM-muistia. SSH-käyttö (pääkäyttäjän/järjestelmänvalvojan oikeuksilla). Vaihe 1: BungeeCordin asentaminen Ensimmäiset asiat ensin

Sallii salauksen Pleskissä

Sallii salauksen Pleskissä

Plesk-ohjauspaneelissa on erittäin mukava integraatio Lets Encryptille. Lets Encrypt on yksi ainoista SSL-palveluntarjoajista, jotka myöntävät varmenteita täydellisesti

Sallii salauksen cPanelissa

Sallii salauksen cPanelissa

Lets Encrypt on varmenneviranomainen, joka on omistautunut tarjoamaan SSL-varmenteita ilmaiseksi. cPanel on rakentanut siistin integraation sinulle ja asiakkaallesi

Kuinka asentaa Concrete5 CentOS 7:ään

Kuinka asentaa Concrete5 CentOS 7:ään

Käytätkö erilaista järjestelmää? Concrete5 on avoimen lähdekoodin sisällönhallintajärjestelmä, joka tarjoaa monia ainutlaatuisia ja hyödyllisiä ominaisuuksia, jotka auttavat toimittajia tuottamaan sisältöä helposti ja helposti.

Review Boardin asentaminen CentOS 7:ään

Review Boardin asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Review Board on ilmainen ja avoimen lähdekoodin työkalu lähdekoodin, dokumentaation, kuvien ja monien muiden tarkistamiseen. Se on web-pohjainen ohjelmisto

Asenna HTTP-todennus Nginxillä CentOS 7:ssä

Asenna HTTP-todennus Nginxillä CentOS 7:ssä

Tässä oppaassa opit määrittämään HTTP-todennuksen Nginx-verkkopalvelimelle, joka toimii CentOS 7:ssä. Vaatimukset Aloitaksesi tarvitset

Kuinka asentaa YOURLS CentOS 7:ään

Kuinka asentaa YOURLS CentOS 7:ään

YOURLS (Your Own URL Shortener) on avoimen lähdekoodin URL-osoitteiden lyhennys- ja data-analytiikkasovellus. Tässä artikkelissa käsittelemme asennusprosessia

Kuinka asentaa ja määrittää ArangoDB CentOS 7: ssä

Kuinka asentaa ja määrittää ArangoDB CentOS 7: ssä

Käytätkö erilaista järjestelmää? Johdanto ArangoDB on avoimen lähdekoodin NoSQL-tietokanta, jossa on joustava tietomalli asiakirjoille, kaavioille ja avainarvoille. se on

Etckeeperin käyttäminen /etc-version hallintaan

Etckeeperin käyttäminen /etc-version hallintaan

Johdanto /etc/-hakemistolla on tärkeä rooli Linux-järjestelmän toiminnassa. Syynä tähän on se, että lähes kaikki järjestelmäkokoonpanot

Miksi sinun pitäisi käyttää SSHFS:ää? Kuinka asentaa etätiedostojärjestelmä SSHFS:llä CentOS 6:ssa

Miksi sinun pitäisi käyttää SSHFS:ää? Kuinka asentaa etätiedostojärjestelmä SSHFS:llä CentOS 6:ssa

Monet järjestelmänvalvojat hallitsevat suuria määriä palvelimia. Kun tiedostoja on käytettävä eri palvelimien kautta, kirjaudu jokaiseen erikseen n

Half Life 2 -palvelimen määrittäminen CentOS 6:lle

Half Life 2 -palvelimen määrittäminen CentOS 6:lle

Tämä opetusohjelma kattaa Half Life 2 -pelipalvelimen asennuksen CentOS 6 -järjestelmään. Vaihe 1: Edellytysten asentaminen Voit määrittää ou

Kuinka asentaa Laravel GitScrum CentOS 7:ään

Kuinka asentaa Laravel GitScrum CentOS 7:ään

Laravel GitScrum tai GitScrum on avoimen lähdekoodin tuottavuustyökalu, joka on suunniteltu auttamaan kehitysryhmiä ottamaan käyttöön Scrum-metodologian samalla tavalla.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja