ランチャーとヘッツナーのKubernetes(写真付き)

良い一日。過去数か月間、私は相互の拷問と探索のためにkubernetesクラスターを立ち上げようとしてきました。この間、私はたくさんの異なる記事を読みました。それらの多くは良かったのですが、kuberに出会ったことがない人にはまったく不適切でした。





免責事項

この記事では、「正しく行う方法」を教えるという目標を追求するのではなく、それを機能させ、人々にさらに勉強する機会を与え、規定の年齢までにハゲや灰色にならないようにする方法を説明したいと思います。





当初、Hyper-V仮想マシンを備えた専用サーバーでクラスターを実行したかったのですが、本格的なクラスターには「ウィザードを起動してノードを接続するだけ」では不十分であることがわかりました。それでも、ネットワークプラグイン、永続ボリューム、できればある種のロードバランサーを処理します。





さらなる試みは私をヘッツナーと牧場主に導きました。





なぜヘッツナー?それらには1つの非常に重要な利点があります。hetznerの仮想サーバーの価格は次のとおりです。





そして、Mail Cloudの対応するものに:





はい、hetznerにはマネージドデータベース、キュー、s3ストレージなどはありませんが、既にあるもので十分に機能するクラスターを取得できます。その他はすべて、その中で、または隣接サーバー/専用(物理サーバー)で実行できます。仮想サーバーのプライベートネットワークに接続できます)





Rancher ( ) , , ui, .





, rancher hetzner cloud, , , .





, .





. Hetzner Cloud, , Networks, Create Network, 16 8, , .





Security -> API Tokens, Generate API Token, Read & Write:





, , :





, rancher. Servers Add Server. , Helsinki (, ). - Standart CX21 ( , ).





Network , . , ( rancher), Create & Buy now. , .





( A ) , .





ssh ( putty ssh ) rancher.





docker:





apt-get update
apt install -y docker.io
systemctl start docker
systemctl enable docker
      
      



rancher:





docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  -v /root/rancher:/var/lib/rancher \
  --privileged \
  --name rancher-server \
  rancher/rancher:latest \
  --acme-domain your.domain.com
      
      



your.domain.com , . , rancher ssl .





rancher docker

rancher (Single Node Using Docker) ,





. , , ,





, rancher .





hetzner. Tools > Drivers





Node Drivers Add Node Driver





:





linux_amd64 ( https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.3.0/docker-machine-driver-hetzner_3.3.0_linux_amd64.tar.gz) "Download Url".



UI Custom UI URL ( https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js) "Custom UI URL"





White List storage.googleapis.com





Create, . .





( > Global), "Add Cluster". Hetzner,





( Cluster Name), Prefix , etc Control Pane, Add Node Template:





API Token Hetzner ( , ).

(, ), , (CP21 ). "Use private network" .





, Add Node Pool, , Worker, ( , , , ).





, Cluster Options, Kubernetes Options, ( , .. hetzner ), Network provider - Flannel, Cloud Provider - external, "Edit as YAML".





Edit as YAML , ,





rancher_kubernetes_engine_config:





...
rancher_kubernetes_engine_config:
  ...
  addons: |-
    ---
    apiVersion: v1
    stringData:
      token: <API Token>
      network: <Network name>
    kind: Secret
    metadata:
      name: hcloud
      namespace: kube-system
    ---
    apiVersion: v1
    stringData:
      token: <API Token>
    kind: Secret
    metadata:
      name: hcloud-csi
      namespace: kube-system
  addons_include:
    - https://github.com/hetznercloud/hcloud-cloud-controller-manager/releases/latest/download/ccm-networks.yaml
    - https://raw.githubusercontent.com/hetznercloud/csi-driver/master/deploy/kubernetes/hcloud-csi.yml
...
      
      



<API Token> hetzner ( ), <Network name> , . Cloud Controller Manager Container Storage Interface driver. , kubernetes (CCM With Networks support)

- :





"Create" : rancher , . Cluster explorer ( ) . , kubernetes.





次の記事では、helm(gitlab runnerなど)を介したアプリケーションのデプロイとインストールについて説明します。






PS LoadBalancerサービスを作成する場合、それ自体で開始することはできません。あなたはその物理的な場所の場所を示す必要があります。これを行うには、[サービス]に移動し、目的のサービスで3つのポイントをクリックし、[構成の編集]> [ラベルと注釈]をクリックして、注釈を追加します。





load-balancer.hetzner.cloud/location-データセンター

load-balancer.hetzner.cloud/use-private-iptrue





PPS:ここ、デフォルトのクラスター変数にパラメーターを追加することでこれを回避できると述べいますが、これを行う方法がわかりません。








All Articles