<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Argocd on kkato.dev</title>
    <link>https://kkato.dev/tags/argocd/</link>
    <description>Recent content in Argocd on kkato.dev</description>
    <image>
      <title>kkato.dev</title>
      <url>https://kkato.dev/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://kkato.dev/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo -- 0.146.0</generator>
    <language>en</language>
    <lastBuildDate>Sun, 01 Mar 2026 13:27:12 +0900</lastBuildDate>
    <atom:link href="https://kkato.dev/tags/argocd/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Cloudflare Tunnelを使っておうちk8sクラスタにアクセスする</title>
      <link>https://kkato.dev/posts/cloudflare-tunnel/</link>
      <pubDate>Sun, 01 Mar 2026 13:27:12 +0900</pubDate>
      <guid>https://kkato.dev/posts/cloudflare-tunnel/</guid>
      <description>&lt;p&gt;Cloudflare Tunnelを使うと、パブリックIPやポート開放なしにKubernetesクラスタ上のサービスをインターネットに公開できます。
今回はCloudflare Tunnelの作成から、cloudflare-tunnel-ingress-controllerを使ってKubernetesのIngressリソースで自動的にトンネル経由の公開を行う設定までをまとめました。&lt;/p&gt;
&lt;h3 id=&#34;cloudflare-tunnelの仕組み&#34;&gt;Cloudflare Tunnelの仕組み&lt;/h3&gt;
&lt;p&gt;通常、クラスタ内のサービスを外部に公開するにはパブリックIPの取得やルーターのポート開放が必要です。Cloudflare Tunnelを使うとクラスタ側からCloudflareへアウトバウンド接続を張るだけで、Cloudflare経由で外部からのアクセスを受けられるようになります。&lt;/p&gt;
&lt;p&gt;cloudflare-tunnel-ingress-controllerを使うと、KubernetesのIngressリソースを作成するだけで自動的にCloudflare Tunnelのルーティングが設定されます。通常のIngress Controllerと同じ使い勝手でトンネル経由の公開が可能です。&lt;/p&gt;
&lt;h3 id=&#34;cloudflare-tunnelの作成&#34;&gt;Cloudflare Tunnelの作成&lt;/h3&gt;
&lt;p&gt;Cloudflareダッシュボードからトンネルを作成します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ネットワーク &amp;gt; Tunnels&lt;/strong&gt; に移動し、「トンネルを作成」をクリックします。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://kkato.dev/images/cloudflare-tunnel/create-cloudflare-tunnel1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;トンネル名を入力します。ここでは &lt;code&gt;kkato.app&lt;/code&gt; としました。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://kkato.dev/images/cloudflare-tunnel/create-cloudflare-tunnel2.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;トンネルが作成されると、環境のセットアップ画面が表示されます。ここに表示されるトンネルトークンを後ほど使います。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://kkato.dev/images/cloudflare-tunnel/create-cloudflare-tunnel3.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;作成が完了するとトンネルの概要が表示されます。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://kkato.dev/images/cloudflare-tunnel/create-cloudflare-tunnel4.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;cloudflare-apiトークンの作成&#34;&gt;Cloudflare APIトークンの作成&lt;/h3&gt;
&lt;p&gt;cloudflare-tunnel-ingress-controllerがCloudflare APIを操作するためのトークンを作成します。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://dash.cloudflare.com/profile/api-tokens&#34;&gt;Cloudflareダッシュボード&lt;/a&gt;のAPIトークンページにアクセスし、「Create Token」から「Create Custom Token」を選択します。&lt;/p&gt;
&lt;p&gt;以下の権限を設定します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Account&lt;/strong&gt; / &lt;strong&gt;Cloudflare Tunnel&lt;/strong&gt; / &lt;strong&gt;Edit&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Zone&lt;/strong&gt; / &lt;strong&gt;DNS&lt;/strong&gt; / &lt;strong&gt;Edit&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;シークレットをgcp-secret-managerに登録&#34;&gt;シークレットをGCP Secret Managerに登録&lt;/h3&gt;
&lt;p&gt;External Secrets Operatorを使ってGCP Secret ManagerからKubernetesのSecretを自動生成する構成にしています。以下の3つのシークレットを登録します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; -n &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;your-api-token&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; gcloud secrets create cloudflare-api-token --data-file&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; -n &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;your-account-id&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; gcloud secrets create cloudflare-account-id --data-file&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; -n &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;your-tunnel-name&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; gcloud secrets create cloudflare-tunnel-name --data-file&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;アカウントIDはCloudflareダッシュボードのURLやトンネルトークンのデコード結果から確認できます。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Argo CDをインストールしてみた</title>
      <link>https://kkato.dev/posts/argocd/</link>
      <pubDate>Fri, 20 Feb 2026 11:00:00 +0900</pubDate>
      <guid>https://kkato.dev/posts/argocd/</guid>
      <description>&lt;p&gt;Argo CDはKubernetes向けのGitOpsツールで、Gitリポジトリに置いたマニフェストをクラスタに自動で反映してくれます。
今回はHelmを使ってArgo CDをインストールし、リポジトリの接続からApplicationの作成までを試してみました。&lt;/p&gt;
&lt;h3 id=&#34;argo-cdのインストール&#34;&gt;Argo CDのインストール&lt;/h3&gt;
&lt;p&gt;Helm Chartリポジトリを追加します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;helm repo add argo https://argoproj.github.io/argo-helm
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;helm repo update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;argocd&lt;/code&gt; namespaceにインストールします。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;helm install argocd argo/argo-cd &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  --namespace argocd &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  --create-namespace &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  --version 7.8.13
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Podが正常に起動していることを確認します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl get pods -n argocd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;argo-cd-uiにアクセスする&#34;&gt;Argo CD UIにアクセスする&lt;/h3&gt;
&lt;p&gt;port-forwardでArgo CDのUIにアクセスできます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl port-forward svc/argocd-server -n argocd 8080:443
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ブラウザで &lt;code&gt;http://localhost:8080&lt;/code&gt; にアクセスします。&lt;/p&gt;
&lt;p&gt;初期パスワードは以下のコマンドで取得できます。ユーザー名は&lt;code&gt;admin&lt;/code&gt;です。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n argocd get secret argocd-initial-admin-secret -o &lt;span class=&#34;nv&#34;&gt;jsonpath&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;{.data.password}&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; base64 -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://kkato.dev/images/argocd/login.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;gitリポジトリを接続する&#34;&gt;Gitリポジトリを接続する&lt;/h3&gt;
&lt;p&gt;Argo CDがGitリポジトリからマニフェストを取得するために、リポジトリの接続設定が必要です。&lt;/p&gt;
&lt;h4 id=&#34;ssh鍵の作成&#34;&gt;SSH鍵の作成&lt;/h4&gt;
&lt;p&gt;Argo CD専用のSSH鍵を作成します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh-keygen -t ed25519 -f ~/.ssh/argocd -C &lt;span class=&#34;s2&#34;&gt;&amp;#34;argocd&amp;#34;&lt;/span&gt; -N &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;githubにdeploy-keyを登録&#34;&gt;GitHubにDeploy Keyを登録&lt;/h4&gt;
&lt;p&gt;生成した公開鍵をリポジトリのDeploy Keyとして登録します。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
